From 34fa1a3f8ff37ba07dc6b58e3d8166a7001cc889 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Fri, 11 Oct 2024 16:17:31 +0200 Subject: [PATCH 1/7] Bump to 130.0.6723.44 --- build/RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/RELEASE b/build/RELEASE index 34ea3617..f3c8203e 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -129.0.6668.101 \ No newline at end of file +130.0.6723.44 \ No newline at end of file From 8b655a292a505c4d4455cd5b3313b28a8e52a9bb Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 12 Oct 2024 13:05:30 +0200 Subject: [PATCH 2/7] Patches for v130 (#1547) --- build/cromite_patches_list.txt | 1 - .../AImageReader-CFI-crash-mitigations.patch | 4 +- .../Add-AllowUserCertificates-flag.patch | 16 +- .../Add-IsCleartextPermitted-flag.patch | 2 +- ...tialLowEndModeOnMidRangeDevices-flag.patch | 2 +- .../Add-a-flag-to-disable-GamePad-API.patch | 10 +- .../Add-a-proxy-configuration-page.patch | 54 +-- .../Add-an-always-incognito-mode.patch | 120 +++---- .../Add-bookmark-import-export-actions.patch | 78 ++--- build/patches/Add-cromite-flags-support.patch | 208 ++++++----- ...dd-custom-tab-intents-privacy-option.patch | 24 +- build/patches/Add-exit-menu-item.patch | 104 +++--- ...g-for-omnibox-autocomplete-filtering.patch | 2 +- .../Add-flag-to-disable-IPv6-probes.patch | 4 +- ...-to-disable-external-intent-requests.patch | 4 +- .../Add-flag-to-disable-vibration.patch | 2 +- ...-switch-for-unsupported-clangd-flags.patch | 4 +- ...Add-lifetime-options-for-permissions.patch | 48 +-- .../Add-menu-item-to-bookmark-all-tabs.patch | 16 +- .../Add-menu-item-to-view-source.patch | 22 +- .../Add-option-to-disable-snapshots.patch | 30 +- .../Add-option-to-force-tablet-UI.patch | 58 ++- ...-to-not-persist-tabs-across-sessions.patch | 20 +- .../Add-option-to-use-home-page-as-NTP.patch | 26 +- build/patches/Add-search-engine.patch | 12 +- .../Add-setting-to-clear-data-on-exit.patch | 74 ++-- ...d-setting-to-invert-tap-and-long-tap.patch | 50 +-- build/patches/Add-site-engagement-flag.patch | 4 +- ...-support-for-ISupportHelpAndFeedback.patch | 16 +- .../Add-support-for-writing-URIs.patch | 6 +- build/patches/Add-support-to-jxl.patch | 59 ++-- build/patches/Add-webRTC-site-settings.patch | 4 +- ...ow-building-without-enable_reporting.patch | 16 +- ...ow-building-without-supervised-users.patch | 20 +- .../Allow-playing-audio-in-background.patch | 10 +- .../Always-allow-inspect-fallback.patch | 4 +- ...Ask-for-restart-on-connection-change.patch | 22 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 4 +- ...Block-gateway-attacks-via-websockets.patch | 8 +- ...k-leakage-of-urls-in-sandbox-iframes.patch | 6 +- .../Block-qjz9zk-or-trk-requests.patch | 12 +- build/patches/Bromite-auto-updater.patch | 36 +- .../Bromite-subresource-adblocker.patch | 42 +-- .../Bubble-Locking-on-UI-DevTools.patch | 2 +- build/patches/Change-popup-site-setting.patch | 2 +- .../patches/Chrome-web-store-protection.patch | 36 +- ...ORS-Preflight-Cache-on-clearing-data.patch | 2 +- build/patches/Client-hints-overrides.patch | 12 +- .../patches/Close-Sessions-On-Ip-Change.patch | 2 +- ...romite-Branding--improve-settings-ui.patch | 10 +- build/patches/Cromite-Branding.patch | 10 +- build/patches/Customize-selection-popup.patch | 6 +- .../Deprecate-Data-URL-in-SVGUseElement.patch | 24 -- ...ctionary-suggestions-for-the-Omnibox.patch | 8 +- .../Disable-CSS-blink-feature-support.patch | 18 +- build/patches/Disable-Component-Updates.patch | 21 +- build/patches/Disable-Compose-feature.patch | 8 +- ...ble-Compression-Dictionary-Transport.patch | 4 +- build/patches/Disable-FedCm.patch | 2 +- build/patches/Disable-GSA-by-default.patch | 100 +++--- .../Disable-GetInstalledRelatedApps-API.patch | 2 +- build/patches/Disable-PrivacyGuide.patch | 2 +- build/patches/Disable-Real-Box.patch | 12 +- build/patches/Disable-TLS-resumption.patch | 16 +- build/patches/Disable-WebGPU.patch | 4 +- .../patches/Disable-all-predictors-code.patch | 28 +- build/patches/Disable-all-promo-dialogs.patch | 4 +- .../Disable-conversion-measurement-api.patch | 34 +- build/patches/Disable-crash-reporting.patch | 2 +- ...devtools-remote-and-custom-protocols.patch | 4 +- .../Disable-feeds-support-by-default.patch | 2 +- ...Disable-fetching-of-all-field-trials.patch | 8 +- build/patches/Disable-idle-detection.patch | 4 +- ...-lock-icon-in-address-bar-by-default.patch | 2 +- ...media-router-and-remoting-by-default.patch | 12 +- .../patches/Disable-plugins-enumeration.patch | 2 +- ...ers-reduced-transparency-media-query.patch | 4 +- build/patches/Disable-privacy-sandbox.patch | 34 +- ...e-references-to-fonts.googleapis.com.patch | 2 +- ...ble-remote-altsvc-for-h3-connections.patch | 6 +- .../Disable-smart-selection-by-default.patch | 2 +- ...isable-some-signed-exchange-features.patch | 2 +- ...isable-speechSynthesis-getVoices-API.patch | 10 +- .../Disable-text-fragments-by-default.patch | 6 +- .../Disable-third-party-origin-trials.patch | 12 +- build/patches/Disable-various-metrics.patch | 12 +- ...allow-Android-App-Scheme-as-referrer.patch | 2 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 18 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- .../Do-not-store-passwords-by-default.patch | 8 +- build/patches/DoH-improvements.patch | 8 +- ...ndroid-Dynamic-Performance-Framework.patch | 2 +- .../Enable-Certificate-Transparency.patch | 4 +- ...le-Document-Open-Inheritance-Removal.patch | 4 +- .../Enable-Global-Privacy-Control.patch | 36 +- ...Enable-HighEfficiencyMode-by-default.patch | 15 +- .../Enable-ImprovedBookmarks-by-default.patch | 2 +- ...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 | 16 +- .../Enable-menu-on-reload-button.patch | 2 +- .../Enable-native-Android-autofill.patch | 92 +++-- .../Enable-network-isolation-features.patch | 2 +- ...le-search-engine-settings-desktop-ui.patch | 96 ++--- build/patches/Enable-share-intent.patch | 18 +- ...ivation-of-the-js-debugger-statement.patch | 18 +- .../Experimental-user-scripts-support.patch | 62 ++-- build/patches/Eyeo-Adblock-for-Cromite.patch | 62 ++-- build/patches/Fix-chromium-build-bugs.patch | 16 +- build/patches/Fix-chromium-vanilla.patch | 2 +- .../Fonts-fingerprinting-mitigation.patch | 12 +- .../Guard-for-user-agent-reduction.patch | 4 +- ...prove-plain-text-rendering-on-mobile.patch | 2 +- .../patches/Improve-the-browser-sandbox.patch | 2 +- build/patches/Internal-firewall.patch | 40 +-- build/patches/JIT-site-settings.patch | 25 +- .../Keep-ComputePressure-disabled.patch | 2 +- .../Keep-Side-Panel-Companion-disabled.patch | 2 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 12 +- ...ep-disabled-WebViewMediaIntegrityApi.patch | 7 +- .../Keep-empty-tabs-between-sessions.patch | 2 +- ...-allow-screenshots-in-Incognito-mode.patch | 2 +- ...ing-attributes-in-some-html-elements.patch | 18 +- build/patches/Logcat-crash-reports-UI.patch | 2 +- .../Media-fingerprinting-mitigations.patch | 2 +- .../patches/Modify-default-preferences.patch | 4 +- .../Move-navigation-bar-to-bottom.patch | 275 +++++++-------- ...nt-settings-back-to-privacy-settings.patch | 10 +- .../Multiple-fingerprinting-mitigations.patch | 40 +-- build/patches/OpenSearch-miscellaneous.patch | 4 +- .../patches/Override-Navigator-Language.patch | 2 +- .../Partition-Blink-memory-cache.patch | 42 +-- .../patches/Partition-HSTS-cache-by-NAK.patch | 48 +-- .../Partition-blobs-by-top-frame-URL.patch | 10 +- ...ning-all-cookies-by-top-frame-domain.patch | 100 +++--- ...vate-network-access-content-settings.patch | 6 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 2 +- ...e-introduce-override_build_timestamp.patch | 2 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 6 +- ...referrals-in-cross-origin-navigation.patch | 30 +- build/patches/Remove-SMS-integration.patch | 2 +- .../Remove-binary-blob-integrations.patch | 331 ++++++++---------- .../Remove-detection-of-captive-portals.patch | 2 +- build/patches/Remove-help-menu-item.patch | 32 +- .../Remove-segmentation-platform.patch | 6 +- ...t-for-device-memory-and-cpu-recovery.patch | 10 +- ...Remove-voice-recognition-integration.patch | 44 +-- ...ndow-name-on-cross-origin-navigation.patch | 4 +- .../Restore-LastTabStandingTracker.patch | 10 +- .../Restore-Search-Ready-Omnibox-flag.patch | 10 +- ...-button-in-top-toolbar-customization.patch | 24 +- .../Restore-chrome-password-store.patch | 2 +- .../Restore-offline-indicator-v2-flag.patch | 8 +- ...evert-Permit-blocking-of-view-source.patch | 2 +- ...emove-disable-pull-to-refresh-effect.patch | 2 +- ...l-of-execution-context-address-space.patch | 18 +- ...script-content-setting-secondary-url.patch | 28 +- build/patches/Show-NTP-at-startup.patch | 8 +- ...tings-for-cookies-javascript-and-ads.patch | 10 +- build/patches/Site-setting-for-images.patch | 24 +- .../Switch-to-fstack-protector-strong.patch | 2 +- ...e-experimental-web-platform-features.patch | 2 +- ...ileSystemAccessPersistentPermissions.patch | 6 +- build/patches/Timezone-customization.patch | 22 +- .../patches/Use-BoringSSL-for-RandBytes.patch | 2 +- .../Use-browser-navigation-handler.patch | 10 +- .../Use-list-mode-for-tab-switcher.patch | 4 +- build/patches/User-agent-customization.patch | 32 +- build/patches/Viewport-Protection-flag.patch | 46 +-- build/patches/WIN-Disable-first-run.patch | 2 +- build/patches/WIN-Disable-updater.patch | 28 +- build/patches/WIN-Fix-log-to-file.patch | 2 +- .../WIN-disable-annotate-downloads.patch | 4 +- ...-enable-file-system-access-blocklist.patch | 2 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 12 +- build/patches/Welcome-screen.patch | 25 +- build/patches/add-browser-policy.patch | 16 +- build/patches/autofill-miscellaneous.patch | 12 +- build/patches/bromite-build-utils.patch | 4 +- build/patches/disable-AdsBlockedInfoBar.patch | 2 +- .../disable-WebView-variations-support.patch | 4 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../enable-ftrivial-auto-var-init-zero.patch | 2 +- .../eyeo-beta-118.0.5993.48-android_api.patch | 14 +- ...-beta-118.0.5993.48-android_settings.patch | 10 +- .../eyeo-beta-118.0.5993.48-base.patch | 34 +- ...eta-118.0.5993.48-chrome_integration.patch | 52 +-- ...yeo-beta-118.0.5993.48-extension_api.patch | 92 ++--- build/patches/kill-Auth.patch | 12 +- build/patches/kill-Vision.patch | 6 +- ...rce-text-x-suse-ymp-to-be-downloaded.patch | 16 +- ...always-prompt-for-download-directory.patch | 2 +- ...hromium-Disable-Network-Time-Tracker.patch | 2 +- ...gled-chromium-Disable-profile-avatar.patch | 12 +- ...romium-Disable-translate-integration.patch | 14 +- ...ed-chromium-no-special-hosts-domains.patch | 96 ++--- ...RTC-do-not-expose-local-IP-addresses.patch | 2 +- ...iew-Hard-no-to-persistent-histograms.patch | 2 +- 201 files changed, 2025 insertions(+), 2138 deletions(-) delete mode 100644 build/patches/Deprecate-Data-URL-in-SVGUseElement.patch diff --git a/build/cromite_patches_list.txt b/build/cromite_patches_list.txt index 64109c12..a349df3d 100644 --- a/build/cromite_patches_list.txt +++ b/build/cromite_patches_list.txt @@ -217,7 +217,6 @@ Disable-GSA-by-default.patch Disallowing-MIDI-permission-by-default.patch Disable-Compression-Dictionary-Transport.patch Disallow-Android-App-Scheme-as-referrer.patch -Deprecate-Data-URL-in-SVGUseElement.patch Content-settings-infrastructure.patch Add-autoplay-site-setting.patch Site-setting-for-images.patch diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 7de74ef5..33f76f52 100644 --- a/build/patches/AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/AImageReader-CFI-crash-mitigations.patch @@ -90,7 +90,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -3406,9 +3406,9 @@ +@@ -3430,9 +3430,9 @@ "expiry_milestone": 135 }, { @@ -168,8 +168,8 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h #if BUILDFLAG(IS_ANDROID) +GPU_EXPORT BASE_DECLARE_FEATURE(kAImageReaderMediaPlayer); GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl); - GPU_EXPORT BASE_DECLARE_FEATURE(kEnableGpuMemoryBufferImplAHB); GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControl); + GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControlForTV); diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc --- a/gpu/config/gpu_util.cc +++ b/gpu/config/gpu_util.cc diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index 485b9fbb..758c398d 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.ScreenOrientationProvider; +@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.ContentSwitches; @@ -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; -@@ -1054,6 +1055,8 @@ public abstract class ChromeActivity +@@ -1045,6 +1046,8 @@ public abstract class ChromeActivity ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); ChromeCachedFlags.getInstance().cacheNativeFlags(); @@ -56,10 +56,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ACCOUNT_REAUTHENTICATION_RECENT_TIME_WINDOW = "AccountReauthenticationRecentTimeWindow"; + public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates"; - public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE = - "AdaptiveButtonInTopToolbarTranslate"; - public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS = -@@ -572,6 +573,8 @@ public abstract class ChromeFeatureList { + public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = + "AdaptiveButtonInTopToolbarPageSummary"; + public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = +@@ -583,6 +584,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sAndroidTabDeclutterDedupeTabIdsKillSwitch = newCachedFlag(ANDROID_TAB_DECLUTTER_DEDUPE_TAB_IDS_KILL_SWITCH, true); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); @@ -68,14 +68,14 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAsyncNotificationManager = newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false); public static final CachedFlag sBackGestureActivityTabProvider = -@@ -726,6 +729,7 @@ public abstract class ChromeFeatureList { +@@ -746,6 +749,7 @@ public abstract class ChromeFeatureList { public static final List sFlagsCachedFullBrowserChromium = List.of( sAccountReauthenticationRecentTimeWindow, + sAllowUserCertificates, sAndroidAppIntegration, + sAndroidBottomToolbar, sAndroidElegantTextHeight, - sAndroidGoogleSansText, diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index b97584d3..7f8c467b 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 -@@ -390,6 +390,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -391,6 +391,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { } } diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index 7e9137de..2186a725 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -109,6 +109,10 @@ BASE_FEATURE(kPostGetMyMemoryStateToBackground, +@@ -108,6 +108,10 @@ BASE_FEATURE(kPostGetMyMemoryStateToBackground, FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) 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 5dc64db2..02612aa9 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -14,8 +14,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 -@@ -7908,9 +7908,9 @@ - "expiry_milestone": 130 +@@ -7884,9 +7884,9 @@ + "expiry_milestone" : 130 }, { - "name": "restrict-gamepad-access", @@ -25,11 +25,11 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js + "expiry_milestone": -1 }, { - "name": "revamp-page-info-ios", + "name": "retain-omnibox-on-focus", diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -3298,7 +3298,7 @@ const char kResetShortcutCustomizationsDescription[] = +@@ -3329,7 +3329,7 @@ const char kResetShortcutCustomizationsDescription[] = const char kRestrictGamepadAccessName[] = "Restrict gamepad access"; const char kRestrictGamepadAccessDescription[] = @@ -37,7 +37,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti + "Disable the Gamepad " "API"; - const char kRippleForEnhancedProtectionName[] = + #if BUILDFLAG(IS_ANDROID) diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc --- a/device/gamepad/public/cpp/gamepad_features.cc +++ b/device/gamepad/public/cpp/gamepad_features.cc diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 98066a1d..207369ed 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -73,6 +73,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -75,6 +75,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; @@ -88,7 +88,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 -@@ -319,6 +319,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -318,6 +318,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); @@ -99,7 +99,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -244,6 +244,9 @@ +@@ -239,6 +239,9 @@ @@ -196,7 +196,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 -@@ -201,6 +201,8 @@ +@@ -203,6 +203,8 @@ #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" @@ -205,7 +205,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/background_mode_manager.h" #endif -@@ -1496,6 +1498,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1577,6 +1579,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -660,7 +660,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 -@@ -336,6 +336,8 @@ static_library("ui") { +@@ -281,6 +281,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -672,23 +672,23 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -50,6 +50,7 @@ - #include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h" - #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h" +@@ -46,6 +46,7 @@ + #include "chrome/browser/ui/webui/media/media_engagement_ui.h" + #include "chrome/browser/ui/webui/media/webrtc_logs_ui.h" #include "chrome/browser/ui/webui/policy/policy_ui.h" +#include "chrome/browser/ui/webui/proxy_config_ui.h" - #include "chrome/browser/ui/webui/predictors/predictors_ui.h" #include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_ui.h" - #include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h" -@@ -419,6 +420,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, - #endif // BUILDFLAG(IS_CHROMEOS_ASH) - if (url.host_piece() == chrome::kChromeUINetExportHost) - return &NewWebUI; + #include "chrome/browser/ui/webui/suggest_internals/suggest_internals_ui.h" + #include "chrome/browser/ui/webui/webui_util.h" +@@ -532,6 +533,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, + return &NewWebUI; + } + #endif // BUILDFLAG(IS_ANDROID) + if (url.host_piece() == chrome::kChromeUIProxyConfigHost) + return &NewWebUI; - if (url.host_piece() == chrome::kChromeUINetInternalsHost) - return &NewWebUI; - if (url.host_piece() == chrome::kChromeUINTPTilesInternalsHost) + #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) + if (url.host_piece() == chrome::kChromeUIManagedUserProfileNoticeHost) { + return &NewWebUI; diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc new file mode 100644 --- /dev/null @@ -1141,7 +1141,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 -@@ -171,6 +171,8 @@ inline constexpr char kChromeUINetExportURL[] = "chrome://net-export"; +@@ -176,6 +176,8 @@ inline constexpr char kChromeUINetExportURL[] = "chrome://net-export"; inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/"; inline constexpr char kChromeUINewTabHost[] = "newtab"; @@ -1319,16 +1319,16 @@ diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc --- a/net/proxy_resolution/proxy_config.cc +++ b/net/proxy_resolution/proxy_config.cc -@@ -109,7 +109,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) { - &single_proxies, - ProxyServer::SCHEME_HTTP); +@@ -124,7 +124,7 @@ void ProxyConfig::ProxyRules::ParseFromString( + ProxyServer::SCHEME_HTTP, + allow_bracketed_proxy_chains); type = Type::PROXY_LIST; - return; + continue; } // Trim whitespace off the url scheme. -@@ -140,6 +140,55 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) { +@@ -155,6 +155,55 @@ void ProxyConfig::ProxyRules::ParseFromString( } } @@ -1383,14 +1383,14 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c + const ProxyList* ProxyConfig::ProxyRules::MapUrlSchemeToProxyList( const std::string& url_scheme) const { - const ProxyList* proxy_server_list = const_cast(this)-> + const ProxyList* proxy_server_list = diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_config.h --- a/net/proxy_resolution/proxy_config.h +++ b/net/proxy_resolution/proxy_config.h -@@ -103,6 +103,9 @@ class NET_EXPORT ProxyConfig { - // and use socks4://foopy2 for all other +@@ -108,6 +108,9 @@ class NET_EXPORT ProxyConfig { // URLs. - void ParseFromString(const std::string& proxy_rules); + void ParseFromString(const std::string& proxy_rules, + bool allow_bracketed_proxy_chains = false); + // Returns the proxy rules in a format that can be parsed by ParseFromString; + // all information except bypass rules is used. + std::string ToString() const; diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index 930cac46..bd5795d3 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../native_page/NativePageFactory.java | 4 +- .../chrome/browser/ntp/RecentTabsManager.java | 28 ++- .../privacy/settings/IncognitoSettings.java | 161 ++++++++++++++++++ - .../browser/settings/SettingsActivity.java | 4 + + .../settings/FragmentDependencyProvider.java | 4 + .../HistoricalTabModelObserver.java | 5 +- .../tab/tab_restore/HistoricalTabSaver.java | 2 +- .../tab_restore/HistoricalTabSaverImpl.java | 17 +- @@ -97,7 +97,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 -@@ -635,6 +635,7 @@ chrome_java_resources = [ +@@ -636,6 +636,7 @@ chrome_java_resources = [ "java/res/xml/manage_sync_preferences.xml", "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/phone_as_a_security_key_accessory_filter.xml", @@ -116,7 +116,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java", "java/src/org/chromium/chrome/browser/ActivityTabProvider.java", "java/src/org/chromium/chrome/browser/ActivityUtils.java", -@@ -946,6 +947,7 @@ chrome_java_sources = [ +@@ -947,6 +948,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java", @@ -243,7 +243,7 @@ new file mode 100644 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 -@@ -68,6 +68,10 @@ import org.chromium.base.task.TaskTraits; +@@ -70,6 +70,10 @@ import org.chromium.base.task.TaskTraits; import org.chromium.build.annotations.UsedByReflection; import org.chromium.cc.input.BrowserControlsState; import org.chromium.chrome.R; @@ -254,7 +254,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics; -@@ -672,12 +676,17 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -1973,6 +1974,9 @@ public abstract class ChromeActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -380,15 +380,15 @@ 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/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 -@@ -29,6 +29,7 @@ import org.chromium.base.ContextUtils; +@@ -30,6 +30,7 @@ import org.chromium.base.ContextUtils; import org.chromium.base.shared_preferences.SharedPreferencesManager; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; - import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator; import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item; import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType; -@@ -265,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { + import org.chromium.chrome.browser.download.DownloadUtils; +@@ -267,6 +268,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { public List> buildContextMenu() { mShowEphemeralTabNewLabel = null; @@ -398,7 +398,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr List> groupedItems = new ArrayList<>(); if (mParams.isAnchor()) { -@@ -275,6 +279,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -277,6 +281,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { if (mMode == ContextMenuMode.NORMAL) { linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP)); linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB)); @@ -406,15 +406,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) { linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB)); } -@@ -299,7 +304,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -301,7 +306,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } } if (FirstRunStatus.getFirstRunFlowComplete()) { - if (!mItemDelegate.isIncognito() + if ((always_incognito || !mItemDelegate.isIncognito()) && UrlUtilities.isDownloadableScheme(mParams.getLinkUrl())) { - linkGroup.add(createListItem(Item.SAVE_LINK_AS)); - } + linkGroup.add( + createListItem( diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java @@ -454,7 +454,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust - // Incognito CCT, falling back to check if they provided EXTRA_APPLICATION_ID. - externalId = - IntentHandler.determineExternalIntentSource( -- mIntentDataProvider.getIntent()); +- mIntentDataProvider.getIntent(), mActivity); - RecordHistogram.recordEnumeratedHistogram( - "CustomTabs.ClientAppId.Incognito", - externalId, @@ -475,7 +475,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder; -@@ -225,6 +226,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -222,6 +223,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat openInChromeItemVisible = false; tryAddingReadAloud = false; } @@ -498,7 +498,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; -@@ -1161,6 +1164,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1207,6 +1210,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid return getInitialActivityWidth() > 0; } @@ -534,7 +534,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo /** A class containing some utility static methods. */ public class DownloadUtils { private static final String TAG = "download"; -@@ -296,7 +301,16 @@ public class DownloadUtils { +@@ -298,7 +303,16 @@ public class DownloadUtils { // Offline pages isn't supported in Incognito. This should be checked before calling // OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found // for incognito profile. @@ -680,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage; -@@ -310,7 +311,8 @@ public class NativePageFactory { +@@ -319,7 +320,8 @@ public class NativePageFactory { String url, NativePage candidatePage, Tab tab, boolean isIncognito, PdfInfo pdfInfo) { NativePage page; @@ -908,27 +908,27 @@ new file mode 100644 + mSnackbarManager = manager; + } +} -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -86,6 +86,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; +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 +@@ -57,6 +57,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; - import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; -+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; - import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; - import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; -@@ -403,6 +404,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity - ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate( - new RequestRestartDelegate(mSnackbarManager, this)); ++import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; + import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; + import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; + import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment; +@@ -296,6 +297,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + safetyHubFragment.setCustomTabIntentHelper( + LaunchIntentDispatcher::createCustomTabActivityIntent); } + if (fragment instanceof INeedSnackbarManager) { + ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); + } if (fragment instanceof AccountManagementFragment) { - ((AccountManagementFragment) fragment).setSnackbarManager(mSnackbarManager); - } + ((AccountManagementFragment) fragment) + .setSnackbarManagerSupplier(mSnackbarManagerSupplier); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java @@ -1038,7 +1038,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -144,6 +144,8 @@ import org.chromium.ui.InsetObserver; +@@ -149,6 +149,8 @@ import org.chromium.ui.InsetObserver; import org.chromium.ui.UiUtils; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.DeviceFormFactor; @@ -1047,7 +1047,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.ui.base.IntentRequestTracker; import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.dragdrop.DragDropGlobalState; -@@ -975,7 +977,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -988,7 +990,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { () -> { mTabCreatorManagerSupplier .get() @@ -1101,16 +1101,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod 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 -@@ -48,6 +48,8 @@ import org.chromium.chrome.browser.tabpersistence.TabStateFileManager; +@@ -49,6 +49,8 @@ import org.chromium.chrome.browser.tabpersistence.TabStateFileManager; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.content_public.browser.LoadUrlParams; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; + import java.io.BufferedInputStream; + import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; - import java.io.DataInputStream; -@@ -777,6 +779,13 @@ public class TabPersistentStore { +@@ -794,6 +796,13 @@ public class TabPersistentStore { } } } @@ -1135,7 +1135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; import org.chromium.chrome.browser.back_press.BackPressManager; -@@ -644,7 +645,7 @@ public class ToolbarManager +@@ -640,7 +641,7 @@ public class ToolbarManager TraceEvent.end("isOfflinePage"); return ret; } @@ -1259,7 +1259,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and 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 -@@ -366,6 +366,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const { +@@ -359,6 +359,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const { return ProviderStateServiceFactory::GetForProfile(profile_); } @@ -1278,7 +1278,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h -@@ -86,6 +86,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient { +@@ -85,6 +85,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient { OnDeviceTailModelService* GetOnDeviceTailModelService() const override; ProviderStateService* GetProviderStateService() const override; bool IsOffTheRecord() const override; @@ -1360,7 +1360,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc --- a/chrome/browser/history/history_tab_helper.cc +++ b/chrome/browser/history/history_tab_helper.cc -@@ -42,6 +42,9 @@ +@@ -44,6 +44,9 @@ #include "components/feed/core/v2/public/feed_api.h" // nogncheck #include "components/feed/core/v2/public/feed_service.h" // nogncheck #include "content/public/browser/web_contents.h" @@ -1370,7 +1370,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo #else #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -@@ -457,6 +460,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { +@@ -488,6 +491,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { history::HistoryService* HistoryTabHelper::GetHistoryService() { Profile* profile = Profile::FromBrowserContext(web_contents()->GetBrowserContext()); @@ -1384,7 +1384,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo if (profile->IsOffTheRecord()) return nullptr; -@@ -464,6 +474,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { +@@ -495,6 +505,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { profile, ServiceAccessType::IMPLICIT_ACCESS); } @@ -1733,7 +1733,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -247,6 +247,7 @@ +@@ -252,6 +252,7 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h" @@ -1741,7 +1741,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h" #include "chrome/browser/android/oom_intervention/oom_intervention_decider.h" -@@ -1950,6 +1951,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2034,6 +2035,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); @@ -1827,7 +1827,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ /** An interface for pages that will be using Android views instead of html/rendered Web content. */ public interface NativePage { -@@ -166,7 +168,8 @@ public interface NativePage { +@@ -176,7 +178,8 @@ public interface NativePage { */ static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) { return url != null @@ -1837,7 +1837,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } /** -@@ -176,7 +179,7 @@ public interface NativePage { +@@ -186,7 +189,7 @@ public interface NativePage { * not have chrome or chrome-native scheme. */ static boolean isChromePageUrl(GURL url, boolean isIncognito) { @@ -1846,7 +1846,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } /** -@@ -188,11 +191,12 @@ public interface NativePage { +@@ -198,11 +201,12 @@ public interface NativePage { */ // TODO(crbug.com/40549331) - Convert to using GURL. static @NativePageType int nativePageType( @@ -1861,7 +1861,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } /** -@@ -203,7 +207,8 @@ public interface NativePage { +@@ -213,7 +217,8 @@ public interface NativePage { * @return Type of the native page defined in {@link NativePageType}. */ private static @NativePageType int nativePageType( @@ -1871,7 +1871,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ if (hasPdfDownload) { // For navigation with associated pdf download (e.g. open a pdf link), pdf page should // be created. -@@ -221,7 +226,7 @@ public interface NativePage { +@@ -231,7 +236,7 @@ public interface NativePage { // created after the pdf document is re-downloaded in other parts of the code. return NativePageType.NONE; } else { @@ -1880,7 +1880,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } } -@@ -233,7 +238,7 @@ public interface NativePage { +@@ -243,7 +248,7 @@ public interface NativePage { * which do not have chrome or chrome-native scheme. */ private static @NativePageType int chromePageType( @@ -1889,7 +1889,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ String host = url.getHost(); String scheme = url.getScheme(); if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme) -@@ -253,7 +258,8 @@ public interface NativePage { +@@ -263,7 +268,8 @@ public interface NativePage { return NativePageType.DOWNLOADS; } else if (UrlConstants.HISTORY_HOST.equals(host)) { return NativePageType.HISTORY; @@ -1902,7 +1902,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1344,6 +1344,31 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1398,6 +1398,31 @@ Your Google account may have other forms of browsing history like searches and a Deletes history from all synced devices @@ -1937,7 +1937,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java -@@ -161,6 +161,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -162,6 +162,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro protected String mFormattedFullUrl; protected String mUrlForDisplay; private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled; @@ -1945,7 +1945,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow // notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same // document navigation. The first call is usually necessary, which updates the UrlBar to reflect -@@ -184,7 +185,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -185,7 +186,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro Context context, NewTabPageDelegate newTabPageDelegate, @NonNull UrlFormatter urlFormatter, @@ -2002,7 +2002,7 @@ new file mode 100644 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 -@@ -4187,6 +4187,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = +@@ -4202,6 +4202,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = "net.out_of_process_system_dns_resolution_enabled"; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) @@ -2018,7 +2018,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -98,10 +98,12 @@ void PrefProvider::RegisterProfilePrefs( +@@ -114,10 +114,12 @@ void PrefProvider::RegisterProfilePrefs( PrefProvider::PrefProvider(PrefService* prefs, bool off_the_record, @@ -2031,7 +2031,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov store_last_modified_(store_last_modified), clock_(base::DefaultClock::GetInstance()) { TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider"); -@@ -124,11 +126,13 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -140,11 +142,13 @@ PrefProvider::PrefProvider(PrefService* prefs, WebsiteSettingsRegistry* website_settings = WebsiteSettingsRegistry::GetInstance(); for (const WebsiteSettingsInfo* info : *website_settings) { @@ -2127,7 +2127,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h --- a/components/omnibox/browser/autocomplete_provider_client.h +++ b/components/omnibox/browser/autocomplete_provider_client.h -@@ -142,6 +142,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client { +@@ -137,6 +137,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client { virtual bool IsOffTheRecord() const = 0; virtual bool IsIncognitoProfile() const = 0; virtual bool IsGuestSession() const = 0; diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 5ec27e45..d38477cf 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.compositor.CompositorViewHolder; -@@ -54,7 +55,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -55,7 +56,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; * {@link ChromeTabbedActivity}. */ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private final Supplier mShareDelegateSupplier; private final Supplier mEphemeralTabCoordinatorSupplier; -@@ -83,7 +84,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { +@@ -85,7 +86,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { private NativePageFactory mNativePageFactory; public TabbedModeTabDelegateFactory( @@ -559,16 +559,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java -@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega - import org.chromium.components.commerce.core.CommerceSubscription; - import org.chromium.components.commerce.core.ShoppingService; - import org.chromium.components.commerce.core.SubscriptionsObserver; -+import org.chromium.ui.base.ActivityWindowAndroid; -+import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -57,6 +57,8 @@ import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.favicon.LargeIconBridge; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; import org.chromium.components.power_bookmarks.PowerBookmarkType; -@@ -81,6 +83,9 @@ class BookmarkManagerMediator ++import org.chromium.ui.base.ActivityWindowAndroid; ++import org.chromium.ui.modaldialog.ModalDialogManager; + import org.chromium.ui.accessibility.AccessibilityState; + import org.chromium.ui.listmenu.ListMenu; + import org.chromium.ui.listmenu.ListMenuItemProperties; +@@ -82,6 +84,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -578,7 +578,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** Keeps track of whether drag is enabled / active for bookmark lists. */ private class BookmarkDragStateDelegate implements DragStateDelegate { private BookmarkDelegate mBookmarkDelegate; -@@ -544,6 +549,14 @@ class BookmarkManagerMediator +@@ -545,6 +550,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -593,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** See BookmarkManager(Coordinator)#updateForUrl */ void updateForUrl(String url) { // Bookmark model is null if the manager has been destroyed. -@@ -724,6 +737,16 @@ class BookmarkManagerMediator +@@ -725,6 +738,16 @@ class BookmarkManagerMediator } } @@ -766,7 +766,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier; -@@ -57,7 +58,7 @@ import org.chromium.ui.util.ColorUtils; +@@ -58,7 +59,7 @@ import org.chromium.ui.util.ColorUtils; * Creates NativePage objects to show chrome-native:// URLs using the native Android view system. */ public class NativePageFactory { @@ -775,7 +775,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final BrowserControlsManager mBrowserControlsManager; private final Supplier mCurrentTabSupplier; -@@ -78,7 +79,7 @@ public class NativePageFactory { +@@ -80,7 +81,7 @@ public class NativePageFactory { private static NativePage sTestPage; public NativePageFactory( @@ -784,7 +784,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat @NonNull BottomSheetController sheetController, @NonNull BrowserControlsManager browserControlsManager, @NonNull Supplier currentTabSupplier, -@@ -144,7 +145,7 @@ public class NativePageFactory { +@@ -149,7 +150,7 @@ public class NativePageFactory { @VisibleForTesting static class NativePageBuilder { @@ -793,8 +793,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final Supplier mUma; private final BrowserControlsManager mBrowserControlsManager; -@@ -162,7 +163,7 @@ public class NativePageFactory { - private final OneshotSupplier mModuleRegistrySupplier; +@@ -168,7 +169,7 @@ public class NativePageFactory { + private final ObservableSupplier mEdgeToEdgeControllerSupplier; public NativePageBuilder( - Activity activity, @@ -802,7 +802,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat Supplier uma, BottomSheetController sheetController, BrowserControlsManager browserControlsManager, -@@ -233,7 +234,7 @@ public class NativePageFactory { +@@ -242,7 +243,7 @@ public class NativePageFactory { mActivity.getComponentName(), mSnackbarManagerSupplier.get(), tab.getProfile(), @@ -814,7 +814,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -200,6 +200,8 @@ static_library("browser") { +@@ -207,6 +207,8 @@ static_library("browser") { "bluetooth/chrome_bluetooth_delegate_impl_client.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -823,7 +823,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "bookmarks/chrome_bookmark_client.cc", "bookmarks/chrome_bookmark_client.h", "bookmarks/managed_bookmark_service_factory.cc", -@@ -1785,6 +1787,13 @@ static_library("browser") { +@@ -1749,6 +1751,13 @@ static_library("browser") { "webid/identity_provider_permission_request.h", ] @@ -837,7 +837,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3476,8 +3485,6 @@ static_library("browser") { +@@ -3498,8 +3507,6 @@ static_library("browser") { "bookmarks/bookmark_expanded_state_tracker.h", "bookmarks/bookmark_expanded_state_tracker_factory.cc", "bookmarks/bookmark_expanded_state_tracker_factory.h", @@ -1256,7 +1256,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc --- a/chrome/browser/bookmarks/bookmark_html_writer.cc +++ b/chrome/browser/bookmarks/bookmark_html_writer.cc -@@ -27,6 +27,9 @@ +@@ -32,6 +32,9 @@ #include "base/task/thread_pool.h" #include "base/time/time.h" #include "base/values.h" @@ -1266,7 +1266,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/favicon/favicon_service_factory.h" #include "chrome/browser/profiles/profile.h" -@@ -234,7 +237,15 @@ class Writer : public base::RefCountedThreadSafe { +@@ -239,7 +242,15 @@ class Writer : public base::RefCountedThreadSafe { // Opens the file, returning true on success. bool OpenFile() { int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE; @@ -1370,7 +1370,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 -@@ -530,6 +530,7 @@ public abstract class ChromeFeatureList { +@@ -536,6 +536,7 @@ public abstract class ChromeFeatureList { public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR = "VerticalAutomotiveBackButtonToolbar"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; @@ -1433,7 +1433,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** Whether Chrome is set as the default browser. Default value is false. */ public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser"; -@@ -920,6 +922,7 @@ public final class ChromePreferenceKeys { +@@ -923,6 +925,7 @@ public final class ChromePreferenceKeys { AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1472,7 +1472,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -355,6 +355,9 @@ static_library("common_lib") { +@@ -358,6 +358,9 @@ static_library("common_lib") { sources += [ "media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.h", @@ -1656,7 +1656,7 @@ new file mode 100644 diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java --- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java +++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java -@@ -45,6 +45,7 @@ import org.chromium.base.task.AsyncTask; +@@ -46,6 +46,7 @@ import org.chromium.base.task.AsyncTask; import org.chromium.base.task.PostTask; import org.chromium.base.task.TaskTraits; import org.chromium.ui.R; @@ -1664,16 +1664,16 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui import org.chromium.ui.UiUtils; import java.io.File; -@@ -67,6 +68,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -68,6 +69,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick private static final String TAG = "SelectFileDialog"; private static final String IMAGE_TYPE = "image"; private static final String VIDEO_TYPE = "video"; + private static final String HTML_TYPE = "html"; private static final String AUDIO_TYPE = "audio"; private static final String ALL_TYPES = "*/*"; - -@@ -307,6 +309,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick - ResettersForTesting.register(() -> mFileTypes = oldValue); + private static final String GENERIC_TYPE = "application/octet-stream"; +@@ -313,6 +315,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick + mMimeTypes = convertToSupportedMimeTypes(mFileTypes); } + @CalledByNative @@ -1684,7 +1684,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui /** * Creates and starts an intent based on the passed fileTypes and capture value. * -@@ -343,7 +350,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -359,7 +366,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick List missingPermissions = new ArrayList<>(); String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE; boolean shouldUsePhotoPicker = shouldUsePhotoPicker(); @@ -1693,7 +1693,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui // The permission scenario for accessing media has evolved a bit over the years: // Early on, READ_EXTERNAL_STORAGE was required to access media, but that permission was // later deprecated. In its place (starting with Android T) READ_MEDIA_IMAGES and -@@ -396,7 +403,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -412,7 +419,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick // TODO(finnur): Remove once we figure out the cause of // crbug.com/950024. @@ -1702,7 +1702,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui if (permissions.length != requestPermissions.length) { throw new RuntimeException( String.format( -@@ -413,7 +420,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -429,7 +436,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick } } @@ -1711,16 +1711,16 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui if (permissions[i].equals(storagePermission) || permissions[i].equals( Manifest.permission.READ_MEDIA_IMAGES) -@@ -701,6 +708,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -740,6 +747,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick + mimeTypes.add(mimeType); } - if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType); } + if (mimeTypes.size() == 0) return null; return mimeTypes; } -@@ -1062,6 +1070,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick - return countAcceptTypesFor(superType) == mFileTypes.size(); +@@ -1108,6 +1116,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick + return countAcceptTypesFor(superType) == mMimeTypes.size(); } + private boolean shouldShowHtmlTypes() { @@ -1728,8 +1728,8 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui + } + /** - * Checks whether the list of accepted types effectively describes only a single - * type, which might be wildcard. For example: + * Checks whether the list of accepted types effectively describes only a single type, which + * might be wildcard. For example: diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/strings/android_ui_strings.grd --- a/ui/android/java/strings/android_ui_strings.grd +++ b/ui/android/java/strings/android_ui_strings.grd diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 6f5fba89..3d06cee1 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -24,9 +24,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../settings/AccessibilitySettings.java | 5 +- .../homepage/settings/HomepageSettings.java | 2 +- .../privacy/settings/PrivacySettings.java | 2 +- - .../browser/settings/SettingsActivity.java | 36 ++++ + .../settings/FragmentDependencyProvider.java | 34 ++++ + .../browser/settings/SettingsActivity.java | 32 ++++ chrome/browser/about_flags.cc | 11 ++ - chrome/browser/browser_features.cc | 2 + + chrome/browser/browser_features.cc | 1 + chrome/browser/flags/BUILD.gn | 13 ++ .../flags/android/chrome_feature_list.cc | 1 + .../flags/android/chrome_feature_list.h | 1 + @@ -96,7 +97,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 + - 83 files changed, 771 insertions(+), 20 deletions(-) + 84 files changed, 800 insertions(+), 20 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 @@ -132,7 +133,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -196,6 +196,8 @@ buildflag_header("message_pump_buildflags") { +@@ -185,6 +185,8 @@ use_epoll = is_linux || is_chromeos || is_android # This does not include test code (test support and anything in the test # directory) which should use source_set as is recommended for GN targets). component("base") { @@ -141,15 +142,15 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1048,7 +1050,7 @@ component("base") { +@@ -1029,7 +1031,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] - deps = [ + deps += [ ":check_version_internal", - ":message_pump_buildflags", "//base/allocator:buildflags", + "//base/third_party/cityhash", diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc --- a/base/android/feature_map.cc +++ b/base/android/feature_map.cc @@ -225,7 +226,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc namespace { // Pointer to the FeatureList instance singleton that was set via -@@ -472,6 +497,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { +@@ -470,6 +495,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { return g_feature_list_instance->IsFeatureEnabled(feature); } @@ -272,7 +273,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc // static bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) { return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos; -@@ -718,6 +783,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) { +@@ -716,6 +781,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) { void FeatureList::FinalizeInitialization() { DCHECK(!initialized_); @@ -293,7 +294,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc diff --git a/base/feature_list.h b/base/feature_list.h --- a/base/feature_list.h +++ b/base/feature_list.h -@@ -153,8 +153,10 @@ enum class FeatureMacroHandshake { kSecret }; +@@ -170,8 +170,10 @@ enum class FeatureMacroHandshake { kSecret }; struct BASE_EXPORT LOGICALLY_CONST Feature { constexpr Feature(const char* name, FeatureState default_state, @@ -306,7 +307,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h #if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX) if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == 0) { -@@ -181,6 +183,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { +@@ -198,6 +200,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { // command line switch. const FeatureState default_state; @@ -316,7 +317,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h private: friend class FeatureList; -@@ -456,6 +461,11 @@ class BASE_EXPORT FeatureList { +@@ -473,6 +478,11 @@ class BASE_EXPORT FeatureList { // instance, which is checked in builds with DCHECKs enabled. static bool IsEnabled(const Feature& feature); @@ -328,7 +329,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h // Some characters are not allowed to appear in feature names or the // associated field trial names, as they are used as special characters for // command-line serialization. This function checks that the strings are ASCII -@@ -721,4 +731,62 @@ class BASE_EXPORT FeatureList { +@@ -738,4 +748,62 @@ class BASE_EXPORT FeatureList { } // namespace base @@ -452,7 +453,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/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java -@@ -16,6 +16,7 @@ import org.chromium.chrome.R; +@@ -18,6 +18,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsController; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.settings.SettingsLauncherFactory; @@ -460,16 +461,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate; import org.chromium.components.browser_ui.accessibility.FontSizePrefs; import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver; -@@ -33,7 +34,7 @@ import org.chromium.content_public.browser.ContentFeatureList; +@@ -36,7 +37,7 @@ import org.chromium.content_public.browser.ContentFeatureList; import org.chromium.content_public.browser.ContentFeatureMap; /** Fragment to keep track of all the accessibility related preferences. */ -public class AccessibilitySettings extends PreferenceFragmentCompat +public class AccessibilitySettings extends ChromeBaseSettingsFragment - implements Preference.OnPreferenceChangeListener { + implements SettingsPage, Preference.OnPreferenceChangeListener { public static final String PREF_TEXT_SCALE = "text_scale"; public static final String PREF_PAGE_ZOOM_DEFAULT_ZOOM = "page_zoom_default_zoom"; -@@ -92,7 +93,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat +@@ -99,7 +100,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat } @Override @@ -481,27 +482,78 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s 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 -@@ -34,7 +34,7 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { - private RadioButtonGroupHomepagePreference mRadioButtons; +@@ -37,7 +37,7 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { mHomepageManager = HomepageManager.getInstance(); - getActivity().setTitle(R.string.options_homepage_title); + mPageTitle.set(getString(R.string.options_homepage_title)); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -76,7 +76,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment - private IncognitoLockSettings mIncognitoLockSettings; +@@ -79,7 +79,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { - getActivity().setTitle(R.string.prefs_privacy_security); + mPageTitle.set(getString(R.string.prefs_privacy_security)); SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences); +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 +@@ -69,6 +69,36 @@ import org.chromium.ui.modaldialog.ModalDialogManager; + + /** Provides dependencies to fragments in the settings activity. */ + public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycleCallbacks { ++ private static class RequestRestartDelegate implements ChromeBaseSettingsFragment.RequireRestartDelegate { ++ private SnackbarManager mSnackbarManager; ++ private Activity mActivity; ++ ++ RequestRestartDelegate(SnackbarManager snackbarManager, Activity activity) { ++ mSnackbarManager = snackbarManager; ++ mActivity = activity; ++ } ++ ++ @Override ++ public void RequireRestart() { ++ Snackbar mSnackbar = Snackbar.make(mActivity.getString(R.string.ui_relaunch_notice), ++ new SnackbarManager.SnackbarController() { ++ @Override ++ public void onDismissNoAction(Object actionData) { } ++ ++ @Override ++ public void onAction(Object actionData) { ++ ApplicationLifetime.terminate(true); ++ } ++ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN) ++ .setSingleLine(false) ++ .setAction(mActivity.getString(R.string.relaunch), ++ /*actionData*/null) ++ .setDuration(/*durationMs*/70000); ++ if (!mSnackbarManager.isShowing()) ++ mSnackbarManager.showSnackbar(mSnackbar); ++ } ++ } ++ + private final Context mContext; + private final Profile mProfile; + +@@ -98,6 +128,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + @NonNull Fragment fragment, + @NonNull Context unusedContext) { + // Common dependencies attachments. ++ if (fragment instanceof ChromeBaseSettingsFragment) { ++ ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate( ++ new RequestRestartDelegate(mSnackbarManager, this)); ++ } + if (fragment instanceof ProfileDependentSetting) { + ((ProfileDependentSetting) fragment).setProfile(mProfile); + } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java @@ -513,7 +565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -@@ -87,6 +88,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; +@@ -46,6 +47,7 @@ import org.chromium.chrome.browser.profiles.ProfileManagerUtils; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; @@ -521,10 +573,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; -@@ -126,6 +128,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity - implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, - SnackbarManageable, - DisplayStyleObserver { +@@ -82,6 +84,36 @@ import java.util.Locale; + */ + public class SettingsActivity extends ChromeBaseAppCompatActivity + implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable { + private static class RequestRestartDelegate implements ChromeBaseSettingsFragment.RequireRestartDelegate { + private SnackbarManager mSnackbarManager; + private Activity mActivity; @@ -558,21 +610,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; -@@ -366,6 +398,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity - ((PrivacySandboxSettingsBaseFragment) fragment) - .setSnackbarManager(getSnackbarManager()); - } -+ if (fragment instanceof ChromeBaseSettingsFragment) { -+ ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate( -+ new RequestRestartDelegate(mSnackbarManager, this)); -+ } - if (fragment instanceof AccountManagementFragment) { - ((AccountManagementFragment) fragment).setSnackbarManager(mSnackbarManager); - } 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 -@@ -382,6 +382,10 @@ using flags_ui::kOsLinux; +@@ -380,6 +380,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -583,9 +624,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4192,6 +4196,10 @@ const FeatureEntry::FeatureVariation - std::size(kSecurePaymentConfirmationNetworkAndIssuerIcons_Rows), - nullptr}}; +@@ -4207,6 +4211,10 @@ const FeatureEntry::FeatureVariation + 1, nullptr}, + }; +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -594,7 +635,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. -@@ -4218,6 +4226,9 @@ const FeatureEntry::FeatureVariation +@@ -4233,6 +4241,9 @@ const FeatureEntry::FeatureVariation const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -607,11 +648,10 @@ 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 -@@ -410,4 +410,6 @@ BASE_FEATURE(kReportPakFileIntegrity, - BASE_FEATURE(kRemovalOfIWAsFromTabCapture, +@@ -450,4 +450,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture, "RemovalOfIWAsFromTabCapture", base::FEATURE_ENABLED_BY_DEFAULT); -+ + +#include "cromite_flags/chrome_browser_browser_features_cc.inc" } // namespace features diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn @@ -656,7 +696,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 -@@ -1050,5 +1050,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate, +@@ -1074,5 +1074,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate, "WebApkAllowIconUpdate", base::FEATURE_DISABLED_BY_DEFAULT); @@ -666,7 +706,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h --- a/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h -@@ -208,6 +208,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( +@@ -214,6 +214,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( "trigger_id", /*default_value=*/""); @@ -688,7 +728,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -712,7 +716,7 @@ public abstract class ChromeFeatureList { +@@ -732,7 +736,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sWebApkMinShellApkVersion = newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); @@ -697,7 +737,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( sAccountReauthenticationRecentTimeWindow, sAndroidAppIntegration, -@@ -805,6 +809,13 @@ public abstract class ChromeFeatureList { +@@ -828,6 +832,13 @@ public abstract class ChromeFeatureList { sVerticalAutomotiveBackButtonToolbar, sWebApkMinShellApkVersion); @@ -783,9 +823,9 @@ diff --git a/chrome/browser/settings/BUILD.gn b/chrome/browser/settings/BUILD.gn diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java --- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java +++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java -@@ -11,6 +11,12 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher; - import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory; +@@ -12,6 +12,12 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory; import org.chromium.chrome.browser.profiles.Profile; + import org.chromium.components.browser_ui.settings.SettingsPage; +import android.os.Bundle; +import androidx.preference.Preference; @@ -796,8 +836,8 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse /** * Base class for settings in Chrome. * -@@ -21,6 +27,47 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa - implements ProfileDependentSetting { +@@ -22,6 +28,47 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa + implements SettingsPage, ProfileDependentSetting { private Profile mProfile; + private RequireRestartDelegate mRequireRestartDelegate; @@ -878,16 +918,16 @@ 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 -@@ -477,4 +477,5 @@ BASE_FEATURE(kUsePortalAccentColor, - - BASE_FEATURE(kCompactMode, "CompactMode", base::FEATURE_DISABLED_BY_DEFAULT); +@@ -479,4 +479,5 @@ BASE_FEATURE(kPageSpecificDataDialogRelatedInstalledAppsSection, + "PageSpecificDataDialogRelatedInstalledAppsSection", + base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc" } // namespace features 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 -@@ -1760,4 +1760,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration, +@@ -1756,4 +1756,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -974,13 +1014,13 @@ 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 -@@ -113,5 +113,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap, - "IndexedHostContentSettingsMap", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -109,5 +109,6 @@ BASE_FEATURE(kContentSettingsPartitioning, + "ContentSettingsPartitioning", + base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/components_content_settings_core_common_features_cc.inc" } // namespace features @@ -1380,8 +1420,8 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc --- a/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc -@@ -159,4 +159,5 @@ BASE_FEATURE(kUseAsyncOsCryptInLoginDatabase, - "UseAsyncOsCryptInLoginDatabase", +@@ -169,4 +169,5 @@ BASE_FEATURE(kEncryptAllPasswordsWithOSCryptAsync, + "EncryptAllPasswordsWithOSCryptAsync", base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc" @@ -1389,7 +1429,7 @@ diff --git a/components/password_manager/core/browser/features/password_features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -150,6 +150,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate, +@@ -154,6 +154,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate, "CpssQuietChipTextUpdate", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1412,7 +1452,7 @@ diff --git a/components/version_ui/version_handler_helper.cc b/components/versio diff --git a/content/common/features.cc b/content/common/features.cc --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -592,4 +592,5 @@ BASE_FEATURE(kScrollBubblingFix, +@@ -614,4 +614,5 @@ BASE_FEATURE(kScrollBubblingFix, // Please keep features in alphabetical order. @@ -1421,7 +1461,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -1380,4 +1380,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { +@@ -1422,4 +1422,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { VideoCaptureServiceConfiguration::kEnabledForBrowserProcess; } @@ -1430,7 +1470,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 -@@ -311,6 +311,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer); +@@ -329,6 +329,7 @@ CONTENT_EXPORT extern const base::FeatureParam CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); @@ -1764,7 +1804,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 -@@ -1912,5 +1912,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1927,5 +1927,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -1774,7 +1814,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 -@@ -580,5 +580,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); +@@ -583,5 +583,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -1784,8 +1824,8 @@ 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 -@@ -594,4 +594,5 @@ BASE_FEATURE(kLegacyPKCS1ForTLS13, - "LegacyPKCS1ForTLS13", +@@ -596,4 +596,5 @@ BASE_FEATURE(kNoVarySearchIgnoreUnrecognizedKeys, + "NoVarySearchIgnoreUnrecognizedKeys", base::FEATURE_ENABLED_BY_DEFAULT); +#include "cromite_flags/net_base_features_cc.inc" @@ -1793,9 +1833,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/net/base/features.h b/net/base/features.h --- a/net/base/features.h +++ b/net/base/features.h -@@ -600,6 +600,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kOptimizeParsingDataUrls); - // support RSA-PSS. - NET_EXPORT BASE_DECLARE_FEATURE(kLegacyPKCS1ForTLS13); +@@ -608,6 +608,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kKeepWhitespaceForDataUrls); + // Otherwise, unrecognized keys are treated as if the header was invalid. + NET_EXPORT BASE_DECLARE_FEATURE(kNoVarySearchIgnoreUnrecognizedKeys); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -1804,18 +1844,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 -@@ -475,4 +475,5 @@ BASE_FEATURE(kTreatNullIPAsPublicAddressSpace, - "TreatNullIPAsPublicAddressSpace", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -489,4 +489,5 @@ BASE_FEATURE(kStorageAccessHeadersTrial, + "StorageAccessHeadersTrial", + base::FEATURE_ENABLED_BY_DEFAULT); +#include "cromite_flags/services_network_public_cpp_features_cc.inc" } // namespace network::features diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h -@@ -186,6 +186,7 @@ extern const base::FeatureParam kNetworkContextPrefetchMaxLoaders; - COMPONENT_EXPORT(NETWORK_CPP) - BASE_DECLARE_FEATURE(kTreatNullIPAsPublicAddressSpace); +@@ -195,6 +195,7 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kStorageAccessHeaders); + // Enables the Storage Access Headers Origin Trial. + COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kStorageAccessHeadersTrial); +#include "cromite_flags/services_network_public_cpp_features_h.inc" } // namespace network::features @@ -1824,7 +1864,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 -@@ -2708,4 +2708,5 @@ bool IsCanvasSharedBitmapConversionEnabled() { +@@ -2735,4 +2735,5 @@ bool IsCanvasSharedBitmapConversionEnabled() { features::kCanvasSharedBitmapToSharedImage); } @@ -1833,8 +1873,8 @@ 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 -@@ -1831,6 +1831,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls); - +@@ -1840,6 +1840,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCanvasSharedBitmapToSharedImage); BLINK_COMMON_EXPORT bool IsCanvasSharedBitmapConversionEnabled(); +#include "cromite_flags/third_party_blink_common_features_h.inc" diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 59dfd6cf..363cd8e1 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java -@@ -1168,7 +1168,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1214,7 +1214,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid public @CustomTabProfileType int getCustomTabMode() { return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ? CustomTabProfileType.INCOGNITO @@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java -@@ -920,6 +920,7 @@ public class CustomTabsConnection { +@@ -929,6 +929,7 @@ public class CustomTabsConnection { PostTask.postTask( TaskTraits.UI_DEFAULT, () -> { @@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -53,6 +53,15 @@ import org.chromium.components.user_prefs.UserPrefs; +@@ -55,6 +55,15 @@ import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; @@ -194,17 +194,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import androidx.annotation.Nullable; import androidx.preference.PreferenceCategory; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; -@@ -99,6 +108,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment - +@@ -102,6 +111,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private IncognitoLockSettings mIncognitoLockSettings; + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); + private ChromeSwitchPreference allowCustomTabIntentsPref; + private ChromeSwitchPreference openExternalLinksPref; + @Override public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { - getActivity().setTitle(R.string.prefs_privacy_security); -@@ -312,6 +324,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + mPageTitle.set(getString(R.string.prefs_privacy_security)); +@@ -320,6 +332,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); -@@ -328,6 +343,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -336,6 +351,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -246,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -350,6 +390,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -358,6 +398,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -266,7 +266,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -638,6 +638,7 @@ public abstract class ChromeFeatureList { +@@ -656,6 +656,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sLogoPolishAnimationKillSwitch = newCachedFlag(LOGO_POLISH_ANIMATION_KILL_SWITCH, true); public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true); @@ -274,7 +274,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sMostVisitedTilesReselect = newCachedFlag(MOST_VISITED_TILES_RESELECT, false); public static final CachedFlag sMultiInstanceApplicationStatusCleanup = -@@ -768,6 +769,7 @@ public abstract class ChromeFeatureList { +@@ -792,6 +793,7 @@ public abstract class ChromeFeatureList { sLogoPolish, sLogoPolishAnimationKillSwitch, sMagicStackAndroid, @@ -346,7 +346,7 @@ 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 -@@ -24,4 +24,5 @@ BASE_FEATURE(kCctAutoTranslate, +@@ -28,4 +28,5 @@ BASE_FEATURE(kTranslateOpenSettings, // Params: const char kContentLanguagesDisableObserversParam[] = "disable_observers"; diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index c2c33791..f8cbc7a5 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -7,16 +7,16 @@ Corrected Exit functionality License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- chrome/android/java/res/menu/main_menu.xml | 6 ++++++ - .../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++ .../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++ .../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++ + .../chrome/browser/lifetime/ApplicationLifetime.java | 2 ++ .../browser/ui/android/strings/android_chrome_strings.grd | 3 +++ 5 files changed, 21 insertions(+) diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -163,6 +163,9 @@ found in the LICENSE file. +@@ -157,6 +157,9 @@ found in the LICENSE file. @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -192,6 +195,9 @@ found in the LICENSE file. +@@ -186,6 +189,9 @@ found in the LICENSE file. @@ -36,10 +36,54 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java -@@ -7,6 +7,7 @@ package org.chromium.chrome.browser; +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 +@@ -273,6 +273,8 @@ import java.util.Set; + import java.util.concurrent.atomic.AtomicBoolean; + import java.util.function.DoubleConsumer; + ++import org.chromium.chrome.browser.ApplicationLifetime; ++ + /** + * This is the main activity for ChromeMobile when not running in document mode. All the tabs are + * accessible via a chrome specific tab switching UI. +@@ -2825,6 +2827,8 @@ public class ChromeTabbedActivity extends ChromeActivity + return true; + } + ++ if (id == R.id.exit_id) { ++ ApplicationLifetime.terminate(false); ++ return true; ++ } ++ + if (id == R.id.update_menu_id) { + UpdateMenuItemHelper.getInstance( + getProfileProviderSupplier().get().getOriginalProfile()) +diff --git a/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java b/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java +--- a/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java ++++ b/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java +@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.lifetime; import org.jni_zero.CalledByNative; import org.chromium.base.ObserverList; @@ -55,54 +99,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife for (Observer observer : sObservers) { observer.onTerminate(restart); } -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 -@@ -263,6 +263,8 @@ import java.util.Set; - import java.util.concurrent.atomic.AtomicBoolean; - import java.util.function.DoubleConsumer; - -+import org.chromium.chrome.browser.ApplicationLifetime; -+ - /** - * This is the main activity for ChromeMobile when not running in document mode. All the tabs are - * accessible via a chrome specific tab switching UI. -@@ -2699,6 +2701,8 @@ public class ChromeTabbedActivity extends ChromeActivity - return true; - } - -+ if (id == R.id.exit_id) { -+ ApplicationLifetime.terminate(false); -+ return true; -+ } -+ - if (id == R.id.update_menu_id) { - UpdateMenuItemHelper.getInstance( - getProfileProviderSupplier().get().getOriginalProfile()) 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 -@@ -4245,6 +4245,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4334,6 +4334,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 2cd9a811..8665a06b 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -541,6 +542,15 @@ AutocompleteController::AutocompleteController( +@@ -535,6 +536,15 @@ AutocompleteController::AutocompleteController( provider_client_->GetOmniboxTriggeredFeatureService()), steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 7a5b9bb4..4dd58944 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,9 +45,9 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1081,6 +1081,7 @@ component("net") { - "//build:chromeos_buildflags", +@@ -1096,6 +1096,7 @@ component("net") { "//components/miracle_parameter/common", + "//components/network_time/time_tracker", "//net/http:transport_security_state_generated_files", + "//components/network_session_configurator/common" ] 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 541ddadc..88056239 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -173,7 +173,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 -@@ -1560,6 +1560,12 @@ public class ExternalNavigationHandler { +@@ -1521,6 +1521,12 @@ public class ExternalNavigationHandler { || ignoreBackForwardNav(params); } @@ -186,7 +186,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1623,6 +1629,21 @@ public class ExternalNavigationHandler { +@@ -1583,6 +1589,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 e7237dec..2815f1cd 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -104,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -757,6 +757,10 @@ +@@ -797,6 +797,10 @@ status: {"Android": "stable"}, base_feature: "none", }, diff --git a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch index 682b7b9e..42d0ac6d 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -1962,7 +1962,6 @@ config("default_warnings") { +@@ -1967,7 +1967,6 @@ config("default_warnings") { # TODO(crbug.com/40284799): Fix and re-enable. "-Wno-thread-safety-reference-return", ] @@ -22,7 +22,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags_cc += [ # TODO(crbug.com/328490295): Fix and re-enable for C flags. "-Wenum-compare-conditional", -@@ -1980,6 +1979,16 @@ config("default_warnings") { +@@ -1985,6 +1984,16 @@ config("default_warnings") { # TODO(crbug.com/356172342): Fix and re-enable. cflags_cc += [ "-Wno-dangling-assignment-gsl" ] } diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 4f6830da..0c8de227 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -241,7 +241,7 @@ diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc --- a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc +++ b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc -@@ -99,7 +99,7 @@ void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) { +@@ -100,7 +100,7 @@ void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) { } ButtonType button = GetButtonType(button_id); if (button == ButtonType::kAllowThisTime) { @@ -253,7 +253,7 @@ diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_pro diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc --- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc +++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc -@@ -241,7 +241,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { +@@ -266,7 +266,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { delegate_->Accept(); return; case PermissionDialogButton::kAcceptOnce: @@ -276,7 +276,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 -@@ -561,6 +561,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -574,6 +574,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } } @@ -288,7 +288,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private void setUpClearDataPreference() { ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); long usage = mSite.getTotalUsage(); -@@ -1092,6 +1097,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1108,6 +1113,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment AppCompatResources.getColorStateList(getContext(), mHighlightColor) .getDefaultColor()); } @@ -468,7 +468,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -153,6 +153,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -164,6 +164,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( std::map user_specified_settings_to_display; @@ -477,7 +477,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp for (const auto& permission : permission_info_list) { if (base::Contains(permissions_to_display, permission.type)) { -@@ -161,6 +163,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -172,6 +174,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( if (setting_to_display) { user_specified_settings_to_display[permission.type] = *setting_to_display; @@ -486,7 +486,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } } } -@@ -177,7 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -188,7 +192,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( ConvertUTF16ToJavaString(env, setting_title), ConvertUTF16ToJavaString(env, setting_title_mid_sentence), static_cast(permission), @@ -496,7 +496,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } } -@@ -190,7 +195,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -201,7 +206,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title), static_cast(chosen_object->ui_info->content_settings_type), @@ -509,7 +509,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc --- a/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc -@@ -1179,6 +1179,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1181,6 +1181,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); @@ -763,7 +763,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_ diff --git a/components/permissions/android/permissions_android_strings.grd b/components/permissions/android/permissions_android_strings.grd --- a/components/permissions/android/permissions_android_strings.grd +++ b/components/permissions/android/permissions_android_strings.grd -@@ -264,6 +264,23 @@ +@@ -267,6 +267,23 @@ Unknown or unsupported device (%1$sA1:B2:C3:D4:E5:F6) @@ -920,7 +920,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc --- a/components/permissions/permission_context_base.cc +++ b/components/permissions/permission_context_base.cc -@@ -266,6 +266,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const { +@@ -267,6 +267,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const { return true; } @@ -938,7 +938,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm content::PermissionResult PermissionContextBase::GetPermissionStatus( content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, -@@ -502,7 +513,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, +@@ -513,7 +524,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, const GURL& embedding_origin, ContentSetting content_setting, bool is_one_time, @@ -948,7 +948,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK(content_setting == CONTENT_SETTING_ALLOW || content_setting == CONTENT_SETTING_BLOCK || content_setting == CONTENT_SETTING_DEFAULT); -@@ -517,13 +529,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, +@@ -528,13 +540,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, // missing if a permission prompt was preignored and we already notified an // origin about it. if (request->second.second) { @@ -967,7 +967,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } } -@@ -591,11 +604,27 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -602,11 +615,27 @@ void PermissionContextBase::NotifyPermissionSet( ContentSetting content_setting, bool is_one_time, bool is_final_decision) { @@ -996,7 +996,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } if (is_final_decision) { -@@ -635,6 +664,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, +@@ -646,6 +675,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, const GURL& embedding_origin, ContentSetting content_setting, bool is_one_time) { @@ -1012,7 +1012,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL()); DCHECK(content_setting == CONTENT_SETTING_ALLOW || -@@ -644,6 +682,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, +@@ -655,6 +693,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, constraints.set_session_model( is_one_time ? content_settings::mojom::SessionModel::ONE_TIME : content_settings::mojom::SessionModel::DURABLE); @@ -1107,7 +1107,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { DCHECK(delete_callback_.is_null()); } -@@ -386,19 +394,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -412,19 +420,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { return request_type() == RequestType::kStorageAccess; } @@ -1217,7 +1217,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } request->RequestFinished(); return; -@@ -618,7 +618,8 @@ void PermissionRequestManager::Accept() { +@@ -620,7 +620,8 @@ void PermissionRequestManager::Accept() { (*requests_iter)->request_type(), PermissionAction::GRANTED); PermissionGrantedIncludingDuplicates(*requests_iter, @@ -1227,7 +1227,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p #if !BUILDFLAG(IS_ANDROID) std::optional content_settings_type = -@@ -636,7 +637,7 @@ void PermissionRequestManager::Accept() { +@@ -638,7 +639,7 @@ void PermissionRequestManager::Accept() { CurrentRequestsDecided(PermissionAction::GRANTED); } @@ -1236,7 +1236,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) return; DCHECK(view_); -@@ -648,7 +649,8 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -651,7 +652,8 @@ void PermissionRequestManager::AcceptThisTime() { (*requests_iter)->request_type(), PermissionAction::GRANTED_ONCE); PermissionGrantedIncludingDuplicates(*requests_iter, @@ -1246,7 +1246,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::GRANTED_ONCE); -@@ -656,6 +658,15 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -659,6 +661,15 @@ void PermissionRequestManager::AcceptThisTime() { } void PermissionRequestManager::Deny() { @@ -1262,7 +1262,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) return; DCHECK(view_); -@@ -679,7 +690,7 @@ void PermissionRequestManager::Deny() { +@@ -683,7 +694,7 @@ void PermissionRequestManager::Deny() { StorePermissionActionForUMA((*requests_iter)->requesting_origin(), (*requests_iter)->request_type(), PermissionAction::DENIED); @@ -1271,7 +1271,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::DENIED); -@@ -1255,32 +1266,32 @@ PermissionRequestManager::VisitDuplicateRequests( +@@ -1264,32 +1275,32 @@ PermissionRequestManager::VisitDuplicateRequests( void PermissionRequestManager::PermissionGrantedIncludingDuplicates( PermissionRequest* request, @@ -1314,7 +1314,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1541,7 +1552,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1550,7 +1561,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: diff --git a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch index fd8e45bc..abff9f3f 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -186,6 +190,9 @@ found in the LICENSE file. +@@ -180,6 +184,9 @@ found in the LICENSE file. @@ -55,7 +55,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -92,6 +92,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker; +@@ -95,6 +95,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker; import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.compositor.CompositorViewHolder; @@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.compositor.layouts.Layout; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; -@@ -2731,6 +2732,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -173,7 +173,8 @@ class Writer : public base::RefCountedThreadSafe { BookmarkCodec codec; bookmarks_ = codec.Encode(model->bookmark_bar_node(), model->other_node(), @@ -337,7 +337,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b } Writer(const Writer&) = delete; -@@ -195,15 +196,19 @@ class Writer : public base::RefCountedThreadSafe { +@@ -200,15 +201,19 @@ class Writer : public base::RefCountedThreadSafe { roots->FindDict(BookmarkCodec::kOtherBookmarkFolderNameKey); base::Value::Dict* mobile_folder_value = roots->FindDict(BookmarkCodec::kMobileBookmarkFolderNameKey); @@ -358,7 +358,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes); return; } -@@ -467,6 +472,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() { +@@ -472,6 +477,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() { BookmarkModelFactory::GetForBrowserContext(profile_)->other_node()); ExtractUrls( BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node()); @@ -391,7 +391,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -4372,6 +4372,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4461,6 +4461,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 771a1006..b5a9ed58 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -17,32 +17,32 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/ --- a/chrome/android/java/res/menu/custom_tabs_menu.xml +++ b/chrome/android/java/res/menu/custom_tabs_menu.xml @@ -58,6 +58,9 @@ found in the LICENSE file. - + - diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml @@ -110,6 +110,9 @@ found in the LICENSE file. - + - + diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -2764,6 +2764,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2640,6 +2640,11 @@ public abstract class ChromeActivity return doOpenWebApk(currentTab); } @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App updateAutoDarkMenuItem(menu, currentTab, isNativePage); -@@ -1298,6 +1299,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -1276,6 +1277,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate findInPageMenuRow.setVisible(itemVisible); } @@ -104,7 +104,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 -@@ -299,6 +299,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -296,6 +296,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat updateRequestDesktopSiteMenuItem( menu, currentTab, requestDesktopSiteVisible, isNativePage); diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index 24d791f8..beb0b3dd 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 -@@ -336,7 +336,12 @@ class TabGridViewBinder { +@@ -346,7 +346,12 @@ class TabGridViewBinder { if (result != null) { TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize); } else { @@ -29,7 +29,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } }; if (sThumbnailFetcherForTesting != null) { -@@ -375,6 +380,7 @@ class TabGridViewBinder { +@@ -385,6 +390,7 @@ class TabGridViewBinder { ViewLookupCachingFrameLayout rootView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) { @@ -40,7 +40,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java -@@ -82,6 +82,9 @@ public class TabProperties { +@@ -76,6 +76,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 { +@@ -155,6 +158,7 @@ public class TabProperties { CARD_TYPE, CONTENT_DESCRIPTION_STRING, ACTION_BUTTON_DESCRIPTION_STRING, @@ -58,14 +58,14 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser SHOPPING_PERSISTED_TAB_DATA_FETCHER, SHOULD_SHOW_PRICE_DROP_TOOLTIP, QUICK_DELETE_ANIMATION_STATUS, -@@ -196,6 +200,7 @@ public class TabProperties { - TAB_ACTION_BUTTON_LISTENER, +@@ -173,6 +177,7 @@ public class TabProperties { + TAB_ACTION_BUTTON_DATA, FAVICON_FETCHED, FAVICON_FETCHER, + FAVICON, IS_SELECTED, TITLE, - TABSTRIP_FAVICON_BACKGROUND_COLOR_ID, + HAS_NOTIFICATION_BUBBLE diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml @@ -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.ChromePreferenceKeys; +@@ -141,6 +141,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; 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; -@@ -725,7 +726,7 @@ public abstract class ChromeActivity +@@ -716,7 +717,7 @@ public abstract class ChromeActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -104,7 +104,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/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -72,12 +72,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -74,12 +74,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_PRELOAD_PAGES = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; -@@ -162,6 +176,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -165,6 +179,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } } @@ -154,7 +154,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE); // Record the launch of PG from the S&P link-row entry point privacyGuidePreference.setOnPreferenceClickListener( -@@ -368,6 +397,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -376,6 +405,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito"; @@ -162,7 +162,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { -@@ -410,6 +440,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -418,6 +448,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); sharedPreferencesEditor.apply(); @@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -466,6 +503,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -474,6 +511,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -190,7 +190,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 -@@ -5870,6 +5870,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5979,6 +5979,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 55ed9629..bdc9fb94 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++ .../chrome/browser/app/ChromeActivity.java | 4 +++- .../overlays/strip/StripLayoutHelper.java | 10 ++++++-- - .../strip/StripLayoutHelperManager.java | 7 +++++- + .../strip/StripLayoutHelperManager.java | 6 ++++- .../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++- .../chrome/browser/ui/RootUiCoordinator.java | 5 +++- chrome/browser/preferences/BUILD.gn | 1 + @@ -35,7 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../res/xml/accessibility_preferences.xml | 5 ++++ .../AccessibilitySettingsDelegate.java | 11 +++++++++ .../chromium/ui/base/DeviceFormFactor.java | 9 +++++++ - 31 files changed, 158 insertions(+), 30 deletions(-) + 31 files changed, 157 insertions(+), 30 deletions(-) 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 @@ -78,7 +78,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 -@@ -118,9 +118,13 @@ found in the LICENSE file. +@@ -115,9 +115,13 @@ found in the LICENSE file. 16dp @@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java -@@ -18,6 +18,7 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -20,6 +20,7 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.settings.SettingsLauncherFactory; import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate; @@ -126,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s import org.chromium.components.browser_ui.accessibility.FontSizePrefs; import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver; import org.chromium.components.browser_ui.accessibility.PageZoomPreference; -@@ -47,6 +48,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -50,6 +51,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment public static final String PREF_ZOOM_INFO = "zoom_info"; public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions"; @@ -136,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s private TextScalePreference mTextScalePref; private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; -@@ -144,6 +148,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -151,6 +155,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mPrefService.getBoolean(Pref.READER_FOR_ACCESSIBILITY)); readerForAccessibilityPref.setOnPreferenceChangeListener(this); @@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -216,6 +226,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -223,6 +233,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mFontSizePrefs.setUserFontScaleFactor((Float) newValue); } else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) { mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue); @@ -191,7 +191,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 -@@ -870,7 +870,9 @@ public abstract class ChromeActivity +@@ -861,7 +861,9 @@ public abstract class ChromeActivity // Inflate the correct toolbar layout for the device. int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -205,7 +205,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 -@@ -89,6 +89,7 @@ import org.chromium.components.prefs.PrefService; +@@ -90,6 +90,7 @@ import org.chromium.components.prefs.PrefService; import org.chromium.components.tab_groups.TabGroupColorId; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.MotionEventUtils; @@ -213,7 +213,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.interpolators.Interpolators; -@@ -5176,8 +5177,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro +@@ -5273,8 +5274,13 @@ public class StripLayoutHelper mTabMenu.setAnchorView(tabView); // 3. Set the vertical offset to align the tab menu with bottom of the tab strip int tabHeight = mManagerHost.getHeight(); @@ -232,15 +232,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 -@@ -90,6 +90,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController; - import org.chromium.components.browser_ui.styles.SemanticColorUtils; - import org.chromium.components.browser_ui.widget.scrim.ScrimProperties; - import org.chromium.content_public.browser.LoadUrlParams; -+import org.chromium.ui.base.DeviceFormFactor; - import org.chromium.ui.base.LocalizationUtils; - import org.chromium.ui.base.PageTransition; - import org.chromium.ui.base.WindowAndroid; -@@ -455,11 +456,15 @@ public class StripLayoutHelperManager +@@ -455,11 +455,15 @@ public class StripLayoutHelperManager mIsLayoutOptimizationsEnabled = ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true); @@ -260,7 +252,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/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 -@@ -531,7 +531,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -556,7 +556,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public int getControlContainerHeightResource() { @@ -274,7 +266,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 -@@ -103,6 +103,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; +@@ -104,6 +104,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.pdf.PdfPage; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; @@ -282,7 +274,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController; import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier; import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController; -@@ -1740,7 +1741,9 @@ public class RootUiCoordinator +@@ -1775,7 +1776,9 @@ public class RootUiCoordinator if (!mSupportsFindInPageSupplier.getAsBoolean()) return; int stubId = R.id.find_toolbar_stub; @@ -377,7 +369,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 -@@ -1664,6 +1664,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1721,6 +1721,13 @@ Your Google account may have other forms of browsing history like searches and a Hide your IP address @@ -544,7 +536,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.ui.util.TokenHolder; import org.chromium.url.GURL; -@@ -634,7 +635,9 @@ public abstract class ToolbarLayout extends FrameLayout +@@ -642,7 +643,9 @@ public abstract class ToolbarLayout extends FrameLayout * not have a tab strip. */ protected int getTabStripHeightFromResource() { @@ -570,7 +562,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -70,7 +70,7 @@ if (is_ios) { +@@ -71,7 +71,7 @@ if (is_ios) { # Omit Lacros because it allows //components to depend on //chrome, which in # turn depends on //extensions. @@ -579,7 +571,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn disallowed_extension_deps_ = [ # Components should largely not depend on //extensions. Since // extensions # is not a component target and is linked with //chrome, depending on most -@@ -868,7 +868,7 @@ test("components_unittests") { +@@ -877,7 +877,7 @@ test("components_unittests") { # On other platforms, no components should depend on Chrome. # Since //chrome depends on //extensions, we also only assert_no_deps on # extensions targets for non-lacros builds. @@ -588,7 +580,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn assert_no_deps = [ "//chrome/*" ] assert_no_deps += disallowed_extension_deps_ } -@@ -1161,7 +1161,7 @@ if (use_blink) { +@@ -1170,7 +1170,7 @@ if (use_blink) { # dependency. On other platforms, no components should depend on Chrome. # Since //chrome depends on //extensions, we also only assert_no_deps on # extensions targets for non-lacros builds. @@ -643,9 +635,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java --- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java +++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java -@@ -31,6 +31,14 @@ public class DeviceFormFactor { - /** Matches the value set in res/values-sw720dp/values.xml */ - private static final int SCREEN_BUCKET_LARGET_TABLET = 3; +@@ -35,6 +35,14 @@ public class DeviceFormFactor { + /** See {@link #setIsTabletForTesting(boolean)}. */ + private static Boolean sIsTabletForTesting; + private static boolean mForceTabletUI = true; + public static void setForceTabletUI(boolean forceTabletUI) { @@ -657,9 +649,9 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui + /** * Each activity could be on a different display, and this will just tell you whether the - * display associated with the application context is "tablet sized". -@@ -56,6 +64,7 @@ public class DeviceFormFactor { - * E.g. http://developer.samsung.com/samsung-dex/testing + * display associated with the application context is "tablet sized". Use {@link +@@ -73,6 +81,7 @@ public class DeviceFormFactor { + * E.g. http://developer.samsung.com/samsung-dex/testing */ public static boolean isNonMultiDisplayContextOnTablet(Context context) { + if (mForceTabletUI) return true; 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 541018cd..41571325 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -41,6 +41,7 @@ import org.chromium.base.BuildInfo; +@@ -43,6 +43,7 @@ import org.chromium.base.BuildInfo; import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.CommandLine; @@ -36,9 +36,9 @@ 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; -@@ -1477,8 +1478,10 @@ public class ChromeTabbedActivity extends ChromeActivityBEGIN_LINKdelete the Chrome d +@@ -5488,6 +5488,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d IMAGE diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch index 5d6f997d..30bf001f 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 @@ -23,15 +23,15 @@ 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/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 -@@ -20,6 +20,7 @@ import org.chromium.base.supplier.LazyOneshotSupplier; - import org.chromium.base.supplier.ObservableSupplier; - import org.chromium.base.supplier.ObservableSupplierImpl; - import org.chromium.base.supplier.OneshotSupplier; +@@ -22,6 +22,7 @@ import org.chromium.base.supplier.OneshotSupplier; + import org.chromium.chrome.R; + import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator; + import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.homepage.HomepageManager; import org.chromium.chrome.browser.layouts.LayoutStateProvider; import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver; import org.chromium.chrome.browser.layouts.LayoutType; -@@ -433,10 +434,15 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -392,10 +393,15 @@ public class TabGroupUiMediator implements BackPressHandler { assert relatedTabs.size() > 0; parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1); @@ -51,7 +51,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/TabUiUtils.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java -@@ -31,6 +31,8 @@ import org.chromium.components.tab_group_sync.SavedTabGroup; +@@ -35,6 +35,8 @@ import org.chromium.components.tab_group_sync.SavedTabGroup; import org.chromium.components.tab_group_sync.TabGroupSyncService; import org.chromium.components.tab_groups.TabGroupColorId; import org.chromium.content_public.browser.LoadUrlParams; @@ -60,7 +60,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.util.List; import java.util.Objects; -@@ -191,8 +193,13 @@ public class TabUiUtils { +@@ -195,8 +197,13 @@ public class TabUiUtils { List relatedTabs = filter.getRelatedTabList(tabId); assert relatedTabs.size() > 0; @@ -119,7 +119,7 @@ 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 -@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -24,6 +24,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; @@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin /** Fragment that allows the user to configure homepage related preferences. */ public class HomepageSettings extends ChromeBaseSettingsFragment { -@@ -30,6 +31,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { +@@ -32,6 +33,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { @VisibleForTesting public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group"; @@ -135,8 +135,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin + private HomepageManager mHomepageManager; private RadioButtonGroupHomepagePreference mRadioButtons; - -@@ -64,6 +67,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); +@@ -67,6 +70,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { }); mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup()); @@ -213,7 +213,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 -@@ -1453,6 +1453,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1507,6 +1507,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -238,7 +238,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 -@@ -1361,6 +1361,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; +@@ -1365,6 +1365,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; // toolbar. inline constexpr char kShowForwardButton[] = "browser.show_forward_button"; diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index 47e98c7b..08b52dfe 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -60,8 +60,8 @@ diff --git a/components/resources/search_engine_choice_scaled_resources.grdp b/c diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json --- a/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json -@@ -115,6 +115,16 @@ - "id": 92 +@@ -133,6 +133,16 @@ + ] }, + "duckduckgo_light": { @@ -77,7 +77,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se "ecosia": { "name": "Ecosia", "keyword": "ecosia.org", -@@ -184,6 +194,27 @@ +@@ -208,6 +218,27 @@ "id": 111 }, @@ -108,7 +108,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se 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 -@@ -219,10 +219,7 @@ void RecordChoiceScreenDefaultSearchProviderType(SearchEngineType engine_type) { +@@ -178,10 +178,7 @@ void RecordChoiceScreenDefaultSearchProviderType(SearchEngineType engine_type) { } void RecordChoiceScreenSelectedIndex(int selected_engine_index) { @@ -144,7 +144,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_ +++ b/components/search_engines/search_engine_type.h @@ -91,10 +91,15 @@ enum SearchEngineType { SEARCH_ENGINE_YOU = 72, - SEARCH_ENGINE_STARTER_PACK_ASK_GOOGLE = 73, + SEARCH_ENGINE_STARTER_PACK_GEMINI = 73, SEARCH_ENGINE_LILO = 74, + SEARCH_ENGINE_GOOGLE_EN = 75, + SEARCH_ENGINE_DUCKDUCKGOLIGHT = 76, @@ -161,7 +161,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc --- a/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc -@@ -85,7 +85,6 @@ GetPrepopulatedEnginesForEeaRegionCountries(int country_id, +@@ -83,7 +83,6 @@ GetPrepopulatedEnginesForEeaRegionCountries(int country_id, generator.seed(profile_seed); std::shuffle(t_urls.begin(), t_urls.end(), generator); 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 5483f677..1d2a2bf4 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../browsing_data/browsing_data_bridge.cc | 2 +- .../chrome_browsing_data_lifetime_manager.cc | 22 +++++- .../chrome_browsing_data_remover_constants.h | 3 +- - .../chrome_browsing_data_remover_delegate.cc | 18 +++++ + .../chrome_browsing_data_remover_delegate.cc | 14 ++++ chrome/browser/dips/dips_service.cc | 2 +- .../api/settings_private/prefs_util.cc | 17 +++++ .../browser/profiles/ProfileManagerUtils.java | 5 ++ @@ -33,13 +33,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html components/browsing_data/core/pref_names.h | 10 +++ .../search_engines/template_url_service.cc | 1 + content/browser/storage_partition_impl.cc | 1 + - 29 files changed, 327 insertions(+), 23 deletions(-) + 29 files changed, 323 insertions(+), 23 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java 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 -@@ -308,6 +308,7 @@ chrome_java_sources = [ +@@ -311,6 +311,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java", @@ -50,20 +50,20 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -171,6 +171,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; +@@ -178,6 +178,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; +import org.chromium.chrome.browser.profiles.ProfileManagerUtils; import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler; + import org.chromium.chrome.browser.recent_tabs.CrossDevicePaneFactory; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; - import org.chromium.chrome.browser.safety_hub.SafetyHubMagicStackBuilder; -@@ -1477,7 +1478,11 @@ public class ChromeTabbedActivity extends ChromeActivity Delete browsing data @@ -298,7 +298,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_constants 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 -@@ -454,6 +454,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -458,6 +458,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -308,27 +308,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -504,7 +507,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( - prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS | - prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); - } -+ } - -+ if ((remove_mask & constants::DATA_TYPE_HISTORY) && may_delete_history) { - // The saved Autofill profiles and credit cards can include the origin from - // which these profiles and credit cards were learned. These are a form of - // history, so clear them as well. -@@ -525,7 +530,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( - if (data_manager) - data_manager->Refresh(); - } -+ } - -+ if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_CACHE) { - base::ThreadPool::PostTaskAndReply( - FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, - base::BindOnce( -@@ -572,6 +579,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -555,6 +558,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()) { @@ -340,7 +320,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. profile_->GetSSLHostStateDelegate()->Clear( filter_builder->MatchesAllOriginsAndDomains() ? base::RepeatingCallback() -@@ -600,9 +612,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -583,9 +591,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } device_event_log::Clear(delete_begin_, delete_end_); @@ -354,7 +334,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( delete_begin_, delete_end_); -@@ -1293,6 +1309,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -1279,6 +1291,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (should_clear_zero_suggest_and_session_token && template_url_service) template_url_service->ClearSessionToken(); @@ -378,7 +358,7 @@ diff --git a/chrome/browser/dips/dips_service.cc b/chrome/browser/dips/dips_serv 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 -@@ -529,6 +529,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -536,6 +536,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::kNumber; @@ -436,7 +416,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1467,6 +1467,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, +@@ -1475,6 +1475,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, } } @@ -456,7 +436,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile void ProfileManager::DoFinalInitForServices(Profile* profile, bool go_off_the_record) { if (!do_final_services_init_ || -@@ -2181,7 +2194,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { +@@ -2178,7 +2191,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { Profile* original_profile = profile->GetOriginalProfile(); // Do nothing if the closed window is not the last window of the same profile. for (Browser* browser_iter : *BrowserList::GetInstance()) { @@ -553,7 +533,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 -@@ -1387,7 +1387,7 @@ For example, some websites may respond to this request by showing you ads that a +@@ -1441,7 +1441,7 @@ For example, some websites may respond to this request by showing you ads that a Delete browsing data @@ -562,7 +542,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Deleted Chrome data -@@ -1548,6 +1548,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1602,6 +1602,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>. @@ -575,7 +555,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 -@@ -1814,6 +1814,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1735,6 +1735,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -661,7 +641,7 @@ diff --git a/components/browsing_data/core/browsing_data_policies_utils.h b/comp diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/browsing_data/core/browsing_data_utils.cc --- a/components/browsing_data/core/browsing_data_utils.cc +++ b/components/browsing_data/core/browsing_data_utils.cc -@@ -318,6 +318,37 @@ bool GetDeletionPreferenceFromDataType( +@@ -343,6 +343,37 @@ bool GetDeletionPreferenceFromDataType( BrowsingDataType data_type, ClearBrowsingDataTab clear_browsing_data_tab, std::string* out_pref) { @@ -714,7 +694,7 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc --- a/components/browsing_data/core/pref_names.cc +++ b/components/browsing_data/core/pref_names.cc -@@ -29,6 +29,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -65,6 +65,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterIntegerPref( kClearBrowsingDataHistoryNoticeShownTimes, 0); @@ -741,7 +721,7 @@ diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_d diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_data/core/pref_names.h --- a/components/browsing_data/core/pref_names.h +++ b/components/browsing_data/core/pref_names.h -@@ -28,6 +28,16 @@ inline constexpr char kClearBrowsingDataOnExitDeletionPending[] = +@@ -32,6 +32,16 @@ inline constexpr char kClearBrowsingDataOnExitDeletionPending[] = inline constexpr char kClearBrowsingDataOnExitList[] = "browser.clear_data.clear_on_exit"; @@ -761,7 +741,7 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da 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 -@@ -798,6 +798,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( +@@ -796,6 +796,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 && @@ -772,7 +752,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear 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 -@@ -1471,6 +1471,7 @@ void StoragePartitionImpl::Initialize( +@@ -1494,6 +1494,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 6033b5c9..01df7154 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 @@ -70,7 +70,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/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java -@@ -56,6 +56,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -59,6 +59,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate; private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate; @@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s private TextScalePreference mTextScalePref; private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; -@@ -175,6 +178,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -182,6 +185,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.isEnabled()); mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this); @@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -264,6 +273,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -271,6 +280,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDelegate.requestRestart(getActivity()); } else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) { mDisableToolbarSwipeUpDelegate.setEnabled((Boolean) newValue); @@ -164,7 +164,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 -@@ -273,6 +273,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -275,6 +275,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -174,7 +174,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { -@@ -638,6 +641,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -652,6 +655,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { getProfile(), false); }); @@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -312,6 +312,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -317,6 +317,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupCreationDialogAndroid, &kTabGroupParityAndroid, &kTabletTabSwitcherLongPressMenu, @@ -215,7 +215,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 -@@ -378,6 +378,8 @@ public abstract class ChromeFeatureList { +@@ -384,6 +384,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -224,7 +224,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; -@@ -670,6 +672,8 @@ public abstract class ChromeFeatureList { +@@ -688,6 +690,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -233,9 +233,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sPrivacyGuidePreloadAndroid = newCachedFlag(PRIVACY_GUIDE_PRELOAD_ANDROID, false); public static final CachedFlag sOptimizationGuidePushNotifications = -@@ -830,6 +834,7 @@ public abstract class ChromeFeatureList { - sTabWindowManagerIndexReassignmentActivityNotInAppTasks, +@@ -853,6 +857,7 @@ public abstract class ChromeFeatureList { sTabWindowManagerReportIndicesMismatch, + sTraceBinderIpc, sUseChimeAndroidSdk, + sShowAlwaysContextMenuOnLinks, sUseLibunwindstackNativeUnwinderAndroid, @@ -244,7 +244,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 -@@ -1729,6 +1729,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1786,6 +1786,12 @@ Your Google account may have other forms of browsing history like searches and a Disable toolbar swipe up @@ -257,7 +257,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3192,6 +3198,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3257,6 +3263,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -344,7 +344,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc --- a/third_party/blink/renderer/core/html/html_anchor_element.cc +++ b/third_party/blink/renderer/core/html/html_anchor_element.cc -@@ -63,6 +63,7 @@ +@@ -62,6 +62,7 @@ #include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/page/chrome_client.h" @@ -352,7 +352,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third #include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" -@@ -519,6 +520,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, +@@ -502,6 +503,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, bool is_trusted, base::TimeTicks platform_time_stamp, KURL completed_url) { @@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third LocalDOMWindow* window = GetDocument().domWindow(); if (!window) { return; -@@ -585,6 +597,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, +@@ -568,6 +580,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, request.GetReferrerPolicy())); } @@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third Frame* target_frame = frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame; -@@ -639,7 +660,7 @@ AtomicString HTMLAnchorElement::interestAction() const { +@@ -622,7 +643,7 @@ AtomicString HTMLAnchorElement::interestAction() const { return g_empty_atom; } @@ -395,7 +395,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third event.SetDefaultHandled(); LocalDOMWindow* window = GetDocument().domWindow(); -@@ -735,13 +756,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { +@@ -718,13 +739,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { return; } @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third // We distinguish single/double click with some modifiers. // See the comment of `EventHandler.delayed_navigation_task_handle_`. auto task_handle = PostDelayedCancellableTask( -@@ -751,7 +771,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { +@@ -734,7 +754,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -435,7 +435,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_ protected: void ParseAttribute(const AttributeModificationParams&) override; -@@ -147,7 +148,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { +@@ -146,7 +147,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { bool is_trusted, base::TimeTicks platform_time_stamp, KURL); @@ -467,7 +467,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ #include "third_party/blink/renderer/core/paint/timing/paint_timing.h" #include "third_party/blink/renderer/core/probe/core_probes.h" #include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h" -@@ -799,6 +801,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( +@@ -798,6 +800,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( } } @@ -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 -@@ -222,6 +222,8 @@ class CORE_EXPORT HTMLImageElement +@@ -218,6 +218,8 @@ class CORE_EXPORT HTMLImageElement void DidAddUserAgentShadowRoot(ShadowRoot&) override; void AdjustStyle(ComputedStyleBuilder&) override; @@ -504,7 +504,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc --- a/third_party/blink/renderer/core/page/context_menu_controller.cc +++ b/third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -231,14 +231,16 @@ void ContextMenuController::DocumentDetached(Document* document) { +@@ -232,14 +232,16 @@ void ContextMenuController::DocumentDetached(Document* document) { } } @@ -524,7 +524,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t mouse_event->SetDefaultHandled(); } -@@ -456,7 +458,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( +@@ -457,7 +459,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( bool ContextMenuController::ShowContextMenu(LocalFrame* frame, const PhysicalOffset& point, WebMenuSourceType source_type, @@ -534,7 +534,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Displaying the context menu in this function is a big hack as we don't // have context, i.e. whether this is being invoked via a script or in // response to user input (Mouse event WM_RBUTTONDOWN, -@@ -479,6 +482,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -480,6 +483,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, if (!result.InnerNodeOrImageMapImage()) return false; @@ -551,7 +551,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Clear any previously set cached results if we are resetting the hit test // result. image_selection_cached_result_ = nullptr; -@@ -831,11 +844,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -835,11 +848,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); SetPasswordManagerData(result.InnerElement(), data); diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index c24725a8..2a00fae8 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 -@@ -160,6 +160,7 @@ +@@ -159,6 +159,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" @@ -96,7 +96,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co #include "components/feature_engagement/public/configuration.h" #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" -@@ -112,6 +113,12 @@ std::optional GetClientSideFeatureConfig( +@@ -113,6 +114,12 @@ std::optional GetClientSideFeatureConfig( } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 08351af4..7a0fed13 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -12,16 +12,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -96,6 +96,7 @@ import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; - import org.chromium.components.browser_ui.settings.CustomDividerFragment; - import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; - import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider; +@@ -51,6 +51,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; + import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; + import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; + import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; +import org.chromium.components.browser_ui.settings.SettingsUtils; - import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment; - import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; + import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; + import org.chromium.components.browser_ui.settings.SettingsPage; import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat; -@@ -510,8 +511,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity - finish(); +@@ -411,8 +412,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity + } return true; } else if (item.getItemId() == R.id.menu_id_general_help) { - HelpAndFeedbackLauncherImpl.getForProfile(mProfile) diff --git a/build/patches/Add-support-for-writing-URIs.patch b/build/patches/Add-support-for-writing-URIs.patch index ecea32d1..c4a1b8a0 100644 --- a/build/patches/Add-support-for-writing-URIs.patch +++ b/build/patches/Add-support-for-writing-URIs.patch @@ -57,8 +57,8 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base import android.provider.DocumentsContract; import android.provider.MediaStore; import android.text.TextUtils; -@@ -22,6 +23,9 @@ import org.jni_zero.CalledByNative; - import java.io.File; +@@ -21,6 +22,9 @@ import org.jni_zero.CalledByNative; + import java.io.IOException; +import android.system.Os; @@ -67,7 +67,7 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base /** This class provides methods to access content URI schemes. */ public abstract class ContentUriUtils { private static final String TAG = "ContentUriUtils"; -@@ -89,6 +93,36 @@ public abstract class ContentUriUtils { +@@ -47,6 +51,36 @@ public abstract class ContentUriUtils { return -1; } diff --git a/build/patches/Add-support-to-jxl.patch b/build/patches/Add-support-to-jxl.patch index 588fe3b7..24e7240a 100644 --- a/build/patches/Add-support-to-jxl.patch +++ b/build/patches/Add-support-to-jxl.patch @@ -24,7 +24,7 @@ Enabled by default net/base/mime_util_unittest.cc | 3 + third_party/.gitignore | 1 + .../blink/common/loader/network_utils.cc | 16 +- - .../blink/common/mime_util/mime_util.cc | 7 + + .../blink/common/mime_util/mime_util.cc | 4 + .../common/mime_util/mime_util_unittest.cc | 6 + .../devtools_protocol/browser_protocol.pdl | 1 + .../inspector/inspector_emulation_agent.cc | 7 +- @@ -58,7 +58,7 @@ Enabled by default .../libjxl/gen_headers/jxl/jxl_export.h | 11 + tools/metrics/histograms/enums.xml | 1 + .../histograms/metadata/blink/enums.xml | 2 +- - 53 files changed, 1998 insertions(+), 17 deletions(-) + 53 files changed, 1995 insertions(+), 17 deletions(-) create mode 100644 build/linux/unbundle/libjxl.gn create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-support-to-jxl.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-support-to-jxl.inc @@ -84,7 +84,7 @@ Enabled by default diff --git a/DEPS b/DEPS --- a/DEPS +++ b/DEPS -@@ -498,6 +498,10 @@ vars = { +@@ -488,6 +488,10 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -95,7 +95,7 @@ diff --git a/DEPS b/DEPS 'highway_revision': '8295336dd70f1201d42c22ab5b0861de38cf8fbf', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ffmpeg -@@ -1664,6 +1668,9 @@ deps = { +@@ -1654,6 +1658,9 @@ deps = { 'src/third_party/dawn': Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'), @@ -195,7 +195,7 @@ diff --git a/cc/paint/paint_image.h b/cc/paint/paint_image.h diff --git a/cc/tiles/image_decode_cache.h b/cc/tiles/image_decode_cache.h --- a/cc/tiles/image_decode_cache.h +++ b/cc/tiles/image_decode_cache.h -@@ -84,6 +84,8 @@ class CC_EXPORT ImageDecodeCache { +@@ -79,6 +79,8 @@ class CC_EXPORT ImageDecodeCache { using ScopedImageType = devtools_instrumentation::ScopedImageDecodeTask::ImageType; switch (image_type) { @@ -375,7 +375,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc diff --git a/third_party/.gitignore b/third_party/.gitignore --- a/third_party/.gitignore +++ b/third_party/.gitignore -@@ -86,6 +86,7 @@ +@@ -80,6 +80,7 @@ /libgifcodec /libjingle/source /libupnp @@ -419,7 +419,7 @@ diff --git a/third_party/blink/common/loader/network_utils.cc b/third_party/blin diff --git a/third_party/blink/common/mime_util/mime_util.cc b/third_party/blink/common/mime_util/mime_util.cc --- a/third_party/blink/common/mime_util/mime_util.cc +++ b/third_party/blink/common/mime_util/mime_util.cc -@@ -14,6 +14,7 @@ +@@ -15,6 +15,7 @@ #include "media/media_buildflags.h" #include "net/base/mime_util.h" #include "third_party/blink/public/common/buildflags.h" @@ -427,19 +427,16 @@ diff --git a/third_party/blink/common/mime_util/mime_util.cc b/third_party/blink #if !BUILDFLAG(IS_IOS) // iOS doesn't use and must not depend on //media -@@ -144,6 +145,12 @@ MimeUtil::MimeUtil() { - non_image_types_.insert(type); - for (const char* type : kSupportedImageTypes) - image_types_.insert(type); +@@ -43,6 +44,9 @@ constexpr auto kSupportedImageTypes = base::MakeFixedFlatSet({ + #if BUILDFLAG(ENABLE_AV1_DECODER) + "image/avif", + #endif +#if BUILDFLAG(ENABLE_JXL_DECODER) -+ // TODO(firsching): Add "image/jxl" to the kSupportedImageTypes array when the -+ // JXL feature is shipped. -+ if (base::FeatureList::IsEnabled(features::kJXL)) -+ image_types_.insert("image/jxl"); ++ "image/jxl", +#endif - for (const char* type : kUnsupportedTextTypes) - unsupported_text_types_.insert(type); - for (const char* type : kSupportedJavascriptTypes) { + }); + + // Support every script type mentioned in the spec, as it notes that "User diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_party/blink/common/mime_util/mime_util_unittest.cc --- a/third_party/blink/common/mime_util/mime_util_unittest.cc +++ b/third_party/blink/common/mime_util/mime_util_unittest.cc @@ -467,7 +464,7 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl --- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl +++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl -@@ -4523,6 +4523,7 @@ domain Emulation +@@ -4541,6 +4541,7 @@ domain Emulation experimental type DisabledImageType extends string enum avif @@ -584,8 +581,8 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/gen diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.cc b/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.cc --- a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.cc +++ b/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.cc -@@ -3,8 +3,10 @@ - // found in the LICENSE file. +@@ -5,8 +5,10 @@ + #include #include "base/run_loop.h" +#include "base/test/scoped_feature_list.h" @@ -595,9 +592,9 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c #include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h" #include "third_party/blink/renderer/bindings/core/v8/v8_union_arraybufferallowshared_arraybufferviewallowshared_readablestream.h" -@@ -89,6 +91,9 @@ DEFINE_BINARY_PROTO_FUZZER( - auto scoped_gc = - MakeScopedGarbageCollectionRequest(test_support.GetIsolate()); +@@ -87,6 +89,9 @@ DEFINE_BINARY_PROTO_FUZZER( + auto page_holder = std::make_unique(); + page_holder->GetFrame().GetSettings()->SetScriptEnabled(true); + base::test::ScopedFeatureList scoped_feature_list; + scoped_feature_list.InitAndEnableFeature(features::kJXL); @@ -608,7 +605,7 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -2369,6 +2369,10 @@ source_set("blink_platform_unittests_sources") { +@@ -2377,6 +2377,10 @@ source_set("blink_platform_unittests_sources") { sources += [ "text/locale_icu_test.cc" ] } @@ -619,7 +616,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re sources += [ "testing/run_all_tests.cc" ] configs += [ -@@ -2415,6 +2419,7 @@ source_set("blink_platform_unittests_sources") { +@@ -2423,6 +2427,7 @@ source_set("blink_platform_unittests_sources") { "//third_party/blink/renderer/platform/wtf", "//third_party/dawn/src/dawn/native", "//third_party/dawn/src/dawn/wire", @@ -677,7 +674,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third_party/blink/renderer/platform/image-decoders/BUILD.gn --- a/third_party/blink/renderer/platform/image-decoders/BUILD.gn +++ b/third_party/blink/renderer/platform/image-decoders/BUILD.gn -@@ -70,6 +70,15 @@ component("image_decoders") { +@@ -72,6 +72,15 @@ component("image_decoders") { "//third_party/libyuv", ] @@ -2218,7 +2215,7 @@ diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/bli diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations -@@ -4872,6 +4872,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai +@@ -4766,6 +4766,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai # Started failing after rolling new version of check-layout-th.js css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ] @@ -2234,7 +2231,7 @@ diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/we diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites --- a/third_party/blink/web_tests/VirtualTestSuites +++ b/third_party/blink/web_tests/VirtualTestSuites -@@ -431,6 +431,15 @@ +@@ -481,6 +481,15 @@ "args": ["--enable-blink-features=FractionalScrollOffsets"], "expires": "Jun 1, 2025" }, @@ -2649,7 +2646,7 @@ new file mode 100644 diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml -@@ -20938,6 +20938,7 @@ from previous Chrome versions. +@@ -20696,6 +20696,7 @@ from previous Chrome versions. @@ -2668,5 +2665,5 @@ diff --git a/tools/metrics/histograms/metadata/blink/enums.xml b/tools/metrics/h + - + -- diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index 7d48121d..8d26c555 100644 --- a/build/patches/Add-webRTC-site-settings.patch +++ b/build/patches/Add-webRTC-site-settings.patch @@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d #include "third_party/blink/public/platform/web_url.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/web_document.h" -@@ -889,6 +890,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -887,6 +888,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( // origin. WebRTCIPHandlingPolicy policy = GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy); @@ -246,7 +246,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" -@@ -1013,6 +1015,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, +@@ -1027,6 +1029,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, if (kind != "audio" && kind != "video") return nullptr; diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index e82becb5..99dd7425 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -124,7 +124,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 -@@ -14727,12 +14727,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -14982,12 +14982,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -218,7 +218,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b --- a/content/browser/web_package/signed_exchange_reporter.cc +++ b/content/browser/web_package/signed_exchange_reporter.cc @@ -128,6 +128,7 @@ void ReportResult( - int frame_tree_node_id, + FrameTreeNodeId frame_tree_node_id, network::mojom::SignedExchangeReportPtr report, const net::NetworkAnonymizationKey& network_anonymization_key) { +#if BUILDFLAG(ENABLE_REPORTING) @@ -254,7 +254,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 -@@ -217,6 +217,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( +@@ -219,6 +219,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( base::Seconds(30)); #if BUILDFLAG(ENABLE_REPORTING) @@ -348,7 +348,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/ranges/algorithm.h" -@@ -1239,6 +1240,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1241,6 +1242,7 @@ void ContentSecurityPolicy::ReportViolation( return; } @@ -356,7 +356,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); -@@ -1246,6 +1248,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1248,6 +1250,7 @@ void ContentSecurityPolicy::ReportViolation( // `context_frame` (i.e. we're not processing 'frame-ancestors'). if (delegate_ && !context_frame) delegate_->DispatchViolationEvent(*violation_data, element); @@ -367,7 +367,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -45,6 +45,7 @@ +@@ -46,6 +46,7 @@ #include "build/build_config.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/message_pipe.h" @@ -375,8 +375,8 @@ 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" -@@ -2771,9 +2772,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() { - v8_local_compile_hints_producer_->GenerateData(kIsFinalData); +@@ -2784,9 +2785,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { + return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } +#if BUILDFLAG(ENABLE_REPORTING) diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 44dd1425..776b4d3d 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -23,7 +23,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 -@@ -783,7 +783,6 @@ if (current_toolchain == default_toolchain) { +@@ -794,7 +794,6 @@ if (current_toolchain == default_toolchain) { "//components/offline_pages/core:offline_page_model_enums_java", "//components/sharing_message:sharing_dialog_type_generated_enum", "//components/sharing_message:sharing_send_message_result_generated_enum", @@ -88,7 +88,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 -@@ -694,10 +694,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { +@@ -697,10 +697,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_); pref_change_registrar_.Init(prefs); @@ -99,7 +99,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1631,6 +1627,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1640,6 +1636,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -110,7 +110,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1213,10 +1213,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1221,10 +1221,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -121,7 +121,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile #if !BUILDFLAG(IS_ANDROID) if (profile->IsNewProfile()) { profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false); -@@ -2029,9 +2025,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -2026,9 +2022,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -148,7 +148,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 -@@ -557,10 +557,6 @@ bool ManagementUIHandler::managed() const { +@@ -571,10 +571,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { @@ -196,7 +196,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc --- a/components/supervised_user/core/browser/supervised_user_service.cc +++ b/components/supervised_user/core/browser/supervised_user_service.cc -@@ -48,10 +48,6 @@ void SupervisedUserService::Init() { +@@ -49,10 +49,6 @@ void SupervisedUserService::Init() { DCHECK(settings_service_->IsReady()); pref_change_registrar_.Init(&user_prefs_.get()); @@ -207,7 +207,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc FirstTimeInterstitialBannerState banner_state = static_cast( user_prefs_->GetInteger(prefs::kFirstTimeInterstitialBannerState)); -@@ -187,6 +183,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState( +@@ -166,6 +162,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState( } void SupervisedUserService::SetActive(bool active) { @@ -218,7 +218,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc --- a/components/supervised_user/core/browser/supervised_user_utils.cc +++ b/components/supervised_user/core/browser/supervised_user_utils.cc -@@ -132,6 +132,7 @@ GURL NormalizeUrl(const GURL& url) { +@@ -116,6 +116,7 @@ GURL NormalizeUrl(const GURL& url) { } bool AreWebFilterPrefsDefault(const PrefService& pref_service) { @@ -229,7 +229,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/ diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc --- a/components/supervised_user/core/common/features.cc +++ b/components/supervised_user/core/common/features.cc -@@ -177,4 +177,10 @@ bool IsKidFriendlyContentFeedAvailable() { +@@ -185,4 +185,10 @@ bool IsKidFriendlyContentFeedAvailable() { return base::FeatureList::IsEnabled(kKidFriendlyContentFeed); } diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index f56ac3af..7f42ed9f 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -11,8 +11,8 @@ 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 -@@ -1249,6 +1249,12 @@ bool WebMediaPlayerImpl::HasAudio() const { - return pipeline_metadata_.has_audio; +@@ -1263,6 +1263,12 @@ void WebMediaPlayerImpl::OnSelectedVideoTrackChanged( + pipeline_controller_->OnSelectedVideoTrackChanged(selected); } +bool WebMediaPlayerImpl::HasVideoNonEmptySize() const { @@ -22,9 +22,9 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc +} + void WebMediaPlayerImpl::EnabledAudioTracksChanged( - const WebVector& enabledTrackIds) { + const WebVector& enabled_track_ids) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3656,7 +3662,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3649,7 +3655,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { : HasAudio(); // Audio only stream is allowed to play when in background. @@ -47,6 +47,6 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b + bool HasVideoNonEmptySize() const; + void EnabledAudioTracksChanged( - const WebVector& enabledTrackIds) override; + const WebVector& enabled_track_ids) override; void SelectedVideoTrackChanged( -- diff --git a/build/patches/Always-allow-inspect-fallback.patch b/build/patches/Always-allow-inspect-fallback.patch index 4b9290f6..c23d1ca6 100644 --- a/build/patches/Always-allow-inspect-fallback.patch +++ b/build/patches/Always-allow-inspect-fallback.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js --- a/chrome/browser/resources/inspect/inspect.js +++ b/chrome/browser/resources/inspect/inspect.js -@@ -50,6 +50,7 @@ if ('browser-inspector' in queryParamsObject) { +@@ -45,6 +45,7 @@ if ('browser-inspector' in queryParamsObject) { })(); function isVersionNewerThanHost(version) { @@ -20,7 +20,7 @@ diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resour if (!HOST_CHROME_VERSION) { return false; } -@@ -561,7 +562,7 @@ function formatValue(data, property) { +@@ -560,7 +561,7 @@ function formatValue(data, property) { function addFavicon(row, data) { const favicon = document.createElement('img'); if (data['faviconUrl']) { diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 0e0734fc..81941d79 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -281,7 +281,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1128,7 +1128,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1141,7 +1141,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -296,7 +296,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java -@@ -317,6 +317,13 @@ public abstract class TabModelSelectorBase +@@ -326,6 +326,13 @@ public abstract class TabModelSelectorBase return null; } @@ -401,7 +401,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java -@@ -100,6 +100,8 @@ public interface TabWindowManager { +@@ -103,6 +103,8 @@ public interface TabWindowManager { */ int getIncognitoTabCount(); @@ -576,7 +576,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 -@@ -907,6 +907,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -910,6 +910,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { view->SetFocus(focused); } @@ -613,7 +613,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 -@@ -3554,8 +3554,10 @@ void WebContentsImpl::Stop() { +@@ -3593,8 +3593,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -627,7 +627,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 -@@ -1162,6 +1162,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi +@@ -1164,6 +1164,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -640,7 +640,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1448,6 +1454,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi +@@ -1450,6 +1456,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -709,7 +709,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 -@@ -4316,6 +4316,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4266,6 +4266,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -720,7 +720,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 -@@ -3211,6 +3211,7 @@ void LocalFrame::DidFreeze() { +@@ -3226,6 +3226,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -728,7 +728,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3225,6 +3226,7 @@ void LocalFrame::DidResume() { +@@ -3240,6 +3241,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); @@ -739,7 +739,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 -@@ -969,7 +969,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( +@@ -982,7 +982,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( if (!parent_page_scheduler_) return SchedulingLifecycleState::kNotThrottled; if (parent_page_scheduler_->IsFrozen()) { diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index d14dd5e4..16ce866f 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h --- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h +++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h -@@ -341,6 +341,8 @@ class MODULES_EXPORT BaseAudioContext +@@ -331,6 +331,8 @@ class MODULES_EXPORT BaseAudioContext // if the execution context does not exist. bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&); @@ -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 -@@ -416,8 +416,8 @@ +@@ -441,8 +441,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 31c5f57e..05e80bbf 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -52,7 +52,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context @@ -392,6 +392,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); - HeapObserverSet& ContextLifecycleObserverSet(); + HeapObserverList& ContextLifecycleObserverSet(); + String addressSpaceForBindings() const; unsigned ContextLifecycleStateObserverCountForTesting() const; @@ -71,7 +71,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -885,6 +885,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -945,6 +945,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } @@ -101,7 +101,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h -@@ -172,6 +172,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -179,6 +179,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; std::unique_ptr CreateWebSocketHandshakeThrottle() override; @@ -239,7 +239,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc --- a/third_party/blink/renderer/modules/websockets/websocket_common.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc -@@ -136,9 +136,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect( +@@ -135,9 +135,39 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect( return ConnectResult::kException; } 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 a6de9012..17d999c9 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 -@@ -4495,7 +4495,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -4622,7 +4622,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_; } -@@ -2778,6 +2783,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2787,6 +2792,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 -@@ -782,7 +782,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, +@@ -783,7 +783,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 194bc093..033468ea 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -49,7 +49,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc --- a/chrome/browser/ui/singleton_tabs.cc +++ b/chrome/browser/ui/singleton_tabs.cc -@@ -169,6 +169,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) { +@@ -127,6 +127,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) { continue; } @@ -107,7 +107,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc --- a/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc -@@ -867,6 +867,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() +@@ -866,6 +866,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() RegisterPseudoScheme(url::kJavaScriptScheme); RegisterPseudoScheme(kViewSourceScheme); RegisterPseudoScheme(kGoogleChromeScheme); @@ -118,7 +118,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1048,6 +1048,8 @@ component("net") { +@@ -1062,6 +1062,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", @@ -202,8 +202,8 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc +#include "base/strings/string_util.h" #include "base/synchronization/lock.h" #include "base/task/single_thread_task_runner.h" - #include "base/types/pass_key.h" -@@ -51,6 +52,7 @@ + #include "base/types/optional_util.h" +@@ -52,6 +53,7 @@ #include "net/url_request/url_request_redirect_job.h" #include "url/gurl.h" #include "url/origin.h" @@ -211,7 +211,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc namespace net { -@@ -618,6 +620,12 @@ URLRequest::URLRequest(base::PassKey pass_key, +@@ -619,6 +621,12 @@ URLRequest::URLRequest(base::PassKey pass_key, // Sanity check out environment. DCHECK(base::SingleThreadTaskRunner::HasCurrentDefault()); diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index a88f1df6..655ae090 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -56,28 +56,28 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template --- a/build/android/java/templates/BuildConfig.template +++ b/build/android/java/templates/BuildConfig.template -@@ -100,6 +100,8 @@ public class BuildConfig { - public static MAYBE_FINAL boolean IS_CRONET_BUILD MAYBE_FALSE; +@@ -83,6 +83,8 @@ public class BuildConfig { + public static boolean IS_CRONET_BUILD; #endif + public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU; + #if defined(_WRITE_CLANG_PROFILING_DATA) - public static MAYBE_FINAL boolean WRITE_CLANG_PROFILING_DATA = true; + public static boolean WRITE_CLANG_PROFILING_DATA = true; #else 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 -@@ -1900,6 +1900,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1951,6 +1951,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] + # add arch to org.chromium.build.BuildConfig + defines += [ "_BUILD_TARGET_CPU=\"${target_cpu}\"" ] + - # Set these even when !use_final_fields so that they have correct default - # values within robolectric_binary(), which ignores jar_excluded_patterns. if ((defined(invoker.assertions_implicitly_enabled) && + invoker.assertions_implicitly_enabled) || enable_java_asserts) { + defines += [ "_ENABLE_ASSERTS" ] 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 @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/a diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java -@@ -21,12 +21,18 @@ import org.chromium.ui.widget.Toast; +@@ -24,12 +24,18 @@ import org.chromium.ui.widget.Toast; import java.util.Calendar; @@ -118,8 +118,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ + /** Settings fragment that displays information about Chrome. */ public class AboutChromeSettings extends PreferenceFragmentCompat -- implements Preference.OnPreferenceClickListener { -+ implements Preference.OnPreferenceClickListener, +- implements SettingsPage, Preference.OnPreferenceClickListener { ++ implements SettingsPage, Preference.OnPreferenceClickListener, + Preference.OnPreferenceChangeListener { private static final int TAPS_FOR_DEVELOPER_SETTINGS = 7; @@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ private static final String PREF_OS_VERSION = "os_version"; private static final String PREF_LEGAL_INFORMATION = "legal_information"; -@@ -57,6 +63,13 @@ public class AboutChromeSettings extends PreferenceFragmentCompat +@@ -61,6 +67,13 @@ public class AboutChromeSettings extends PreferenceFragmentCompat p = findPreference(PREF_LEGAL_INFORMATION); int currentYear = Calendar.getInstance().get(Calendar.YEAR); p.setSummary(getString(R.string.legal_information_summary, currentYear)); @@ -141,8 +141,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ + allowInlineUpdate.setOnPreferenceChangeListener(this); } - /** -@@ -121,4 +134,17 @@ public class AboutChromeSettings extends PreferenceFragmentCompat + @Override +@@ -130,4 +143,17 @@ public class AboutChromeSettings extends PreferenceFragmentCompat } return true; } @@ -672,7 +672,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 -@@ -2509,6 +2509,12 @@ static_library("browser") { +@@ -2519,6 +2519,12 @@ static_library("browser") { } if (is_android) { @@ -1085,7 +1085,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 -@@ -271,6 +271,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -274,6 +274,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kPriceChangeModule, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, @@ -1096,7 +1096,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 -@@ -342,6 +342,7 @@ public abstract class ChromeFeatureList { +@@ -348,6 +348,7 @@ public abstract class ChromeFeatureList { public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID = "IncognitoReauthenticationForAndroid"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; @@ -1672,7 +1672,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 -@@ -2328,6 +2328,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2385,6 +2385,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 @@ -1685,7 +1685,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4226,7 +4232,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4315,7 +4321,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1697,7 +1697,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4237,6 +4246,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4326,6 +4335,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index 78f76548..944c23b4 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 -@@ -357,6 +357,7 @@ if (current_toolchain == default_toolchain) { +@@ -360,6 +360,7 @@ if (current_toolchain == default_toolchain) { "//chrome/android/modules/cablev2_authenticator/public:java", "//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 -@@ -433,6 +433,7 @@ chrome_java_resources = [ +@@ -434,6 +434,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", @@ -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 -@@ -941,6 +941,8 @@ chrome_java_sources = [ +@@ -942,6 +942,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", @@ -252,10 +252,10 @@ 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 -@@ -83,6 +83,11 @@ found in the LICENSE file. - android:key="safety_hub" - android:order="14" - android:title="@string/prefs_safety_check"/> +@@ -122,6 +122,11 @@ for the previous order (main_preferences_legacy). --> + android:key="toolbar_shortcut" + android:order="21" + android:title="@string/toolbar_shortcut"/> + @@ -511,7 +511,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1197,6 +1197,34 @@ BrowserProcessImpl::component_updater() { +@@ -1227,6 +1227,34 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -557,7 +557,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; -@@ -419,6 +420,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -421,6 +422,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_; @@ -568,7 +568,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 -@@ -470,6 +470,9 @@ StartupProfileInfo CreateInitialProfile( +@@ -472,6 +472,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -679,9 +679,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 -@@ -635,6 +635,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { - void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -637,6 +637,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { StubResolverConfigReader::RegisterPrefs(registry); + DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry); + registry->RegisterBooleanPref(prefs::kAdBlockEnabled, false); + registry->RegisterStringPref(prefs::kAdBlockFiltersURL, @@ -734,7 +734,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -2824,6 +2824,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2840,6 +2840,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -749,7 +749,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 -@@ -371,6 +371,9 @@ +@@ -374,6 +374,9 @@ This site shows intrusive or misleading ads @@ -775,7 +775,7 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update "component_updater_service.cc", "component_updater_service.h", "component_updater_service_internal.h", -@@ -48,6 +54,7 @@ static_library("component_updater") { +@@ -49,6 +55,7 @@ static_library("component_updater") { "//components/update_client", "//components/version_info", "//net", @@ -1568,7 +1568,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f #include "components/subresource_filter/content/browser/ad_tagging_utils.h" #include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h" #include "components/subresource_filter/content/browser/profile_interaction_manager.h" -@@ -110,6 +113,7 @@ ContentSubresourceFilterThrottleManager:: +@@ -111,6 +114,7 @@ ContentSubresourceFilterThrottleManager:: profile_interaction_manager_( std::make_unique( profile_context)), @@ -1576,7 +1576,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f web_contents_helper_(web_contents_helper) {} ContentSubresourceFilterThrottleManager:: -@@ -667,6 +671,17 @@ ContentSubresourceFilterThrottleManager:: +@@ -671,6 +675,17 @@ ContentSubresourceFilterThrottleManager:: throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), ad_tagging_state); } @@ -1597,7 +1597,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h --- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h +++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h -@@ -411,6 +411,8 @@ class ContentSubresourceFilterThrottleManager +@@ -414,6 +414,8 @@ class ContentSubresourceFilterThrottleManager std::unique_ptr profile_interaction_manager_; diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 0ed081ef..2f26df87 100644 --- a/build/patches/Bubble-Locking-on-UI-DevTools.patch +++ b/build/patches/Bubble-Locking-on-UI-DevTools.patch @@ -68,7 +68,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h friend class ButtonTest; @@ -1291,11 +1297,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, - friend class ui_devtools::PageAgentViews; + friend class ui_devtools::BubbleLocking; friend void DisableActivationChangeHandlingForTests(); - // Sets/gets the type of disabling widget activation change handling. diff --git a/build/patches/Change-popup-site-setting.patch b/build/patches/Change-popup-site-setting.patch index 1f1a75ce..e51ad436 100644 --- a/build/patches/Change-popup-site-setting.patch +++ b/build/patches/Change-popup-site-setting.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/browser/ui/blocked_content/tab_under_navigation_throttle.cc b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc --- a/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc +++ b/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc -@@ -72,6 +72,7 @@ void LogTabUnderAttempt(content::NavigationHandle* handle) { +@@ -65,6 +65,7 @@ void LogTabUnderAttempt(content::NavigationHandle* handle) { BASE_FEATURE(kBlockTabUnders, "BlockTabUnders", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index bf1a83d3..6d47eb51 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -65,7 +65,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 -@@ -131,6 +131,12 @@ +@@ -132,6 +132,12 @@ #include "url/gurl.h" #include "url/origin.h" @@ -78,7 +78,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a namespace extensions { namespace developer = api::developer_private; -@@ -476,10 +482,32 @@ std::unique_ptr DeveloperPrivateAPI::CreateProfileInfo( +@@ -480,10 +486,32 @@ std::unique_ptr DeveloperPrivateAPI::CreateProfileInfo( info->is_mv2_deprecation_notice_dismissed = ManifestV2ExperimentManager::Get(profile) ->DidUserAcknowledgeNoticeGlobally(); @@ -112,7 +112,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a template <> void BrowserContextKeyedAPIFactory< DeveloperPrivateAPI>::DeclareFactoryDependencies() { -@@ -917,6 +945,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +@@ -921,6 +949,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { ExtensionUpdater::CheckParams params; params.fetch_priority = DownloadFetchPriority::kForeground; params.install_immediately = true; @@ -120,7 +120,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a params.callback = base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this); updater->CheckNow(std::move(params)); -@@ -1057,7 +1086,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -1061,7 +1090,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { const developer::ProfileConfigurationUpdate& update = params->update; @@ -129,7 +129,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a Profile* profile = Profile::FromBrowserContext(browser_context()); CHECK(profile); if (supervised_user::AreExtensionsPermissionsEnabled(profile)) { -@@ -1071,6 +1100,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -1075,6 +1104,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { ->MarkNoticeAsAcknowledgedGlobally(); } @@ -158,8 +158,8 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc @@ -67,6 +67,7 @@ - #include "extensions/browser/extension_system.h" #include "extensions/browser/extension_util.h" + #include "extensions/browser/extensions_browser_client.h" #include "extensions/common/extension.h" +#include "extensions/common/extension_features.h" #include "extensions/common/manifest.h" @@ -633,9 +633,9 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse {"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED}, {"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE}, {"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK}, -@@ -448,6 +452,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - source->AddString("hostPermissionsLearnMoreLink", - chrome_extension_constants::kRuntimeHostPermissionsHelpURL); +@@ -449,6 +453,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, + "hostPermissionsLearnMoreLink", + extension_permissions_constants::kRuntimeHostPermissionsHelpURL); source->AddBoolean(kInDevModeKey, in_dev_mode); + + source->AddBoolean("isExtUpdateEnabled", @@ -670,7 +670,7 @@ diff --git a/chrome/browser/update_client/chrome_update_query_params_delegate.cc diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/extensions/api/developer_private.idl --- a/chrome/common/extensions/api/developer_private.idl +++ b/chrome/common/extensions/api/developer_private.idl -@@ -292,6 +292,7 @@ namespace developerPrivate { +@@ -293,6 +293,7 @@ namespace developerPrivate { boolean isIncognitoAvailable; boolean isChildAccount; boolean isMv2DeprecationNoticeDismissed; @@ -678,7 +678,7 @@ diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/ }; // DEPRECATED: Prefer ExtensionInfo. -@@ -351,6 +352,7 @@ namespace developerPrivate { +@@ -352,6 +353,7 @@ namespace developerPrivate { dictionary ProfileConfigurationUpdate { boolean? inDeveloperMode; boolean? isMv2DeprecationNoticeDismissed; @@ -1136,8 +1136,8 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc -@@ -190,4 +190,19 @@ BASE_FEATURE(kUseNewServiceWorkerTaskQueue, - "UseNewServiceWorkerTaskQueue", +@@ -198,4 +198,19 @@ BASE_FEATURE(kDeclarativeNetRequestHeaderSubstitution, + "DeclarativeNetRequestHeaderSubstitution", base::FEATURE_DISABLED_BY_DEFAULT); +// Activates the auto update of extensions. @@ -1159,9 +1159,9 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h -@@ -224,6 +224,10 @@ BASE_DECLARE_FEATURE(kUseItemSnippetsAPI); - // If enabled, use the new simpler, more efficient service worker task queue. - BASE_DECLARE_FEATURE(kUseNewServiceWorkerTaskQueue); +@@ -232,6 +232,10 @@ BASE_DECLARE_FEATURE(kUseNewServiceWorkerTaskQueue); + // type for modifying headers. + BASE_DECLARE_FEATURE(kDeclarativeNetRequestHeaderSubstitution); +BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate); + @@ -1173,7 +1173,7 @@ diff --git a/extensions/common/extension_features.h b/extensions/common/extensio diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescript/definitions/developer_private.d.ts --- a/tools/typescript/definitions/developer_private.d.ts +++ b/tools/typescript/definitions/developer_private.d.ts -@@ -277,6 +277,7 @@ declare global { +@@ -278,6 +278,7 @@ declare global { isIncognitoAvailable: boolean; isChildAccount: boolean; isMv2DeprecationNoticeDismissed: boolean; @@ -1181,7 +1181,7 @@ diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescr } export interface ExtensionConfigurationUpdate { -@@ -293,6 +294,7 @@ declare global { +@@ -294,6 +295,7 @@ declare global { export interface ProfileConfigurationUpdate { inDeveloperMode?: boolean; isMv2DeprecationNoticeDismissed?: boolean; diff --git a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch index 4d6fc0f5..38f0df93 100644 --- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -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 -@@ -1275,6 +1275,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1273,6 +1273,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 f5479ed8..bf0b28a1 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -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 -@@ -1208,6 +1208,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( +@@ -1216,6 +1216,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( return; } @@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -216,6 +216,8 @@ bool ShouldSendClientHint(const PermissionsPolicy& policy, +@@ -217,6 +217,8 @@ bool ShouldSendClientHint(const PermissionsPolicy& policy, bool is_1p_origin, network::mojom::blink::WebClientHintsType type, const ClientHintsPreferences& hints_preferences) { @@ -243,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi // For subresource requests, sending the hint in the fetch request based on // the permissions policy. if (!policy.IsFeatureEnabledForOrigin( -@@ -600,7 +602,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -610,7 +612,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( } // Only send User Agent hints if the info is available @@ -255,8 +255,8 @@ 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 -@@ -381,6 +381,11 @@ - name: "AtomicMoveAPI", +@@ -391,6 +391,11 @@ + name: "AriaNotify", status: "test", }, + { @@ -265,6 +265,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + base_feature: "UserAgentClientHint", + }, { - name: "AttributionReporting", + name: "AriaRowColIndexText", status: "stable", -- diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch index 71bc9ec6..b9cf7bd2 100644 --- a/build/patches/Close-Sessions-On-Ip-Change.patch +++ b/build/patches/Close-Sessions-On-Ip-Change.patch @@ -87,7 +87,7 @@ new file mode 100644 diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -455,7 +455,7 @@ const base::FeatureParam kIpPrivacyCacheTokensByGeo{ +@@ -457,7 +457,7 @@ const base::FeatureParam kIpPrivacyCacheTokensByGeo{ // NetworkChangeNotifier::AreNetworkHandlesSupported). #if BUILDFLAG(IS_ANDROID) inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default = diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index e68fb154..93ea13e8 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 -@@ -642,7 +642,7 @@ chrome_java_resources = [ +@@ -643,7 +643,7 @@ chrome_java_resources = [ "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/phone_as_a_security_key_accessory_filter.xml", "java/res/xml/incognito_preferences.xml", @@ -30,7 +30,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja 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 -@@ -13,7 +13,7 @@ found in the LICENSE file. +@@ -17,7 +17,7 @@ for the previous order (main_preferences_legacy). --> android:key="sync_promo" android:order="0"/> android:layout="@layout/account_management_account_row" android:title="@string/sync_category_title"/> android:order="0"/> @@ -13153,7 +13153,7 @@ e)fqMZZ`3a)Ds&5H -- +- + $i18n{aboutPageTitle} @@ -13242,7 +13242,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 -@@ -2393,7 +2393,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2450,7 +2450,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome diff --git a/build/patches/Customize-selection-popup.patch b/build/patches/Customize-selection-popup.patch index 5a342051..0fa81e52 100644 --- a/build/patches/Customize-selection-popup.patch +++ b/build/patches/Customize-selection-popup.patch @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -736,10 +736,17 @@ public class ChromeTabbedActivity extends ChromeActivity -Date: Mon, 5 Jun 2023 17:02:33 +0000 -Subject: Deprecate Data URL in SVGUseElement - -License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ---- - .../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 ---- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 -+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3534,8 +3534,8 @@ - status: "stable", - }, - { -- name: "RemoveDataUrlInSvgUse", -- status: "stable", -+ name: "RemoveDataUrlInSvgUse", // enabled -+ status: "stable", // by default - }, - { - name: "RemoveMobileViewportDoubleTap", --- diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 466b384c..6a72e8cb 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -29,8 +29,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java @@ -294,8 +294,17 @@ class LocationBarMediator if (mNativeInitialized) RecordUserAction.record("FocusLocation"); - // Don't clear Omnibox if the user just pasted text to NTP Omnibox. - if (mShouldClearOmniboxOnFocus) { + boolean shouldRetainOmniboxOnFocus = OmniboxFeatures.shouldRetainOmniboxOnFocus(); + if (!mUrlFocusedWithPastedText && !shouldRetainOmniboxOnFocus) { - setUrlBarText( - UrlBarData.EMPTY, UrlBar.ScrollType.NO_SCROLL, SelectionState.SELECT_END); + UrlBarData data = mLocationBarDataProvider.getUrlBarData(); @@ -44,9 +44,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow + } + } + setUrlBarText(data, UrlBar.ScrollType.NO_SCROLL, selectionState); + } else if (shouldRetainOmniboxOnFocus) { + mUrlCoordinator.setSelectAllOnFocus(true); } - } else { - mUrlFocusedFromFakebox = false; diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java diff --git a/build/patches/Disable-CSS-blink-feature-support.patch b/build/patches/Disable-CSS-blink-feature-support.patch index 7a119918..3b1215fc 100644 --- a/build/patches/Disable-CSS-blink-feature-support.patch +++ b/build/patches/Disable-CSS-blink-feature-support.patch @@ -16,15 +16,15 @@ 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 -@@ -322,7 +322,7 @@ CSSSupportsParser::Result CSSSupportsParser::ConsumeBlinkFeatureFn( - stream.ConsumeUntilPeekedTypeIs(); - return RuntimeEnabledFeatures::IsFeatureEnabledFromString( - feature_name_block.Peek().Value().Utf8()) -- ? Result::kSupported -+ ? Result::kUnsupported - : Result::kUnsupported; - } - +@@ -227,7 +227,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) { + feature_name.Value().Utf8()) && + guard.Release()) { + stream.ConsumeWhitespace(); +- return true; ++ return false; + } + } + return false; diff --git a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc --- a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc diff --git a/build/patches/Disable-Component-Updates.patch b/build/patches/Disable-Component-Updates.patch index 64b1b106..d80857b8 100644 --- a/build/patches/Disable-Component-Updates.patch +++ b/build/patches/Disable-Component-Updates.patch @@ -6,13 +6,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- chrome/browser/component_updater/registration.cc | 1 + components/component_updater/component_installer.cc | 1 + - components/component_updater/component_updater_service.cc | 2 +- - 3 files changed, 3 insertions(+), 1 deletion(-) + components/component_updater/component_updater_service.cc | 8 +------- + 3 files changed, 3 insertions(+), 7 deletions(-) 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 -@@ -98,6 +98,7 @@ +@@ -99,6 +99,7 @@ namespace component_updater { void RegisterComponentsForUpdate() { @@ -34,12 +34,19 @@ diff --git a/components/component_updater/component_installer.cc b/components/co diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc --- a/components/component_updater/component_updater_service.cc +++ b/components/component_updater/component_updater_service.cc -@@ -546,7 +546,7 @@ std::unique_ptr ComponentUpdateServiceFactory( +@@ -546,14 +546,8 @@ std::unique_ptr ComponentUpdateServiceFactory( + // Register prefs required by the component update service. void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry) { - // The component updates are enabled by default, if the preference is not set. -- registry->RegisterBooleanPref(prefs::kComponentUpdatesEnabled, true); -+ registry->RegisterBooleanPref(prefs::kComponentUpdatesEnabled, false); +- // If the preference is not set the component updates are enabled by default +- // unless in Chrome for Testing where we never want components to be updated +- // automatically. +- constexpr bool kComponentUpdatesEnabledByDefault = +- !BUILDFLAG(CHROME_FOR_TESTING); +- + registry->RegisterBooleanPref(prefs::kComponentUpdatesEnabled, +- kComponentUpdatesEnabledByDefault); ++ false); } } // namespace component_updater diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index bf6fd5ec..f9e5e5fb 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -11,10 +11,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc --- a/components/compose/core/browser/compose_features.cc +++ b/components/compose/core/browser/compose_features.cc -@@ -91,4 +91,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint, - BASE_FEATURE(kEnableAdditionalTextMetrics, - "EnableAdditionalTextMetrics", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -108,4 +108,6 @@ BASE_FEATURE(kComposeAllowOnDeviceExecution, + "ComposeAllowOnDeviceExecution", + base::FEATURE_DISABLED_BY_DEFAULT); + +SET_CROMITE_FEATURE_DISABLED(kEnableCompose); +SET_CROMITE_FEATURE_DISABLED(kComposeEligible); } // namespace compose::features diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index bf8007ea..1cbad25b 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 -@@ -774,14 +774,16 @@ +@@ -814,12 +814,14 @@ } }, { @@ -18,8 +18,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + name: "CompressionDictionaryTransport", // need to be disabled + status: "experimental", base_feature: "none", - origin_trial_feature_name: "CompressionDictionaryTransportV3", - origin_trial_allows_third_party: true, public: true, }, { diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index 272855be..ca73ef94 100644 --- a/build/patches/Disable-FedCm.patch +++ b/build/patches/Disable-FedCm.patch @@ -26,7 +26,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1739,7 +1739,7 @@ +@@ -1778,7 +1778,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index 0dbbae1d..cb1b867c 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -4,35 +4,36 @@ Subject: Disable GSA by default License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../chrome/browser/IntentHandler.java | 5 ----- + .../chrome/browser/IntentHandler.java | 6 ------ .../chrome/browser/share/LensUtils.java | 14 ++------------ - .../chromium/chrome/browser/gsa/GSAState.java | 14 +++++--------- + .../chromium/chrome/browser/gsa/GSAUtils.java | 10 +++------- .../GoogleBottomBarActionsHandler.java | 19 ++----------------- .../Disable-GSA-by-default.inc | 1 + - 5 files changed, 10 insertions(+), 43 deletions(-) + 5 files changed, 8 insertions(+), 42 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java -@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity; +@@ -41,7 +41,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity; import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler; import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata; import org.chromium.chrome.browser.flags.ChromeFeatureList; --import org.chromium.chrome.browser.gsa.GSAState; +-import org.chromium.chrome.browser.gsa.GSAUtils; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; -@@ -258,8 +257,6 @@ public class IntentHandler { +@@ -256,9 +255,6 @@ public class IntentHandler { + public static final String EXTRA_APP_SPECIFIC_HISTORY = + "org.chromium.chrome.browser.app_specific_history"; + +- /** The package name for the Google Search App. */ +- public static final String PACKAGE_GSA = GSAUtils.GSA_PACKAGE_NAME; +- + private static Pair sPendingReferrer; private static int sReferrerId; private static String sPendingIncognitoUrl; - -- public static final String PACKAGE_GSA = GSAState.PACKAGE_NAME; -- - private static final String PACKAGE_GMAIL = "com.google.android.gm"; - private static final String PACKAGE_PLUS = "com.google.android.apps.plus"; - private static final String PACKAGE_HANGOUTS = "com.google.android.talk"; -@@ -485,8 +482,6 @@ public class IntentHandler { +@@ -524,8 +520,6 @@ public class IntentHandler { return ExternalAppId.LINE; } else if (packageName.equals(PACKAGE_WHATSAPP)) { return ExternalAppId.WHATSAPP; @@ -48,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils import org.chromium.base.ResettersForTesting; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.flags.ChromeFeatureList; --import org.chromium.chrome.browser.gsa.GSAState; +-import org.chromium.chrome.browser.gsa.GSAUtils; import org.chromium.components.externalauth.ExternalAuthUtils; /** This class provides utilities for intenting into Google Lens. */ @@ -56,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils if (context == null) { return ""; } -- String agsaVersion = GSAState.getInstance().getAgsaVersionName(); +- String agsaVersion = GSAUtils.getAgsaVersionName(); - if (agsaVersion == null) { return ""; - } else { @@ -83,65 +84,44 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils } public static boolean shouldLogUkmForLensContextMenuFeatures() { -diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java ---- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java -+++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java -@@ -31,11 +31,6 @@ import java.util.regex.Pattern; +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 +@@ -13,16 +13,11 @@ import org.chromium.base.PackageUtils; - /** A class responsible for representing the current state of Chrome's integration with GSA. */ - public class GSAState { -- public static final String PACKAGE_NAME = "com.google.android.googlequicksearchbox"; -- public static final String GOOGLE_APP_CLASS_NAME = + /** This class provides utilities for the state of Google Search App. */ + public class GSAUtils { +- public static final String GSA_PACKAGE_NAME = "com.google.android.googlequicksearchbox"; +- public static final String GSA_CLASS_NAME = - "com.google.android.apps.search.googleapp.activity.GoogleAppActivity"; - public static final String VOICE_SEARCH_INTENT_ACTION = "android.intent.action.VOICE_ASSIST"; - - /** Used to observe state changes in the class. */ - public interface Observer { - /** Called when the GSA account name is set. */ -@@ -72,7 +67,7 @@ public class GSAState { - private final ObserverList mObserverList = new ObserverList<>(); - - /** Caches the result of a computation on whether GSA is available. */ -- private Boolean mGsaAvailable; -+ private Boolean mGsaAvailable = false; - /** - * The Google account email address being used by GSA according to the latest update we have -@@ -154,7 +149,7 @@ public class GSAState { - - /** Returns whether the GSA package is installed on device. */ - public boolean isGsaInstalled() { -- return PackageUtils.isPackageInstalled(PACKAGE_NAME); + * @return Whether the given package name is the package name for Google Search App. + */ + public static boolean isGsaPackageName(String packageName) { +- return GSA_PACKAGE_NAME.equals(packageName); + return false; } /** -@@ -177,6 +172,7 @@ public class GSAState { +@@ -34,6 +29,7 @@ public class GSAUtils { */ - public boolean isAgsaVersionBelowMinimum( + public static boolean isAgsaVersionBelowMinimum( String installedVersionName, String minimumVersionName) { + if ((true)) return false; if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) { return true; } -@@ -208,7 +204,7 @@ public class GSAState { - * @return Whether the given intent can be handled by Agsa. - */ - public boolean canAgsaHandleIntent(@NonNull Intent intent) { -- if (!intent.getPackage().equals(PACKAGE_NAME)) return false; -+ if ((true)) return false; - - ComponentName activity = - intent.resolveActivity(ContextUtils.getApplicationContext().getPackageManager()); -@@ -222,7 +218,7 @@ public class GSAState { +@@ -64,7 +60,7 @@ public class GSAUtils { * @return The version name of the Agsa package or null if it can't be found. */ - public @Nullable String getAgsaVersionName() { -- PackageInfo packageInfo = PackageUtils.getPackageInfo(PACKAGE_NAME, 0); + public static @Nullable String getAgsaVersionName() { +- PackageInfo packageInfo = PackageUtils.getPackageInfo(GSA_PACKAGE_NAME, 0); + PackageInfo packageInfo = null; return packageInfo == null ? null : packageInfo.versionName; } - + } 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 @@ -149,9 +129,9 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c package org.chromium.chrome.browser.ui.google_bottom_bar; --import static org.chromium.chrome.browser.gsa.GSAState.GOOGLE_APP_CLASS_NAME; --import static org.chromium.chrome.browser.gsa.GSAState.PACKAGE_NAME; --import static org.chromium.chrome.browser.gsa.GSAState.VOICE_SEARCH_INTENT_ACTION; +-import static org.chromium.chrome.browser.gsa.GSAUtils.GSA_CLASS_NAME; +-import static org.chromium.chrome.browser.gsa.GSAUtils.GSA_PACKAGE_NAME; +-import static org.chromium.chrome.browser.gsa.GSAUtils.VOICE_SEARCH_INTENT_ACTION; import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_HOME; import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_LENS; import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_SEARCH; @@ -161,7 +141,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c void onSearchboxMicTap() { - GoogleBottomBarLogger.logButtonClicked(SEARCHBOX_VOICE_SEARCH); - Intent intent = new Intent(VOICE_SEARCH_INTENT_ACTION); -- intent.setPackage(PACKAGE_NAME); +- intent.setPackage(GSA_PACKAGE_NAME); - - startGoogleAppActivityForResult(intent, "openGoogleAppVoiceSearch"); } @@ -172,7 +152,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c private void openGoogleAppSearch() { - Intent intent = new Intent(SearchManager.INTENT_ACTION_GLOBAL_SEARCH); -- intent.setPackage(PACKAGE_NAME); +- intent.setPackage(GSA_PACKAGE_NAME); - - startGoogleAppActivityForResult(intent, "openGoogleAppSearch"); } @@ -180,7 +160,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c private void openGoogleAppHome() { - Intent intent = new Intent(Intent.ACTION_MAIN); - intent.addCategory(Intent.CATEGORY_INFO); -- intent.setClassName(PACKAGE_NAME, GOOGLE_APP_CLASS_NAME); +- intent.setClassName(GSA_PACKAGE_NAME, GSA_CLASS_NAME); - - startGoogleAppActivityForResult(intent, "openGoogleAppHome"); } diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 97586979..c30c6f25 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 -@@ -2424,9 +2424,9 @@ +@@ -2423,9 +2423,9 @@ status: {"Android": "test", "default": "stable"}, }, { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 4a038f30..80f7747f 100644 --- a/build/patches/Disable-PrivacyGuide.patch +++ b/build/patches/Disable-PrivacyGuide.patch @@ -24,7 +24,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 -@@ -365,8 +365,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -357,8 +357,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) #endif // !BUILDFLAG(IS_CHROMEOS_LACROS) bool show_privacy_guide = diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch index 7e59f0dc..ecf88c83 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 -@@ -2170,7 +2170,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2254,7 +2254,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -28,8 +28,8 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res @@ -16,14 +16,6 @@ ?hidden="${!this.logoEnabled_}"> -
-- +- ( +@@ -958,6 +986,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { : SSLHandshakeDetails::kTLS13Full; } } @@ -227,8 +227,8 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket + } UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); - // Measure TLS connections that implement the renegotiation_info extension. -@@ -1594,6 +1651,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { + // Measure TLS connections that implement the renegotiation_info and EMS +@@ -1592,6 +1649,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { } bool SSLClientSocketImpl::IsCachingEnabled() const { diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch index 01fdae80..54fa48dd 100644 --- a/build/patches/Disable-WebGPU.patch +++ b/build/patches/Disable-WebGPU.patch @@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. 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 -@@ -265,7 +265,7 @@ BASE_FEATURE(kEnableDrDc, +@@ -252,7 +252,7 @@ BASE_FEATURE(kEnableDrDc, // enabled by default on supported platforms. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_ANDROID) @@ -36,7 +36,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc --- a/third_party/blink/renderer/modules/webgpu/gpu.cc +++ b/third_party/blink/renderer/modules/webgpu/gpu.cc -@@ -378,6 +378,7 @@ ScriptPromise> GPU::requestAdapter( +@@ -388,6 +388,7 @@ ScriptPromise> GPU::requestAdapter( "WebGPU is experimental on this platform. See " "https://github.com/gpuweb/gpuweb/wiki/" "Implementation-Status#implementation-status")); diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index ae3b4a1f..767aa80f 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -48,7 +48,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 -@@ -785,8 +785,6 @@ static_library("browser") { +@@ -774,8 +774,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", @@ -160,7 +160,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 -@@ -554,7 +554,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( +@@ -558,7 +558,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { @@ -210,7 +210,7 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -439,7 +439,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -444,7 +444,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); @@ -271,7 +271,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc --- a/components/autofill/core/browser/autofill_optimization_guide.cc +++ b/components/autofill/core/browser/autofill_optimization_guide.cc -@@ -207,6 +207,7 @@ void AutofillOptimizationGuide::OnDidParseForm( +@@ -209,6 +209,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`. @@ -279,7 +279,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c decider_->RegisterOptimizationTypes( std::vector( std::move(optimization_types).extract())); -@@ -258,7 +259,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( +@@ -260,7 +261,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`. @@ -288,7 +288,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c optimization_guide::OptimizationGuideDecision decision = decider_->CanApplyOptimization( url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED, -@@ -284,7 +285,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( +@@ -286,7 +287,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( const CreditCard& card) const { if (auto optimization_type = GetVcnMerchantOptOutOptimizationTypeForCard(card); @@ -310,7 +310,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" -@@ -121,6 +123,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -120,6 +122,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -318,7 +318,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 = -@@ -229,6 +232,7 @@ void RecordTotalMatchesScored(size_t num_scored) { +@@ -228,6 +231,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } @@ -381,7 +381,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -423,8 +419,7 @@ size_t MaxURLKeyedHintCacheSize() { +@@ -412,8 +408,7 @@ size_t MaxURLKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -391,7 +391,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -880,5 +875,13 @@ int GetOnDeviceModelValidationAttemptCount() { +@@ -869,5 +864,13 @@ int GetOnDeviceModelValidationAttemptCount() { return kParam.Get(); } @@ -482,9 +482,9 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc -@@ -558,4 +558,7 @@ int GetWallpaperSearchButtonAnimationShownThreshold() { - kNtpWallpaperSearchButtonAnimationShownThreshold, - kNtpWallpaperSearchButtonAnimationShownThresholdParam, 15); +@@ -424,4 +424,7 @@ int GetWallpaperSearchButtonHideCondition() { + kNtpWallpaperSearchButtonHideCondition, + kNtpWallpaperSearchButtonHideConditionParam, 0); } +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule); +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad); @@ -558,7 +558,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 -@@ -3337,7 +3337,7 @@ +@@ -3331,7 +3331,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 33ac44ec..7c3ac2d9 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1299,6 +1299,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1313,6 +1313,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -40,7 +40,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc --- a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc +++ b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc -@@ -78,6 +78,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const { +@@ -77,6 +77,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const { bool BrowserFeaturePromoController::CanShowPromoForElement( ui::TrackedElement* anchor_element) const { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index d74f1fda..d16b28ee 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc -@@ -1291,6 +1291,7 @@ network::mojom::AttributionSupport +@@ -1296,6 +1296,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -52,7 +52,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: -@@ -1309,6 +1310,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1314,6 +1315,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -73,7 +73,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1781,7 +1781,7 @@ public class AwSettings { +@@ -1778,7 +1778,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -120,7 +120,7 @@ diff --git a/components/attribution_reporting/features.cc b/components/attributi +++ b/components/attribution_reporting/features.cc @@ -29,4 +29,5 @@ BASE_FEATURE(kAttributionScopes, "AttributionScopes", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kConversionMeasurement); } // namespace attribution_reporting::features @@ -190,7 +190,7 @@ diff --git a/content/browser/aggregation_service/aggregation_service_features.cc diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc --- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc +++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc -@@ -1127,6 +1127,7 @@ void AttributionDataHostManagerImpl::ParseHeader( +@@ -1155,6 +1155,7 @@ void AttributionDataHostManagerImpl::ParseHeader( HeaderPendingDecode pending_decode, Registrar registrar) { CHECK(it != registrations_.end()); @@ -232,7 +232,7 @@ diff --git a/content/browser/attribution_reporting/attribution_os_level_manager. diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc --- a/content/browser/attribution_reporting/attribution_report_network_sender.cc +++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc -@@ -130,6 +130,9 @@ void AttributionReportNetworkSender::SendReport(GURL url, +@@ -144,6 +144,9 @@ void AttributionReportNetworkSender::SendReport(GURL url, url::Origin origin, const std::string& body, UrlLoaderCallback callback) { @@ -242,7 +242,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se auto resource_request = std::make_unique(); resource_request->url = std::move(url); resource_request->method = net::HttpRequestHeaders::kPostMethod; -@@ -204,6 +207,12 @@ void AttributionReportNetworkSender::OnReportSent( +@@ -218,6 +221,12 @@ void AttributionReportNetworkSender::OnReportSent( ReportSentCallback sent_callback, UrlLoaderList::iterator it, scoped_refptr headers) { @@ -258,8 +258,8 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc --- a/content/browser/attribution_reporting/attribution_storage_sql.cc +++ b/content/browser/attribution_reporting/attribution_storage_sql.cc -@@ -484,6 +484,8 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { - return user_data_directory.Append(kDatabasePath); +@@ -507,6 +507,8 @@ void AssignSourceForDeactivationOrDeletion( + } } +bool g_run_in_memory = true; @@ -267,7 +267,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/ } // namespace // static -@@ -506,9 +508,9 @@ bool AttributionStorageSql::Transaction::Commit() { +@@ -529,9 +531,9 @@ bool AttributionStorageSql::Transaction::Commit() { AttributionStorageSql::AttributionStorageSql( const base::FilePath& user_data_directory, AttributionResolverDelegate* delegate) @@ -283,7 +283,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/ 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 -@@ -1426,15 +1426,6 @@ void StoragePartitionImpl::Initialize( +@@ -1449,15 +1449,6 @@ void StoragePartitionImpl::Initialize( bucket_manager_ = std::make_unique(this); @@ -776,7 +776,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -562,6 +562,7 @@ void ContentBrowserClient::OnAuctionComplete( +@@ -565,6 +565,7 @@ void ContentBrowserClient::OnAuctionComplete( network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -784,7 +784,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b switch (state) { case AttributionReportingOsApiState::kDisabled: return network::mojom::AttributionSupport::kWeb; -@@ -579,13 +580,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -582,13 +583,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -800,7 +800,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b } bool ContentBrowserClient::IsAttributionReportingAllowedForContext( -@@ -593,7 +594,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext( +@@ -596,7 +597,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext( content::RenderFrameHost* rfh, const url::Origin& context_origin, const url::Origin& reporting_origin) { @@ -875,7 +875,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -1539,7 +1539,7 @@ void Page::UpdateBrowsingContextGroup( +@@ -1581,7 +1581,7 @@ void Page::UpdateBrowsingContextGroup( void Page::SetAttributionSupport( network::mojom::AttributionSupport attribution_support) { @@ -896,7 +896,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 origin_trial_feature_name: "AdInterestGroupAPI", implied_by: ["Fledge", "Parakeet"], public: true, -@@ -388,15 +388,15 @@ +@@ -413,15 +413,15 @@ }, { name: "AttributionReporting", @@ -914,7 +914,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { // This only exists so we can use RuntimeEnabled in the IDL file -@@ -4277,15 +4277,15 @@ +@@ -4257,15 +4257,15 @@ }, { name: "TopicsAPI", diff --git a/build/patches/Disable-crash-reporting.patch b/build/patches/Disable-crash-reporting.patch index daf7363e..86125ce6 100644 --- a/build/patches/Disable-crash-reporting.patch +++ b/build/patches/Disable-crash-reporting.patch @@ -11,7 +11,7 @@ Subject: Disable crash reporting diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2756,15 +2756,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2765,15 +2765,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::NumberToString(pid)); } #endif diff --git a/build/patches/Disable-devtools-remote-and-custom-protocols.patch b/build/patches/Disable-devtools-remote-and-custom-protocols.patch index b1f7a713..82c96fea 100644 --- a/build/patches/Disable-devtools-remote-and-custom-protocols.patch +++ b/build/patches/Disable-devtools-remote-and-custom-protocols.patch @@ -9,7 +9,7 @@ Subject: Disable devtools remote and custom protocols diff --git a/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc b/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc --- a/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc +++ b/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc -@@ -176,7 +176,7 @@ void DevToolsDataSource::StartDataRequest( +@@ -177,7 +177,7 @@ void DevToolsDataSource::StartDataRequest( // Serve request to devtools://remote from remote location. std::string remote_path_prefix(chrome::kChromeUIDevToolsRemotePath); remote_path_prefix += "/"; @@ -18,7 +18,7 @@ diff --git a/chrome/browser/ui/webui/devtools/devtools_ui_data_source.cc b/chrom base::CompareCase::INSENSITIVE_ASCII)) { if (MaybeHandleCustomRequest(path.substr(remote_path_prefix.length()), &callback)) { -@@ -199,7 +199,7 @@ void DevToolsDataSource::StartDataRequest( +@@ -200,7 +200,7 @@ void DevToolsDataSource::StartDataRequest( // Serve request to devtools://custom from custom URL. std::string custom_path_prefix(chrome::kChromeUIDevToolsCustomPath); custom_path_prefix += "/"; diff --git a/build/patches/Disable-feeds-support-by-default.patch b/build/patches/Disable-feeds-support-by-default.patch index 85ec303d..9730fcac 100644 --- a/build/patches/Disable-feeds-support-by-default.patch +++ b/build/patches/Disable-feeds-support-by-default.patch @@ -83,7 +83,7 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc --- a/components/feed/feed_feature_list.cc +++ b/components/feed/feed_feature_list.cc -@@ -149,4 +149,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) { +@@ -141,4 +141,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) { !base::FeatureList::IsEnabled(kWebFeedKillSwitch); } diff --git a/build/patches/Disable-fetching-of-all-field-trials.patch b/build/patches/Disable-fetching-of-all-field-trials.patch index d5bd16ff..795c2ce2 100644 --- a/build/patches/Disable-fetching-of-all-field-trials.patch +++ b/build/patches/Disable-fetching-of-all-field-trials.patch @@ -76,7 +76,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java -@@ -27,13 +27,11 @@ public class NonEmbeddedFastVariationsSeedSafeModeAction implements NonEmbeddedS +@@ -25,13 +25,11 @@ public class NonEmbeddedFastVariationsSeedSafeModeAction implements NonEmbeddedS @Override public boolean onActivate() { @@ -141,7 +141,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b 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 -@@ -841,7 +841,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -855,7 +855,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { @@ -309,7 +309,7 @@ diff --git a/components/variations/service/variations_field_trial_creator_base.c diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc --- a/components/variations/service/variations_service.cc +++ b/components/variations/service/variations_service.cc -@@ -226,17 +226,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers, +@@ -227,17 +227,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers, // Variations seed fetching is only enabled in official Chrome builds, if a URL // is specified on the command line, and for testing. bool IsFetchingEnabled() { @@ -329,7 +329,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va } // Returns the already downloaded first run seed, and clear the seed from the -@@ -625,7 +616,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) { +@@ -626,7 +617,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) { // debugger or if the machine was suspended) and OnURLFetchComplete() hasn't // had a chance to run yet from the previous request. In this case, don't // start a new request and just let the previous one finish. diff --git a/build/patches/Disable-idle-detection.patch b/build/patches/Disable-idle-detection.patch index cf8e7bfa..8a56a077 100644 --- a/build/patches/Disable-idle-detection.patch +++ b/build/patches/Disable-idle-detection.patch @@ -31,7 +31,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 --- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 +++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 -@@ -308,6 +308,7 @@ +@@ -314,6 +314,7 @@ { name: "IdleDetection", permissions_policy_name: "idle-detection", @@ -55,7 +55,7 @@ diff --git a/third_party/blink/renderer/modules/idle/idle_detector.idl b/third_p 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 -@@ -2318,6 +2318,11 @@ +@@ -2335,6 +2335,11 @@ name: "IgnoresCSSTextTransformsForPlainTextCopy", status: "stable", }, diff --git a/build/patches/Disable-lock-icon-in-address-bar-by-default.patch b/build/patches/Disable-lock-icon-in-address-bar-by-default.patch index e3c33b06..c3f6fdb4 100644 --- a/build/patches/Disable-lock-icon-in-address-bar-by-default.patch +++ b/build/patches/Disable-lock-icon-in-address-bar-by-default.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc --- a/components/omnibox/common/omnibox_features.cc +++ b/components/omnibox/common/omnibox_features.cc -@@ -383,8 +383,8 @@ BASE_FEATURE(kOmniboxSteadyStateTextColor, +@@ -378,8 +378,8 @@ BASE_FEATURE(kOmniboxSteadyStateTextColor, // used, on non-Android platforms this is controlled through the // ChromeRefresh2023 flag. BASE_FEATURE(kUpdatedConnectionSecurityIndicators, diff --git a/build/patches/Disable-media-router-and-remoting-by-default.patch b/build/patches/Disable-media-router-and-remoting-by-default.patch index b3a91418..be1eab0b 100644 --- a/build/patches/Disable-media-router-and-remoting-by-default.patch +++ b/build/patches/Disable-media-router-and-remoting-by-default.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc --- a/chrome/browser/media/router/media_router_feature.cc +++ b/chrome/browser/media/router/media_router_feature.cc -@@ -123,6 +123,7 @@ void ClearMediaRouterStoredPrefsForTesting() { +@@ -117,6 +117,7 @@ void ClearMediaRouterStoredPrefsForTesting() { } bool MediaRouterEnabled(content::BrowserContext* context) { @@ -23,7 +23,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse #if !BUILDFLAG(IS_ANDROID) if (!base::FeatureList::IsEnabled(kMediaRouter)) return false; -@@ -165,7 +166,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -161,7 +162,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "", PrefRegistry::PUBLIC); registry->RegisterBooleanPref( @@ -32,7 +32,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse registry->RegisterBooleanPref( media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices, true); -@@ -236,4 +237,7 @@ std::optional GetCastMirroringPlayoutDelay() { +@@ -225,4 +226,7 @@ std::optional GetCastMirroringPlayoutDelay() { #endif // !BUILDFLAG(IS_ANDROID) @@ -43,7 +43,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.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 -@@ -424,7 +424,7 @@ void ProfileImpl::RegisterProfilePrefs( +@@ -427,7 +427,7 @@ void ProfileImpl::RegisterProfilePrefs( #endif registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); @@ -79,7 +79,7 @@ diff --git a/third_party/blink/renderer/modules/remoteplayback/remote_playback.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 -@@ -3509,14 +3509,10 @@ +@@ -3499,14 +3499,10 @@ base_feature: "none", }, { @@ -96,5 +96,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "experimental", // by default }, { - name: "RemoveDanglingMarkupInTarget", + // See https://issues.chromium.org/40805258 -- diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch index 366bb886..98626956 100644 --- a/build/patches/Disable-plugins-enumeration.patch +++ b/build/patches/Disable-plugins-enumeration.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2263,9 +2263,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2272,9 +2272,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/Disable-prefers-reduced-transparency-media-query.patch b/build/patches/Disable-prefers-reduced-transparency-media-query.patch index f54e498a..f1d34688 100644 --- a/build/patches/Disable-prefers-reduced-transparency-media-query.patch +++ b/build/patches/Disable-prefers-reduced-transparency-media-query.patch @@ -13,7 +13,7 @@ This feature can be used for fingerprinting as it exposes a user preference diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc --- a/third_party/blink/renderer/core/css/media_query_exp.cc +++ b/third_party/blink/renderer/core/css/media_query_exp.cc -@@ -120,7 +120,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature, +@@ -117,7 +117,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature, ident == CSSValueID::kLess || ident == CSSValueID::kCustom; } @@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/core/preferences/preference_manager.idl 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 -@@ -3319,6 +3319,10 @@ +@@ -3313,6 +3313,10 @@ name: "PrefersReducedData", status: "experimental", }, diff --git a/build/patches/Disable-privacy-sandbox.patch b/build/patches/Disable-privacy-sandbox.patch index 1526398b..fc6d5f60 100644 --- a/build/patches/Disable-privacy-sandbox.patch +++ b/build/patches/Disable-privacy-sandbox.patch @@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -3532,6 +3532,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -3552,6 +3552,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -81,7 +81,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.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 -@@ -1298,7 +1298,7 @@ void RegisterProfilePrefsForMigration( +@@ -1354,7 +1354,7 @@ void RegisterProfilePrefsForMigration( registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time()); // Deprecated 03/2024. @@ -93,7 +93,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc --- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc -@@ -519,7 +519,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() { +@@ -626,7 +626,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() { void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled( bool enabled) { pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, @@ -126,7 +126,7 @@ diff --git a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc b/chrom diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc --- a/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc -@@ -657,18 +657,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id, +@@ -665,18 +665,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id, if (!visit_id) return; @@ -161,9 +161,9 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc --- a/components/privacy_sandbox/privacy_sandbox_features.cc +++ b/components/privacy_sandbox/privacy_sandbox_features.cc -@@ -236,4 +236,8 @@ BASE_FEATURE(kPrivacySandboxPrivacyPolicy, - "PrivacySandboxPrivacyPolicy", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -255,4 +255,8 @@ BASE_FEATURE(kPrivacySandboxSentimentSurvey, + const base::FeatureParam kPrivacySandboxSentimentSurveyTriggerId{ + &kPrivacySandboxSentimentSurvey, "sentiment-survey-trigger-id", ""}; +SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4); +SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts); @@ -194,7 +194,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc --- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc +++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc -@@ -125,7 +125,7 @@ std::set GetTopicsSetFromString( +@@ -127,7 +127,7 @@ std::set GetTopicsSetFromString( // static bool PrivacySandboxSettingsImpl::IsAllowed(Status status) { @@ -203,7 +203,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo } // static -@@ -245,7 +245,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() { +@@ -247,7 +247,8 @@ PrivacySandboxSettingsImpl::GetFinchPrioritizedTopics() { return finch_prioritized_topics_; } @@ -213,7 +213,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo Status status = GetM1TopicAllowedStatus(); JoinHistogram(kIsTopicsAllowedHistogram, status); return IsAllowed(status); -@@ -277,7 +278,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext( +@@ -279,7 +280,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext( return IsAllowed(status); } @@ -223,7 +223,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo const auto& blocked_topics = pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics); -@@ -479,6 +481,7 @@ bool PrivacySandboxSettingsImpl:: +@@ -481,6 +483,7 @@ bool PrivacySandboxSettingsImpl:: void PrivacySandboxSettingsImpl::SetFledgeJoiningAllowed( const std::string& top_frame_etld_plus1, bool allowed) { @@ -231,7 +231,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo ScopedDictPrefUpdate scoped_pref_update( pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); -@@ -550,7 +553,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings( +@@ -552,7 +555,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings( } bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed( @@ -241,7 +241,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo ScopedDictPrefUpdate scoped_pref_update( pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); auto& pref_data = scoped_pref_update.Get(); -@@ -813,7 +817,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting( +@@ -860,7 +864,10 @@ void PrivacySandboxSettingsImpl::SetDelegateForTesting( delegate_ = std::move(delegate); } @@ -253,7 +253,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince, base::Time::Now()); -@@ -826,6 +833,7 @@ PrivacySandboxSettingsImpl::Status +@@ -873,6 +880,7 @@ PrivacySandboxSettingsImpl::Status PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus( const url::Origin& top_frame_origin, const GURL& url) const { @@ -261,7 +261,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo // Relying on |host_content_settings_map_| instead of |cookie_settings_| // allows to query whether the site associated with the |url| is allowed to // access Site data (aka ContentSettingsType::COOKIES) without considering any -@@ -840,6 +848,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus( +@@ -887,6 +895,7 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus( PrivacySandboxSettingsImpl::Status PrivacySandboxSettingsImpl::GetPrivacySandboxAllowedStatus( bool should_ignore_restriction /*=false*/) const { @@ -287,7 +287,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/component diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc --- a/components/signin/public/identity_manager/account_capabilities.cc +++ b/components/signin/public/identity_manager/account_capabilities.cc -@@ -86,7 +86,7 @@ signin::Tribool AccountCapabilities:: +@@ -87,7 +87,7 @@ signin::Tribool AccountCapabilities:: signin::Tribool AccountCapabilities::can_run_chrome_privacy_sandbox_trials() const { @@ -320,7 +320,7 @@ new file mode 100644 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -2625,6 +2625,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases, +@@ -2640,6 +2640,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases, // constants for features in the section above. bool IsAllowURNsInIframeEnabled() { diff --git a/build/patches/Disable-references-to-fonts.googleapis.com.patch b/build/patches/Disable-references-to-fonts.googleapis.com.patch index 32a94ad5..cf361ea8 100644 --- a/build/patches/Disable-references-to-fonts.googleapis.com.patch +++ b/build/patches/Disable-references-to-fonts.googleapis.com.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts b/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts --- a/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts +++ b/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts -@@ -413,9 +413,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase { +@@ -374,9 +374,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase { const link = document.createElement('link'); link.rel = 'preload'; link.as = 'style'; diff --git a/build/patches/Disable-remote-altsvc-for-h3-connections.patch b/build/patches/Disable-remote-altsvc-for-h3-connections.patch index 5389b722..4f16aa6e 100644 --- a/build/patches/Disable-remote-altsvc-for-h3-connections.patch +++ b/build/patches/Disable-remote-altsvc-for-h3-connections.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc --- a/net/http/http_server_properties_manager.cc +++ b/net/http/http_server_properties_manager.cc -@@ -39,7 +39,7 @@ const int kMissingVersion = 0; +@@ -41,7 +41,7 @@ const int kMissingVersion = 0; const int kVersionNumber = 5; // Persist at most 200 currently-broken alternative services to disk. @@ -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 -@@ -1301,11 +1301,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1302,11 +1302,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; } -@@ -1349,8 +1345,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1350,8 +1346,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( GURL destination = CreateAltSvcUrl( original_url, alternative_service_info.host_port_pair()); diff --git a/build/patches/Disable-smart-selection-by-default.patch b/build/patches/Disable-smart-selection-by-default.patch index 77cb989e..a45d105e 100644 --- a/build/patches/Disable-smart-selection-by-default.patch +++ b/build/patches/Disable-smart-selection-by-default.patch @@ -55,7 +55,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 -@@ -458,6 +458,7 @@ public abstract class ChromeFeatureList { +@@ -461,6 +461,7 @@ public abstract class ChromeFeatureList { public static final String SHARE_CUSTOM_ACTIONS_IN_CCT = "ShareCustomActionsInCCT"; public static final String SEARCH_RESUMPTION_MODULE_ANDROID = "SearchResumptionModuleAndroid"; public static final String SEED_ACCOUNTS_REVAMP = "SeedAccountsRevamp"; diff --git a/build/patches/Disable-some-signed-exchange-features.patch b/build/patches/Disable-some-signed-exchange-features.patch index 17d54433..86058a65 100644 --- a/build/patches/Disable-some-signed-exchange-features.patch +++ b/build/patches/Disable-some-signed-exchange-features.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1613,7 +1613,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1624,7 +1624,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( site_isolation::prefs::kWebTriggeredIsolatedOrigins); registry->RegisterDictionaryPref( prefs::kDevToolsBackgroundServicesExpirationDict); diff --git a/build/patches/Disable-speechSynthesis-getVoices-API.patch b/build/patches/Disable-speechSynthesis-getVoices-API.patch index 8d12a26d..63352d25 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 -@@ -1657,7 +1657,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( +@@ -1674,7 +1674,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( std::unique_ptr ChromeContentRendererClient::CreateSpeechRecognitionClient( content::RenderFrame* render_frame) { @@ -43,8 +43,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -483,6 +483,14 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const { - return false; +@@ -448,6 +448,14 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { + cached_script_permissions_.clear(); } +bool ContentSettingsAgentImpl::IsTimezoneChanged() { @@ -58,7 +58,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc bool ContentSettingsAgentImpl::UpdateOverrides() { // Evaluate the content setting rules ContentSetting setting = CONTENT_SETTING_ALLOW; -@@ -493,7 +501,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() { +@@ -458,7 +466,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() { } return UpdateTimeZoneOverride( setting, content_setting_rules_->timezone_override_value); @@ -69,7 +69,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h --- a/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h -@@ -123,6 +123,8 @@ class ContentSettingsAgentImpl +@@ -120,6 +120,8 @@ class ContentSettingsAgentImpl void SetRendererContentSettingRulesForTest( const RendererContentSettingRules& rules); diff --git a/build/patches/Disable-text-fragments-by-default.patch b/build/patches/Disable-text-fragments-by-default.patch index 651d2b6d..d3bc7d71 100644 --- a/build/patches/Disable-text-fragments-by-default.patch +++ b/build/patches/Disable-text-fragments-by-default.patch @@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc -@@ -379,7 +379,7 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -378,7 +378,7 @@ void PrefsTabHelper::RegisterProfilePrefs( registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true); registry->RegisterStringPref(prefs::kPrefixedVideoFullscreenApiAvailability, "runtime-enabled"); @@ -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 -@@ -4584,9 +4584,14 @@ void Document::SetURL(const KURL& url) { +@@ -4534,9 +4534,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 -@@ -4227,10 +4227,9 @@ +@@ -4203,10 +4203,9 @@ }, { name: "TextFragmentIdentifiers", diff --git a/build/patches/Disable-third-party-origin-trials.patch b/build/patches/Disable-third-party-origin-trials.patch index 58123eb0..d8468555 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 -@@ -9142,7 +9142,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { +@@ -9141,7 +9141,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 -@@ -538,10 +538,6 @@ void FillNavigationParamsRequest( +@@ -539,10 +539,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; -@@ -569,12 +565,6 @@ void FillNavigationParamsRequest( +@@ -570,12 +566,6 @@ void FillNavigationParamsRequest( navigation_params->had_transient_user_activation = common_params.has_user_gesture; @@ -140,7 +140,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra if (!commit_params.early_hints_preloaded_resources.empty()) { navigation_params->early_hints_preloaded_resources = WebVector(); for (const auto& resource : commit_params.early_hints_preloaded_resources) { -@@ -635,11 +625,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -636,11 +626,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.GetURLRequestExtraData().get()); DCHECK(url_request_extra_data); @@ -152,7 +152,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra blink::NavigationDownloadPolicy download_policy; download_policy.ApplyDownloadFramePolicy( info->is_opener_navigation, info->url_request.HasUserGesture(), -@@ -667,7 +652,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -668,7 +653,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.HasUserGesture(), info->url_request.HasTextFragmentToken(), info->should_check_main_world_content_security_policy, @@ -237,7 +237,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -3123,10 +3110,6 @@ void DocumentLoader::CreateParserPostCommit() { +@@ -3132,10 +3119,6 @@ void DocumentLoader::CreateParserPostCommit() { mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection); } diff --git a/build/patches/Disable-various-metrics.patch b/build/patches/Disable-various-metrics.patch index 865f4b6e..bec7a747 100644 --- a/build/patches/Disable-various-metrics.patch +++ b/build/patches/Disable-various-metrics.patch @@ -92,19 +92,19 @@ 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 -@@ -1095,7 +1095,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -1121,7 +1121,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { #endif // BUILDFLAG(IS_CHROMEOS_ASH) registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, - GoogleUpdateSettings::GetCollectStatsConsent()); + false); registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); - } + #if BUILDFLAG(IS_LINUX) 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 -@@ -88,7 +88,6 @@ +@@ -89,7 +89,6 @@ #include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/interstitials/enterprise_util.h" #include "chrome/browser/lifetime/browser_shutdown.h" @@ -112,7 +112,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #include "chrome/browser/media/audio_service_util.h" #include "chrome/browser/media/prefs/capture_device_ranking.h" #include "chrome/browser/media/router/media_router_feature.h" -@@ -5357,16 +5356,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5363,16 +5362,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( content::NavigationHandle* handle) { std::vector> throttles; @@ -129,7 +129,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(IS_ANDROID) // TODO(davidben): This is insufficient to integrate with prerender properly. // https://crbug.com/370595 -@@ -5481,10 +5470,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5487,10 +5476,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( } } @@ -211,7 +211,7 @@ diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_ diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc --- a/components/ntp_tiles/most_visited_sites.cc +++ b/components/ntp_tiles/most_visited_sites.cc -@@ -775,8 +775,6 @@ void MostVisitedSites::SaveTilesAndNotify( +@@ -776,8 +776,6 @@ void MostVisitedSites::SaveTilesAndNotify( : new_tiles; if (fixed_tiles.size() != new_tiles.size()) { diff --git a/build/patches/Disallow-Android-App-Scheme-as-referrer.patch b/build/patches/Disallow-Android-App-Scheme-as-referrer.patch index 48929109..c1a76469 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 -@@ -547,11 +547,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -562,11 +562,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 1b1af5e9..59bdc679 100644 --- a/build/patches/Do-not-build-API-keys-infobar.patch +++ b/build/patches/Do-not-build-API-keys-infobar.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1393,8 +1393,6 @@ static_library("ui") { +@@ -1331,8 +1331,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", diff --git a/build/patches/Do-not-compile-QR-code-sharing.patch b/build/patches/Do-not-compile-QR-code-sharing.patch index 61da4b60..f5f9fc98 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 -@@ -3643,7 +3643,6 @@ generate_jni("chrome_jni_headers") { +@@ -3666,7 +3666,6 @@ generate_jni("chrome_jni_headers") { "../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,15 +30,15 @@ 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 -@@ -120,7 +120,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; - import org.chromium.chrome.browser.share.ShareDelegate; - import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; +@@ -123,7 +123,6 @@ import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; import org.chromium.chrome.browser.share.ShareUtils; + import org.chromium.chrome.browser.share.page_info_sheet.PageInfoSharingControllerImpl; + import org.chromium.chrome.browser.share.page_info_sheet.PageSummaryButtonController; -import org.chromium.chrome.browser.share.qrcode.QrCodeDialog; import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController; -@@ -614,10 +613,6 @@ public class RootUiCoordinator +@@ -598,10 +597,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 -@@ -1780,7 +1780,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1862,7 +1862,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { registry->RegisterBooleanPref(prefs::kUiAutomationProviderEnabled, false); #endif @@ -93,7 +93,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s } private void maybeAddLongScreenshotFirstPartyOption() { -@@ -414,25 +410,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { +@@ -424,25 +420,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { .build(); } @@ -122,7 +122,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/share/android/java_sources.gni --- a/chrome/browser/share/android/java_sources.gni +++ b/chrome/browser/share/android/java_sources.gni -@@ -44,17 +44,6 @@ share_java_sources = [ +@@ -45,17 +45,6 @@ share_java_sources = [ "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/page_info_sheet/feedback/FeedbackSheetMediator.java", "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/page_info_sheet/feedback/FeedbackSheetProperties.java", "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/page_info_sheet/feedback/FeedbackSheetViewBinder.java", @@ -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 -@@ -1667,6 +1667,7 @@ void SendTabToSelf(Browser* browser) { +@@ -1691,6 +1691,7 @@ void SendTabToSelf(Browser* browser) { } bool CanGenerateQrCode(const Browser* browser) { diff --git a/build/patches/Do-not-link-with-libatomic.patch b/build/patches/Do-not-link-with-libatomic.patch index 1a68ff08..6a2a77f4 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 -@@ -1119,7 +1119,7 @@ component("base") { +@@ -1103,7 +1103,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 e3011b09..23b2e2a8 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 -@@ -314,14 +314,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) { +@@ -315,14 +315,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) { void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( @@ -25,9 +25,9 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp - prefs::kCredentialsEnableAutosignin, true, + prefs::kCredentialsEnableAutosignin, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); - registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(), - PrefRegistry::NO_REGISTRATION_FLAGS); -@@ -361,9 +361,9 @@ void PasswordManager::RegisterProfilePrefs( + registry->RegisterBooleanPref( + prefs::kWasAutoSignInFirstRunExperienceShown, false, +@@ -357,9 +357,9 @@ void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref(prefs::kPasswordsPrefWithNewLabelUsed, false); #if BUILDFLAG(IS_ANDROID) diff --git a/build/patches/DoH-improvements.patch b/build/patches/DoH-improvements.patch index f7d6bea7..ae1e6dfa 100644 --- a/build/patches/DoH-improvements.patch +++ b/build/patches/DoH-improvements.patch @@ -45,7 +45,7 @@ diff --git a/chrome/browser/net/secure_dns_util.cc b/chrome/browser/net/secure_d diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc --- a/chrome/browser/net/stub_resolver_config_reader.cc +++ b/chrome/browser/net/stub_resolver_config_reader.cc -@@ -83,6 +83,7 @@ enum class SecureDnsModeDetailsForHistogram { +@@ -79,6 +79,7 @@ enum class SecureDnsModeDetailsForHistogram { #if BUILDFLAG(IS_WIN) bool ShouldDisableDohForWindowsParentalControls() { @@ -53,7 +53,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/ return GetWinParentalControls().web_filter; } #endif // BUILDFLAG(IS_WIN) -@@ -189,6 +190,7 @@ void StubResolverConfigReader::UpdateNetworkService(bool record_metrics) { +@@ -166,6 +167,7 @@ void StubResolverConfigReader::UpdateNetworkService(bool record_metrics) { } bool StubResolverConfigReader::ShouldDisableDohForManaged() { @@ -61,7 +61,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/ // This function ignores cloud policies which are loaded on a per-profile basis. #if BUILDFLAG(IS_ANDROID) // Check for MDM/management/owner apps. android_has_owner_ is true if either a -@@ -217,6 +219,7 @@ bool StubResolverConfigReader::ShouldDisableDohForManaged() { +@@ -194,6 +196,7 @@ bool StubResolverConfigReader::ShouldDisableDohForManaged() { } bool StubResolverConfigReader::ShouldDisableDohForParentalControls() { @@ -84,7 +84,7 @@ diff --git a/chrome/browser/privacy/secure_dns_bridge.cc b/chrome/browser/privac diff --git a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc --- a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc +++ b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc -@@ -120,7 +120,7 @@ base::Value::List SecureDnsHandler::GetSecureDnsResolverList() { +@@ -126,7 +126,7 @@ base::Value::List SecureDnsHandler::GetSecureDnsResolverList() { for (const net::DohProviderEntry* entry : providers_) { net::DnsOverHttpsConfig doh_config({entry->doh_server_config}); base::Value::Dict dict; diff --git a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch index 88d7f1e2..bd4733a4 100644 --- a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch +++ b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch @@ -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 -@@ -307,9 +307,11 @@ const base::FeatureParam kADPFBoostTimeout{ +@@ -311,9 +311,11 @@ const base::FeatureParam kADPFBoostTimeout{ // If enabled, Chrome includes the Renderer Main thread(s) into the // ADPF(Android Dynamic Performance Framework) hint session. diff --git a/build/patches/Enable-Certificate-Transparency.patch b/build/patches/Enable-Certificate-Transparency.patch index 0b100887..3cfb20af 100644 --- a/build/patches/Enable-Certificate-Transparency.patch +++ b/build/patches/Enable-Certificate-Transparency.patch @@ -30,12 +30,12 @@ diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features BASE_DECLARE_FEATURE(kBookmarkTriggerForPrerender2); +BASE_DECLARE_FEATURE(kCertificateTransparency); BASE_DECLARE_FEATURE(kCertificateTransparencyAskBeforeEnabling); + BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); BASE_DECLARE_FEATURE(kClosedTabCache); - 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 -@@ -1017,7 +1017,7 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { +@@ -1031,7 +1031,7 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { // - on an opt-in basis for other builds and embedders, controlled with the // kCertificateTransparencyAskBeforeEnabling flag return base::FeatureList::IsEnabled( diff --git a/build/patches/Enable-Document-Open-Inheritance-Removal.patch b/build/patches/Enable-Document-Open-Inheritance-Removal.patch index 236e32d8..031022b8 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 -@@ -3532,70 +3532,6 @@ void Document::open(LocalDOMWindow* entered_window, +@@ -3489,70 +3489,6 @@ void Document::open(LocalDOMWindow* entered_window, // https://chromestatus.com/metrics/feature/timeline/popularity/4375 CountUse(WebFeature::kDocumentOpenMutateSandbox); } @@ -85,7 +85,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 -@@ -1509,7 +1509,6 @@ +@@ -1556,7 +1556,6 @@ { name: "DocumentOpenSandboxInheritanceRemoval", status: "stable", diff --git a/build/patches/Enable-Global-Privacy-Control.patch b/build/patches/Enable-Global-Privacy-Control.patch index b0567bbc..3dbdb471 100644 --- a/build/patches/Enable-Global-Privacy-Control.patch +++ b/build/patches/Enable-Global-Privacy-Control.patch @@ -72,7 +72,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 -@@ -952,6 +952,7 @@ chrome_java_sources = [ +@@ -953,6 +953,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java", "java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java", "java/src/org/chromium/chrome/browser/policy/PolicyAuditorBridge.java", @@ -156,7 +156,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -98,6 +98,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -100,6 +100,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_SECURE_DNS = "secure_dns"; private static final String PREF_USAGE_STATS = "usage_stats_reporting"; private static final String PREF_DO_NOT_TRACK = "do_not_track"; @@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_REFERER_POLICY = "referers_policy"; -@@ -487,6 +488,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -495,6 +496,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -182,7 +182,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -2287,6 +2287,21 @@ +@@ -2180,6 +2180,21 @@ Learn more about Do Not Track @@ -207,7 +207,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp 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 -@@ -372,6 +372,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -379,6 +379,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kTrackingProtectionLevel] = settings_api::PrefType::kNumber; (*s_allowlist)[::prefs::kEnableDoNotTrack] = settings_api::PrefType::kBoolean; @@ -231,7 +231,7 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render 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 -@@ -118,6 +118,7 @@ build_webui("build") { +@@ -121,6 +121,7 @@ build_webui("build") { "privacy_page/cookies_page.ts", "privacy_page/fingerprint_progress_arc.ts", "privacy_page/do_not_track_toggle.ts", @@ -464,7 +464,7 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.h b/chrome/browser/ui/prefs/pr 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 -@@ -1763,6 +1763,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1684,6 +1684,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"doNotTrackDialogMessage", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TEXT}, {"doNotTrackDialogLearnMoreA11yLabel", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL}, @@ -558,8 +558,8 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings_observer.h + virtual void OnGPCEnabledChanged() {} + - // For observation of anti-fingerprinting. - virtual void OnFingerprintingProtectionEnabledChanged() {} + // For observation of IP protection. + virtual void OnIpProtectionEnabledChanged() {} diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/content/browser/loader/browser_initiated_resource_request.cc --- a/content/browser/loader/browser_initiated_resource_request.cc @@ -580,7 +580,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont 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 -@@ -4506,6 +4506,10 @@ void RenderFrameImpl::WillSendRequestInternal( +@@ -4591,6 +4591,10 @@ void RenderFrameImpl::FinalizeRequestInternal( request.SetHttpHeaderField( blink::WebString::FromUTF8(blink::kDoNotTrackHeader), "1"); } @@ -589,8 +589,8 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra + blink::WebString::FromUTF8(blink::kSecGPCHeader), "1"); + } - ApplyFilePathAlias(&request); - GURL new_url; + // The request's extra data may indicate that we should set a custom user + // agent. This needs to be done here, after WebKit is through with setting the diff --git a/third_party/blink/common/loader/loader_constants.cc b/third_party/blink/common/loader/loader_constants.cc --- a/third_party/blink/common/loader/loader_constants.cc +++ b/third_party/blink/common/loader/loader_constants.cc @@ -664,7 +664,7 @@ diff --git a/third_party/blink/public/mojom/renderer_preferences.mojom b/third_p diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_party/blink/renderer/bindings/idl_in_modules.gni --- a/third_party/blink/renderer/bindings/idl_in_modules.gni +++ b/third_party/blink/renderer/bindings/idl_in_modules.gni -@@ -1267,6 +1267,11 @@ static_idl_files_in_modules = [ +@@ -1269,6 +1269,11 @@ static_idl_files_in_modules = [ "//third_party/blink/renderer/modules/xr/xr_webgl_sub_image.idl", ] @@ -679,7 +679,7 @@ diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_part diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3529,6 +3529,9 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3535,6 +3535,9 @@ void WebViewImpl::UpdateRendererPreferences( GetSettings()->SetCaretBrowsingEnabled( renderer_preferences_.caret_browsing_enabled); @@ -692,7 +692,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn --- a/third_party/blink/renderer/modules/BUILD.gn +++ b/third_party/blink/renderer/modules/BUILD.gn -@@ -171,6 +171,10 @@ component("modules") { +@@ -172,6 +172,10 @@ component("modules") { "//third_party/blink/renderer/modules/xr", ] @@ -778,7 +778,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc b/third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc --- a/third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc +++ b/third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc -@@ -154,6 +154,9 @@ void WebServiceWorkerFetchContextImpl::WillSendRequest(WebURLRequest& request) { +@@ -154,6 +154,9 @@ void WebServiceWorkerFetchContextImpl::FinalizeRequest(WebURLRequest& request) { if (renderer_preferences_.enable_do_not_track) { request.SetHttpHeaderField(WebString::FromUTF8(kDoNotTrackHeader), "1"); } @@ -791,7 +791,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/web_service_worke diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_fetch_context_impl.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_fetch_context_impl.cc --- a/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_fetch_context_impl.cc +++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_fetch_context_impl.cc -@@ -376,6 +376,9 @@ void DedicatedOrSharedWorkerFetchContextImpl::WillSendRequest( +@@ -384,6 +384,9 @@ void DedicatedOrSharedWorkerFetchContextImpl::FinalizeRequest( if (renderer_preferences_.enable_do_not_track) { request.SetHttpHeaderField(WebString::FromUTF8(kDoNotTrackHeader), "1"); } @@ -804,7 +804,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicat 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 -@@ -2115,6 +2115,11 @@ +@@ -2149,6 +2149,11 @@ status: "stable", base_feature: "none", }, diff --git a/build/patches/Enable-HighEfficiencyMode-by-default.patch b/build/patches/Enable-HighEfficiencyMode-by-default.patch index 1982e14a..5e56f123 100644 --- a/build/patches/Enable-HighEfficiencyMode-by-default.patch +++ b/build/patches/Enable-HighEfficiencyMode-by-default.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/performance_manager/features.cc b/components/performance_manager/features.cc --- a/components/performance_manager/features.cc +++ b/components/performance_manager/features.cc -@@ -154,6 +154,7 @@ const base::FeatureParam kThresholdChromeCPUPercent{ +@@ -143,6 +143,7 @@ BASE_FEATURE(kUrgentPageDiscarding, BASE_FEATURE(kCPUMeasurementInFreezingPolicy, "CPUMeasurementInFreezingPolicy", base::FEATURE_DISABLED_BY_DEFAULT); @@ -30,7 +30,7 @@ diff --git a/components/performance_manager/features.cc b/components/performance // Note: This param is associated with `kCPUMeasurementInFreezingPolicy` instead // of `kFreezingOnBatterySaver`, to allow retrieving the value without -@@ -170,8 +171,13 @@ BASE_FEATURE(kFreezingOnBatterySaverForTesting, +@@ -159,9 +160,14 @@ BASE_FEATURE(kFreezingOnBatterySaverForTesting, "FreezingOnBatterySaverForTesting", base::FEATURE_DISABLED_BY_DEFAULT); @@ -43,7 +43,8 @@ diff --git a/components/performance_manager/features.cc b/components/performance base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_ENABLED(kResourceAttributionIncludeOrigins); - } // namespace performance_manager::features + BASE_FEATURE(kSeamlessRenderFrameSwap, + "SeamlessRenderFrameSwap", diff --git a/components/performance_manager/freezing/freezing_policy.cc b/components/performance_manager/freezing/freezing_policy.cc --- a/components/performance_manager/freezing/freezing_policy.cc +++ b/components/performance_manager/freezing/freezing_policy.cc @@ -64,7 +65,7 @@ diff --git a/components/performance_manager/freezing/freezing_policy.cc b/compon diff --git a/components/performance_manager/public/features.h b/components/performance_manager/public/features.h --- a/components/performance_manager/public/features.h +++ b/components/performance_manager/public/features.h -@@ -160,6 +160,9 @@ BASE_DECLARE_FEATURE(kFreezingOnBatterySaver); +@@ -157,6 +157,9 @@ BASE_DECLARE_FEATURE(kFreezingOnBatterySaver); // - Pretend that all tabs have high CPU usage in background. BASE_DECLARE_FEATURE(kFreezingOnBatterySaverForTesting); @@ -102,10 +103,10 @@ diff --git a/components/performance_manager/user_tuning/prefs.cc b/components/pe diff --git a/content/browser/renderer_host/page_lifecycle_state_manager.cc b/content/browser/renderer_host/page_lifecycle_state_manager.cc --- a/content/browser/renderer_host/page_lifecycle_state_manager.cc +++ b/content/browser/renderer_host/page_lifecycle_state_manager.cc -@@ -77,6 +77,14 @@ void PageLifecycleStateManager::SetFrameTreeVisibility( - return; +@@ -88,6 +88,14 @@ void PageLifecycleStateManager::SetFrameTreeVisibility( + frozen_explicitly_ = false; + } - frame_tree_visibility_ = visibility; + if (visibility == blink::mojom::PageVisibilityState::kVisible) { + // Unset `frozen_explicitly_` when the page is shown, to reflect that the + // Blink page scheduler unfreezes the page in that situation. This ensures diff --git a/build/patches/Enable-ImprovedBookmarks-by-default.patch b/build/patches/Enable-ImprovedBookmarks-by-default.patch index 0dce82b6..2a521cb0 100644 --- a/build/patches/Enable-ImprovedBookmarks-by-default.patch +++ b/build/patches/Enable-ImprovedBookmarks-by-default.patch @@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm 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 -@@ -864,7 +864,7 @@ public abstract class ChromeFeatureList { +@@ -887,7 +887,7 @@ public abstract class ChromeFeatureList { public static final MutableFlagWithSafeDefault sAdaptiveButtonInTopToolbarCustomizationV2 = newMutableFlagWithSafeDefault(ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2, false); public static final MutableFlagWithSafeDefault sAndroidImprovedBookmarks = diff --git a/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch b/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch index 6e5c5718..f00aef85 100644 --- a/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch +++ b/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch @@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1585,7 +1585,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1594,7 +1594,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( registry->RegisterFilePathPref(prefs::kDiskCacheDir, base::FilePath()); registry->RegisterIntegerPref(prefs::kDiskCacheSize, 0); registry->RegisterStringPref(prefs::kIsolateOrigins, std::string()); @@ -28,8 +28,8 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch + registry->RegisterBooleanPref(prefs::kSitePerProcess, true); registry->RegisterBooleanPref(prefs::kTabFreezingEnabled, true); registry->RegisterIntegerPref(prefs::kSCTAuditingHashdanceReportCount, 0); - #if BUILDFLAG(IS_CHROMEOS) -@@ -1606,7 +1606,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( + registry->RegisterBooleanPref(prefs::kDataURLWhitespacePreservationEnabled, +@@ -1617,7 +1617,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( // user policy in addition to the same named ones in Local State (which are // used for mapping the command-line flags). registry->RegisterStringPref(prefs::kIsolateOrigins, std::string()); diff --git a/build/patches/Enable-darken-websites-checkbox-in-themes.patch b/build/patches/Enable-darken-websites-checkbox-in-themes.patch index ef4076d3..edf93474 100644 --- a/build/patches/Enable-darken-websites-checkbox-in-themes.patch +++ b/build/patches/Enable-darken-websites-checkbox-in-themes.patch @@ -14,13 +14,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -1913,9 +1913,9 @@ +@@ -1967,9 +1967,9 @@ "expiry_milestone": -1 }, { - "name": "darken-websites-checkbox-in-themes-setting", - "owners": [ "nemco@google.com", "wenyufu@google.com", "twellington@chromium.org" ], -- "expiry_milestone": 130 +- "expiry_milestone": 140 + "name": "darken-websites-checkbox-in-themes-setting", // this is always enabled in Bromite + "owners": [ "nemco@google.com", "wenyufu@google.com", "twellington@chromium.org" ], // - + "expiry_milestone": -1 diff --git a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch index deec4a7a..d7f93186 100644 --- a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch +++ b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch @@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -380,6 +380,10 @@ config("compiler") { +@@ -383,6 +383,10 @@ config("compiler") { } } diff --git a/build/patches/Enable-gwp-asan-on-Android.patch b/build/patches/Enable-gwp-asan-on-Android.patch index a2e8a112..68202cb1 100644 --- a/build/patches/Enable-gwp-asan-on-Android.patch +++ b/build/patches/Enable-gwp-asan-on-Android.patch @@ -83,21 +83,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting import androidx.preference.PreferenceFragmentCompat; import org.chromium.base.ResettersForTesting; -@@ -15,11 +17,13 @@ import org.chromium.base.version_info.VersionInfo; - import org.chromium.chrome.R; - import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; +@@ -19,10 +21,12 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -+import org.chromium.chrome.browser.util.PlatformUtil; + import org.chromium.components.browser_ui.settings.SettingsPage; import org.chromium.components.browser_ui.settings.SettingsUtils; ++import org.chromium.chrome.browser.util.PlatformUtil; /** Settings fragment containing preferences aimed at Chrome and web developers. */ - public class DeveloperSettings extends PreferenceFragmentCompat { + public class DeveloperSettings extends PreferenceFragmentCompat implements SettingsPage { private static final String UI_PREF_BETA_STABLE_HINT = "beta_stable_hint"; + private static final String TEST_GWP_ASAN_KEY = "test_gwp_asan"; // Non-translated strings: private static final String MSG_DEVELOPER_OPTIONS_TITLE = "Developer options"; -@@ -54,5 +58,21 @@ public class DeveloperSettings extends PreferenceFragmentCompat { +@@ -58,6 +62,22 @@ public class DeveloperSettings extends PreferenceFragmentCompat implements Setti if (VersionInfo.isBetaBuild() || VersionInfo.isStableBuild()) { getPreferenceScreen().removePreference(findPreference(UI_PREF_BETA_STABLE_HINT)); } @@ -118,11 +117,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting + return true; + }); } - } + + @Override diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc -@@ -2021,7 +2021,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { +@@ -2009,7 +2009,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { const std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); const bool is_browser_process = process_type.empty(); diff --git a/build/patches/Enable-menu-on-reload-button.patch b/build/patches/Enable-menu-on-reload-button.patch index 95883478..3c6b1cc1 100644 --- a/build/patches/Enable-menu-on-reload-button.patch +++ b/build/patches/Enable-menu-on-reload-button.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -4812,10 +4812,10 @@ are declared in tools/grit/grit_rule.gni. +@@ -4806,10 +4806,10 @@ are declared in tools/grit/grit_rule.gni. Normal Reload diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 9e53e436..74d02ed7 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../settings/PasswordSettings.java | 82 ++++++++++++++++++- .../chrome/browser/settings/MainSettings.java | 3 +- - .../chromium/chrome/browser/tab/TabImpl.java | 43 ++++++++-- + .../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++++-- chrome/browser/about_flags.cc | 31 ------- chrome/browser/android/tab_android.cc | 3 +- chrome/browser/autofill/android/BUILD.gn | 2 +- @@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../autofill/core/common/autofill_features.h | 22 ----- .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 ++ - 33 files changed, 270 insertions(+), 167 deletions(-) + 33 files changed, 270 insertions(+), 165 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java @@ -60,9 +60,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage import org.chromium.base.BuildInfo; +import org.chromium.base.StrictModeContext; import org.chromium.base.metrics.RecordHistogram; - import org.chromium.chrome.R; - import org.chromium.chrome.browser.password_check.PasswordCheck; -@@ -58,6 +59,11 @@ import java.lang.annotation.Retention; + import org.chromium.base.supplier.ObservableSupplier; + import org.chromium.base.supplier.ObservableSupplierImpl; +@@ -61,6 +62,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Locale; @@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage /** * The "Passwords" screen in Settings, which allows the user to enable or disable password saving, * to view saved passwords (just the username and URL), and to delete saved passwords. -@@ -65,7 +71,7 @@ import java.util.Locale; +@@ -68,7 +74,7 @@ import java.util.Locale; public class PasswordSettings extends ChromeBaseSettingsFragment implements PasswordListObserver, Preference.OnPreferenceClickListener, @@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage @IntDef({ TrustedVaultBannerState.NOT_SHOWN, TrustedVaultBannerState.OFFER_OPT_IN, -@@ -95,6 +101,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -98,6 +104,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment public static final String PREF_TRUSTED_VAULT_BANNER = "trusted_vault_banner"; public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link"; @@ -96,16 +96,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords"; private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions"; private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text"; -@@ -127,6 +139,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -130,6 +142,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment private Preference mLinkPref; private Menu mMenu; + private ChromeSwitchPreference mEnableAndroidAutofillSwitch; + private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch; private @ManagePasswordsReferrer int mManagePasswordsReferrer; - private BottomSheetController mBottomSheetController; - -@@ -306,6 +320,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment + private OneshotSupplier mBottomSheetControllerSupplier; + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); +@@ -315,6 +329,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment } createSavePasswordsSwitch(); @@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage if (shouldShowAutoSigninOption()) { createAutoSignInCheckbox(); } -@@ -578,6 +593,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -587,6 +602,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE)); } @@ -188,20 +188,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java -@@ -462,8 +462,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -482,8 +482,7 @@ public class MainSettings extends ChromeBaseSettingsFragment private void updateAutofillPreferences() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O - && ChromeFeatureList.isEnabled( - AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID)) { + && ((false))) { + addPreferenceIfAbsent(PREF_AUTOFILL_SECTION); addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS); Preference preference = findPreference(PREF_AUTOFILL_OPTIONS); - preference.setFragment(null); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java -@@ -91,6 +91,13 @@ import java.lang.annotation.RetentionPolicy; +@@ -93,6 +93,13 @@ import java.lang.annotation.RetentionPolicy; import java.nio.ByteBuffer; import java.util.Objects; @@ -215,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This * class is not intended to be extended. -@@ -1000,6 +1007,11 @@ class TabImpl implements Tab { +@@ -1011,6 +1018,11 @@ class TabImpl implements Tab { for (TabObserver observer : mObservers) observer.onDestroyed(this); mObservers.clear(); @@ -227,17 +227,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1274,8 +1286,7 @@ class TabImpl implements Tab { +@@ -1284,6 +1296,7 @@ class TabImpl implements Tab { + * @return iff the AutofillProvider should provide a ViewStructure when prompted. */ boolean providesAutofillStructure() { - // TODO(b/326231439): Check pref and AutofillService! -- return ChromeFeatureList.isEnabled( -- AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID); -+ return true; - } - - // Forwarded from TabWebContentsDelegateAndroid. -@@ -2017,15 +2028,20 @@ class TabImpl implements Tab { ++ if ((true)) return true; + if (!ChromeFeatureList.isEnabled( + AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID)) { + return false; +@@ -2035,15 +2048,20 @@ class TabImpl implements Tab { * @return true if the the provider is available for the given WebContents. */ private boolean prepareAutofillProvider(WebContents newWebContents) { @@ -264,7 +262,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mAutofillProvider = new AutofillProvider( getContext(), -@@ -2034,7 +2050,16 @@ class TabImpl implements Tab { +@@ -2052,7 +2070,16 @@ class TabImpl implements Tab { getContext().getString(R.string.app_name)); TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid); } @@ -285,7 +283,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav 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 -@@ -3858,28 +3858,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations +@@ -3830,28 +3830,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations kAutofillGranularFillingAvailableVariationWithExpandControlVisibleOnSelectionOnly), nullptr}}; @@ -311,10 +309,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc - -#endif // BUILDFLAG(IS_ANDROID) - - const FeatureEntry::FeatureParam kDefaultBrowserPromptRefreshAggressive[] = { - {"max_prompt_count", "-1"}, - {"reprompt_duration", "7d"}, -@@ -6184,15 +6162,6 @@ const FeatureEntry kFeatureEntries[] = { + const FeatureEntry::FeatureParam + kPrerender2WarmUpCompositorTriggerPointDidCommitLoad[] = { + {"trigger_point", "did_commit_load"}}; +@@ -6188,15 +6166,6 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_ANDROID) @@ -371,7 +369,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -728,12 +728,6 @@ const char kAutofillVcnEnrollRequestTimeoutDescription[] = +@@ -754,12 +754,6 @@ const char kAutofillVcnEnrollRequestTimeoutDescription[] = "VCN enrollment request. Upon timeout, the client will terminate the VCN " "enrollment UI, but the request may still succeed server-side."; @@ -387,7 +385,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -428,9 +428,6 @@ extern const char kAutofillUpstreamUpdatedUiDescription[]; +@@ -441,9 +441,6 @@ extern const char kAutofillUpstreamUpdatedUiDescription[]; extern const char kAutofillVcnEnrollRequestTimeoutName[]; extern const char kAutofillVcnEnrollRequestTimeoutDescription[]; @@ -400,7 +398,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -681,6 +681,12 @@ For more settings that use data to improve your Chrome experience, go to Save passwords @@ -540,7 +538,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -377,9 +377,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -390,9 +390,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents); chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents); chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents); @@ -723,7 +721,7 @@ new file mode 100644 diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc --- a/components/autofill/content/browser/content_autofill_driver.cc +++ b/components/autofill/content/browser/content_autofill_driver.cc -@@ -247,6 +247,13 @@ void RouteToManager(ContentAutofillDriver& source, +@@ -249,6 +249,13 @@ void RouteToManager(ContentAutofillDriver& source, AutofillManager& manager = target.GetAutofillManager(); (manager.* manager_fun)(WithNewVersion(std::forward(args))...); @@ -737,7 +735,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }, source, Lift(source, std::forward(args))...); } -@@ -604,6 +611,10 @@ ContentAutofillDriver::GetAutofillAgent() { +@@ -614,6 +621,10 @@ ContentAutofillDriver::GetAutofillAgent() { return autofill_agent_; } @@ -764,7 +762,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; } const content::RenderFrameHost* render_frame_host() const { return &*render_frame_host_; -@@ -294,6 +300,10 @@ class ContentAutofillDriver : public AutofillDriver, +@@ -298,6 +304,10 @@ class ContentAutofillDriver : public AutofillDriver, // The factory that created this driver. Outlives `this`. const raw_ref owner_; @@ -807,7 +805,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc --- a/components/autofill/content/renderer/autofill_agent.cc +++ b/components/autofill/content/renderer/autofill_agent.cc -@@ -1352,12 +1352,16 @@ void AutofillAgent::ShowSuggestions( +@@ -1390,12 +1390,16 @@ void AutofillAgent::ShowSuggestions( password_generation_agent_->ShowPasswordGenerationSuggestions( input_element)) { is_popup_possibly_visible_ = true; @@ -824,7 +822,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components } } -@@ -1366,12 +1370,14 @@ void AutofillAgent::ShowSuggestions( +@@ -1404,12 +1408,14 @@ void AutofillAgent::ShowSuggestions( // `FormControlTypeForAutofill()` because we are interested in whether the // field is *currently* a password field, not whether it has ever been a // password field. @@ -842,7 +840,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc --- a/components/autofill/content/renderer/password_autofill_agent.cc +++ b/components/autofill/content/renderer/password_autofill_agent.cc -@@ -854,7 +854,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( +@@ -844,7 +844,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( void PasswordAutofillAgent::TrackAutofilledElement( const WebFormControlElement& element) { @@ -883,7 +881,7 @@ diff --git a/components/autofill/core/browser/autofill_driver_factory.cc b/compo diff --git a/components/autofill/core/browser/autofill_manager.h b/components/autofill/core/browser/autofill_manager.h --- a/components/autofill/core/browser/autofill_manager.h +++ b/components/autofill/core/browser/autofill_manager.h -@@ -219,6 +219,8 @@ class AutofillManager +@@ -220,6 +220,8 @@ class AutofillManager LifecycleState new_state, base::PassKey pass_key); @@ -895,7 +893,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.h b/components/au diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/components/autofill/core/browser/browser_autofill_manager.cc --- a/components/autofill/core/browser/browser_autofill_manager.cc +++ b/components/autofill/core/browser/browser_autofill_manager.cc -@@ -703,6 +703,8 @@ BrowserAutofillManager::~BrowserAutofillManager() { +@@ -719,6 +719,8 @@ BrowserAutofillManager::~BrowserAutofillManager() { single_field_form_fill_router_->CancelPendingQueries(); } @@ -907,7 +905,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/comp diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/components/autofill/core/browser/browser_autofill_manager.h --- a/components/autofill/core/browser/browser_autofill_manager.h +++ b/components/autofill/core/browser/browser_autofill_manager.h -@@ -112,6 +112,8 @@ class BrowserAutofillManager : public AutofillManager { +@@ -117,6 +117,8 @@ class BrowserAutofillManager : public AutofillManager { ~BrowserAutofillManager() override; @@ -919,7 +917,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/compo diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc -@@ -890,7 +890,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, +@@ -771,7 +771,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, BASE_FEATURE(kAutofillVirtualViewStructureAndroid, "AutofillVirtualViewStructureAndroid", base::FEATURE_DISABLED_BY_DEFAULT); @@ -931,7 +929,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h --- a/components/autofill/core/common/autofill_features.h +++ b/components/autofill/core/common/autofill_features.h -@@ -298,28 +298,6 @@ COMPONENT_EXPORT(AUTOFILL) +@@ -262,28 +262,6 @@ COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid); COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid); @@ -984,7 +982,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h --- a/components/autofill/core/common/autofill_prefs.h +++ b/components/autofill/core/common/autofill_prefs.h -@@ -104,6 +104,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] = +@@ -114,6 +114,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] = // retention policy was run. inline constexpr char kAutocompleteLastVersionRetentionPolicy[] = "autocomplete.retention_policy_last_version"; diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index 097db8b5..b68ecdbb 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -1015,7 +1015,7 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { +@@ -1026,7 +1026,7 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { field_trial = base::FeatureList::GetFieldTrial( net::features::kSplitCacheByIncludeCredentials); current_field_trial_status += diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch index 24053a17..3c79d89a 100644 --- a/build/patches/Enable-search-engine-settings-desktop-ui.patch +++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch @@ -82,7 +82,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/settings/SettingsLauncherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java -@@ -12,6 +12,9 @@ import android.os.Bundle; +@@ -11,6 +11,9 @@ import android.os.Bundle; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.IntentUtils; import org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings; import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment; -@@ -33,6 +36,13 @@ public class SettingsLauncherImpl implements SettingsLauncher { +@@ -31,6 +34,13 @@ public class SettingsLauncherImpl implements SettingsLauncher { /** Instantiated through SettingsLauncherFactory. */ SettingsLauncherImpl() {} @@ -133,7 +133,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -2611,6 +2611,9 @@ +@@ -2496,6 +2496,9 @@ URL with %s in place of query @@ -411,7 +411,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 -@@ -3473,6 +3473,9 @@ static_library("browser") { +@@ -3491,6 +3491,9 @@ static_library("browser") { "//components/user_scripts/android", ] } @@ -424,7 +424,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc --- a/chrome/browser/chrome_browser_interface_binders.cc +++ b/chrome/browser/chrome_browser_interface_binders.cc -@@ -138,6 +138,9 @@ +@@ -139,6 +139,9 @@ #endif #if BUILDFLAG(IS_ANDROID) @@ -432,9 +432,9 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser +#include "ui/webui/resources/cr_components/customize_color_scheme_mode/customize_color_scheme_mode.mojom.h" +#include "chrome/browser/ui/webui/settings/settings_ui_android.h" #include "chrome/browser/android/dom_distiller/distiller_ui_handle_android.h" - #include "chrome/browser/facilitated_payments/payment_link_handler_factory.h" + #include "chrome/browser/facilitated_payments/payment_link_handler_binder.h" #include "chrome/browser/offline_pages/android/offline_page_auto_fetcher.h" -@@ -1175,6 +1178,15 @@ void PopulateChromeWebUIFrameBinders( +@@ -1195,6 +1198,15 @@ void PopulateChromeWebUIFrameBinders( app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); #endif @@ -448,8 +448,8 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser +#endif + #if !BUILDFLAG(IS_ANDROID) - if (search_engines::IsChoiceScreenFlagEnabled( - search_engines::ChoicePromo::kAny)) { + RegisterWebUIControllerInterfaceBinder< + search_engine_choice::mojom::PageHandlerFactory, SearchEngineChoiceUI>( diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn @@ -481,7 +481,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/browser/resources/settings/page_visibility.ts --- a/chrome/browser/resources/settings/page_visibility.ts +++ b/chrome/browser/resources/settings/page_visibility.ts -@@ -42,8 +42,36 @@ export interface PrivacyPageVisibility { +@@ -41,8 +41,36 @@ export interface PrivacyPageVisibility { searchPrediction: boolean; } @@ -658,7 +658,7 @@ diff --git a/chrome/browser/resources/settings/search_engines_page/search_engine diff --git a/chrome/browser/resources/settings/search_page/search_page.html b/chrome/browser/resources/settings/search_page/search_page.html --- a/chrome/browser/resources/settings/search_page/search_page.html +++ b/chrome/browser/resources/settings/search_page/search_page.html -@@ -133,7 +133,11 @@ +@@ -107,7 +107,11 @@ associated-control="[[$$('#enginesSubpageTrigger')]]" page-title="$i18n{searchEnginesManageSiteSearch}" search-label="$i18n{searchEnginesSearch}" @@ -753,26 +753,25 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b source_set("background") { public = [ "ntp_background_data.h", -@@ -61,6 +62,7 @@ source_set("background") { +@@ -62,6 +63,7 @@ source_set("background") { "//ui/gfx/codec", ] } +} - proto_library("ntp_background_proto") { - sources = [ "ntp_background.proto" ] + source_set("constants") { + sources = [ "ntp_custom_background_service_constants.h" ] diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/search_engines/android/BUILD.gn --- a/chrome/browser/search_engines/android/BUILD.gn +++ b/chrome/browser/search_engines/android/BUILD.gn -@@ -77,6 +77,7 @@ android_resources("java_resources") { +@@ -77,12 +77,14 @@ android_resources("java_resources") { + "java/res/layout/blocking_choice_dialog.xml", "java/res/layout/default_search_engine_dialog_view.xml", - "java/res/layout/search_engine.xml", "java/res/layout/search_engine_choice_header.xml", + "java/res/layout/search_engine_layout.xml", - "java/res/layout/search_engine_choice_item.xml", - "java/res/layout/search_engine_choice_view.xml", "java/res/layout/search_engine_recent_title.xml", -@@ -85,6 +86,7 @@ android_resources("java_resources") { + "java/res/layout/search_engine_with_logo.xml", + "java/res/values/dimens.xml", "java/res/values/ids.xml", ] deps = [ @@ -813,7 +812,7 @@ new file mode 100644 diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java --- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java +++ b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java -@@ -8,12 +8,18 @@ import android.os.Bundle; +@@ -8,6 +8,10 @@ import android.os.Bundle; import android.view.View; import android.widget.ListView; @@ -823,17 +822,18 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/ + import androidx.fragment.app.ListFragment; - import org.chromium.chrome.browser.profiles.Profile; + import org.chromium.base.supplier.ObservableSupplier; +@@ -16,6 +20,8 @@ import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.R; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.settings.ProfileDependentSetting; +import org.chromium.chrome.browser.settings.SettingsLauncherFactory; +import org.chromium.components.browser_ui.settings.SettingsLauncher; + import org.chromium.components.browser_ui.settings.SettingsPage; import org.chromium.components.search_engines.TemplateUrlService; - /** -@@ -47,6 +53,20 @@ public class SearchEngineSettings extends ListFragment implements ProfileDepende - setListAdapter(mSearchEngineAdapter); +@@ -57,6 +63,20 @@ public class SearchEngineSettings extends ListFragment + return mPageTitle; } + @Override @@ -856,7 +856,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -739,6 +739,12 @@ static_library("ui") { +@@ -712,6 +712,12 @@ static_library("ui") { "//v8:v8_version", ] @@ -869,7 +869,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn if (is_chrome_branded) { deps += [ "//components/plus_addresses/resources:vector_icons" ] } -@@ -1039,6 +1045,18 @@ static_library("ui") { +@@ -1003,6 +1009,18 @@ static_library("ui") { # TODO(b/335257259): Resolve circular deps. # Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies". allow_circular_includes_from += [ "//chrome/browser/facilitated_payments" ] @@ -1071,7 +1071,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrom diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -122,6 +122,8 @@ +@@ -110,6 +110,8 @@ #include "chrome/browser/ui/webui/offline/offline_internals_ui.h" #include "chrome/browser/ui/webui/webapks/webapks_ui.h" #include "components/feed/feed_feature_list.h" @@ -1080,7 +1080,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h" #include "chrome/browser/media/router/media_router_feature.h" -@@ -547,6 +549,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -501,6 +503,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; } #endif // !BUILDFLAG(IS_ANDROID) @@ -1235,10 +1235,10 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome +#if !BUILDFLAG(IS_ANDROID) + Profile* profile = Profile::FromWebUI(web_ui()); - const bool is_search_engine_choice_settings_ui = - search_engines::IsChoiceScreenFlagEnabled( - search_engines::ChoicePromo::kAny); -@@ -251,6 +257,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( + // The icons that are used for search engines in the EEA region are bundled + // with Chrome. We use the favicon service for countries outside the EEA + // region to guarantee having icons for all search engines. +@@ -246,6 +252,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( dict.Set("iconPath", base::StrCat({icon_path, "@2x"})); } } @@ -1246,7 +1246,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome dict.Set("modelIndex", base::checked_cast(index)); -@@ -267,6 +274,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( +@@ -262,6 +269,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( dict.Set("isOmniboxExtension", type == TemplateURL::OMNIBOX_API_EXTENSION); dict.Set("isPrepopulated", template_url->prepopulate_id() > 0); dict.Set("isStarterPack", template_url->starter_pack_id() > 0); @@ -1254,7 +1254,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION || type == TemplateURL::OMNIBOX_API_EXTENSION) { const extensions::Extension* extension = -@@ -283,6 +291,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( +@@ -278,6 +286,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine( dict.Set("extension", std::move(ext_info)); } } @@ -1262,7 +1262,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome return dict; } -@@ -363,12 +372,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted( +@@ -358,12 +367,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted( void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url, const std::u16string& title, const std::u16string& keyword, @@ -1279,7 +1279,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome edit_controller_.reset(); } -@@ -396,6 +406,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name, +@@ -391,6 +401,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name, is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value)); else if (field_name.compare(kQueryUrlField) == 0) is_valid = edit_controller_->IsURLValid(field_value); @@ -1288,7 +1288,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome else NOTREACHED_IN_MIGRATION(); -@@ -415,18 +427,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted( +@@ -410,18 +422,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted( if (!edit_controller_.get()) return; @@ -1328,7 +1328,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2441,6 +2441,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { +@@ -2342,6 +2342,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { {"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL}, {"searchEnginesQueryURLExplanation", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION}, @@ -1337,7 +1337,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide {"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT}, {"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE}, {"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE}, -@@ -3753,6 +3755,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3690,6 +3692,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, AddSystemStrings(html_source); #endif @@ -1875,7 +1875,7 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc --- a/components/search_engines/search_engines_switches.cc +++ b/components/search_engines/search_engines_switches.cc -@@ -44,6 +44,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES) +@@ -50,6 +50,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES) BASE_FEATURE(kSearchEngineChoiceTrigger, "SearchEngineChoiceTrigger", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1886,7 +1886,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s 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 -@@ -687,13 +687,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( +@@ -685,13 +685,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1903,7 +1903,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear return Add(std::move(template_url)); } -@@ -897,7 +899,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { +@@ -895,7 +897,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -1913,7 +1913,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear DCHECK(!IsCreatedByExtension(url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -909,6 +912,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, +@@ -907,6 +910,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, // The urls have changed, reset the favicon url. data.favicon_url = GURL(); } @@ -1947,7 +1947,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc --- a/content/browser/webui/web_ui_impl.cc +++ b/content/browser/webui/web_ui_impl.cc -@@ -239,6 +239,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message, +@@ -238,6 +238,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message, message_callbacks_.emplace(message, std::move(callback)); } @@ -1958,7 +1958,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, const std::string& message, base::Value::List args) { -@@ -252,8 +256,14 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, +@@ -251,8 +255,14 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, return; } @@ -1978,7 +1978,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_impl.h --- a/content/browser/webui/web_ui_impl.h +++ b/content/browser/webui/web_ui_impl.h -@@ -80,6 +80,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { +@@ -81,6 +81,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { void ProcessWebUIMessage(const GURL& source_url, const std::string& message, base::Value::List args) override; @@ -1986,7 +1986,7 @@ diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_ bool CanCallJavascript() override; void CallJavascriptFunctionUnsafe( std::string_view function_name, -@@ -150,6 +151,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { +@@ -153,6 +154,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { std::unique_ptr controller_; @@ -1998,7 +1998,7 @@ diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_ diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h --- a/content/public/browser/web_ui.h +++ b/content/public/browser/web_ui.h -@@ -83,6 +83,7 @@ class CONTENT_EXPORT WebUI { +@@ -84,6 +84,7 @@ class CONTENT_EXPORT WebUI { virtual void AddMessageHandler( std::unique_ptr handler) = 0; diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index 7c077d4a..8777f720 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -45,7 +45,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -1018,6 +1018,7 @@ chrome_java_sources = [ +@@ -1021,6 +1021,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/signin/SyncConsentActivity.java", "java/src/org/chromium/chrome/browser/signin/SyncConsentActivityLauncherImpl.java", "java/src/org/chromium/chrome/browser/signin/SyncConsentFragment.java", @@ -201,7 +201,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java -@@ -178,6 +178,9 @@ public class IntentHandler { +@@ -180,6 +180,9 @@ public class IntentHandler { private static final String EXTRA_TAB_LAUNCH_TYPE = "org.chromium.chrome.browser.tab_launch_type"; @@ -211,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** A hash code for the URL to verify intent data hasn't been modified. */ public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash"; -@@ -1325,6 +1328,17 @@ public class IntentHandler { +@@ -1364,6 +1367,17 @@ public class IntentHandler { return IntentUtils.safeGetSerializableExtra(intent, EXTRA_TAB_LAUNCH_TYPE); } @@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** * Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent * will be trusted and therefore able to launch Incognito tabs. -@@ -1454,7 +1468,7 @@ public class IntentHandler { +@@ -1493,7 +1507,7 @@ public class IntentHandler { String headers = getExtraHeadersFromIntent(intent); headers = maybeAddAdditionalContentHeaders(intent, url, headers); @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.usb.UsbNotificationManager; import org.chromium.chrome.browser.util.AfterStartupTaskUtils; import org.chromium.chrome.browser.webapps.ChromeWebApkHost; -@@ -683,6 +684,7 @@ public class ProcessInitializationHandler { +@@ -675,6 +676,7 @@ public class ProcessInitializationHandler { ::makeDeferredRecordings); tasks.add(WebApkUninstallTracker::runDeferredTasks); @@ -468,18 +468,18 @@ new file mode 100644 diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -295,6 +295,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -298,6 +298,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kSearchReadyOmniboxFeature, &kRelatedSearchesAllLanguage, &kRelatedSearchesSwitch, + &kSharedIntentUI, &kReportParentalControlSitesChild, &kSearchInCCT, - &kSearchResumptionModuleAndroid, + &kSearchInCCTAlternateTapHandling, 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 { +@@ -441,6 +441,7 @@ public abstract class ChromeFeatureList { public static final String READER_MODE_IN_CCT = "ReaderModeInCCT"; public static final String READING_LIST_ENABLE_SYNC_TRANSPORT_MODE_UPON_SIGNIN = "ReadingListEnableSyncTransportModeUponSignIn"; @@ -490,7 +490,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -5761,6 +5761,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5870,6 +5870,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d Make sure a phone app is enabled on this device diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch index 74db696e..9b72d5e5 100644 --- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch +++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch @@ -101,7 +101,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js --- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js +++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js -@@ -1379,6 +1379,10 @@ inspectorBackend.registerCommand("Debugger.restartFrame", [{"name": "callFrameId +@@ -1384,6 +1384,10 @@ inspectorBackend.registerCommand("Debugger.restartFrame", [{"name": "callFrameId inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume", "type": "boolean", "optional": true, "description": "Set to true to terminate execution upon resuming execution. In contrast to Runtime.terminateExecution, this will allows to execute further JavaScript (i.e. via evaluation) until execution of the paused code is actually resumed, at which point termination is triggered. If execution is currently not paused, this parameter has no effect.", "typeRef": null}], [], "Resumes JavaScript execution."); inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content."); inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking."); @@ -115,7 +115,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts -@@ -4709,6 +4709,10 @@ export namespace ProtocolMapping { +@@ -4732,6 +4732,10 @@ export namespace ProtocolMapping { paramsType: [Protocol.Debugger.SetAsyncCallStackDepthRequest]; returnType: void; }; @@ -129,7 +129,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts -@@ -4183,6 +4183,8 @@ declare namespace ProtocolProxyApi { +@@ -4206,6 +4206,8 @@ declare namespace ProtocolProxyApi { */ invoke_setAsyncCallStackDepth(params: Protocol.Debugger.SetAsyncCallStackDepthRequest): Promise; @@ -141,7 +141,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts -@@ -18143,6 +18143,10 @@ export namespace Debugger { +@@ -18217,6 +18217,10 @@ export namespace Debugger { maxDepth: integer; } @@ -155,7 +155,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json --- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json +++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json -@@ -27511,8 +27511,17 @@ +@@ -27628,8 +27628,17 @@ "$ref": "WasmDisassemblyChunk" } ] @@ -175,7 +175,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools "name": "nextWasmDisassemblyChunk", "description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.", "experimental": true, -@@ -30638,4 +30647,4 @@ +@@ -30755,4 +30764,4 @@ ] } ] @@ -199,7 +199,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h --- a/v8/src/common/message-template.h +++ b/v8/src/common/message-template.h -@@ -748,6 +748,7 @@ namespace internal { +@@ -749,6 +749,7 @@ namespace internal { /* AggregateError */ \ T(AllPromisesRejected, "All promises were rejected") \ T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \ @@ -238,7 +238,7 @@ diff --git a/v8/src/debug/debug-interface.h b/v8/src/debug/debug-interface.h diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h --- a/v8/src/debug/debug.h +++ b/v8/src/debug/debug.h -@@ -436,6 +436,9 @@ class V8_EXPORT_PRIVATE Debug { +@@ -438,6 +438,9 @@ class V8_EXPORT_PRIVATE Debug { void set_break_points_active(bool v) { break_points_active_ = v; } bool break_points_active() const { return break_points_active_; } @@ -248,7 +248,7 @@ diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h StackFrameId break_frame_id() { return thread_local_.break_frame_id_; } Handle return_value_handle(); -@@ -612,6 +615,8 @@ class V8_EXPORT_PRIVATE Debug { +@@ -614,6 +617,8 @@ class V8_EXPORT_PRIVATE Debug { // Termination exception because side effect check has failed. bool side_effect_check_failed_; diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 97fb6f52..21f2dd40 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -239,7 +239,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", -@@ -674,6 +678,7 @@ if (current_toolchain == default_toolchain) { +@@ -684,6 +688,7 @@ if (current_toolchain == default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn 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 -@@ -137,6 +137,11 @@ found in the LICENSE file. +@@ -151,6 +151,11 @@ for the previous order (main_preferences_legacy). --> android:key="useragent_settings" android:order="20" android:title="@string/prefs_useragent_settings"/> @@ -273,7 +273,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo import java.io.File; -@@ -409,6 +410,11 @@ public class DownloadUtils { +@@ -411,6 +412,11 @@ public class DownloadUtils { String referrer, @DownloadOpenSource int source, Context context) { @@ -288,7 +288,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -146,6 +146,8 @@ import java.util.Date; +@@ -144,6 +144,8 @@ import java.util.Date; import java.util.List; import java.util.Locale; @@ -297,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni /** * Handles the initialization dependences of the browser process. This is meant to handle the * initialization that is not tied to any particular Activity, and the logic that should only be -@@ -620,6 +622,8 @@ public class ProcessInitializationHandler { +@@ -615,6 +617,8 @@ public class ProcessInitializationHandler { DefaultBrowserInfo.initBrowserFetcher(); @@ -326,7 +326,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 -@@ -3457,6 +3457,13 @@ static_library("browser") { +@@ -3475,6 +3475,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -343,7 +343,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 -@@ -181,6 +181,7 @@ +@@ -180,6 +180,7 @@ #include "components/ui_devtools/switches.h" #include "components/variations/variations_switches.h" #include "components/version_info/channel.h" @@ -354,15 +354,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 -@@ -271,6 +271,7 @@ +@@ -275,6 +275,7 @@ + #include "components/ntp_tiles/popular_sites_impl.h" #include "components/permissions/contexts/geolocation_permission_context_android.h" - #include "components/query_tiles/tile_service_prefs.h" #include "components/webapps/browser/android/install_prompt_prefs.h" +#include "components/user_scripts/browser/user_script_prefs.h" #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/cart/cart_service.h" #include "chrome/browser/companion/core/promo_handler.h" -@@ -1893,6 +1894,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1975,6 +1976,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, translate::TranslatePrefs::RegisterProfilePrefs(registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -375,7 +375,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 -@@ -77,6 +77,9 @@ source_set("profile") { +@@ -78,6 +78,9 @@ source_set("profile") { "//content/public/browser", "//extensions/buildflags", ] @@ -388,7 +388,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 -@@ -537,6 +537,10 @@ +@@ -549,6 +549,10 @@ #include "chrome/browser/enterprise/data_controls/reporting_service.h" #endif @@ -399,7 +399,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc namespace chrome { void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) { -@@ -1328,6 +1332,9 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1357,6 +1361,9 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -412,7 +412,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -118,6 +118,10 @@ +@@ -121,6 +121,10 @@ #include "extensions/common/manifest.h" #endif @@ -423,7 +423,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile #if BUILDFLAG(ENABLE_SESSION_SERVICE) #include "chrome/browser/sessions/app_session_service_factory.h" #include "chrome/browser/sessions/session_service_factory.h" -@@ -1517,6 +1521,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, +@@ -1528,6 +1532,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, ChildAccountServiceFactory::GetForProfile(profile)->Init(); SupervisedUserServiceFactory::GetForProfile(profile)->Init(); ListFamilyMembersServiceFactory::GetForProfile(profile)->Init(); @@ -501,7 +501,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -92,6 +92,7 @@ +@@ -80,6 +80,7 @@ #include "components/security_interstitials/content/known_interception_disclosure_ui.h" #include "components/security_interstitials/content/urls.h" #include "components/site_engagement/content/site_engagement_service.h" @@ -509,10 +509,10 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" #include "content/public/common/content_client.h" -@@ -457,6 +458,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, - return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIVersionHost) - return &NewWebUI; +@@ -413,6 +414,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, + history_clusters_internals::kChromeUIHistoryClustersInternalsHost) { + return &NewWebUI; + } +#if BUILDFLAG(IS_ANDROID) + if (url.host_piece() == user_scripts::kChromeUIUserScriptsHost) + return &NewWebUI; @@ -553,7 +553,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 -@@ -233,6 +233,12 @@ static_library("renderer") { +@@ -242,6 +242,12 @@ static_library("renderer") { "//v8", ] @@ -569,7 +569,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 -@@ -256,6 +256,11 @@ +@@ -267,6 +267,11 @@ #include "chrome/renderer/media/chrome_key_systems.h" #endif @@ -581,9 +581,9 @@ 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() { +@@ -465,6 +470,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(extensions::kExtensionScheme)); - #endif + #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) +#if BUILDFLAG(IS_ANDROID) + user_scripts::UserScriptsRendererClient* userscript_client = @@ -596,7 +596,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_SPELLCHECK) if (!spellcheck_) InitSpellCheck(); -@@ -613,6 +626,15 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -625,6 +638,15 @@ void ChromeContentRendererClient::RenderFrameCreated( registry); #endif @@ -612,7 +612,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PPAPI) new PepperHelper(render_frame); #endif -@@ -1667,6 +1689,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1684,6 +1706,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. #endif @@ -630,7 +630,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1676,6 +1709,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1693,6 +1726,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. #endif @@ -648,7 +648,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1685,6 +1729,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1702,6 +1746,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. #endif @@ -678,7 +678,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/ #if BUILDFLAG(IS_CHROMEOS_ASH) #include "chrome/renderer/ash_merge_session_loader_throttle.h" #endif -@@ -224,6 +226,9 @@ void ChromeRenderThreadObserver::SetConfiguration( +@@ -222,6 +224,9 @@ void ChromeRenderThreadObserver::SetConfiguration( chrome::mojom::DynamicParamsPtr params) { base::AutoLock lock(dynamic_params_lock_); dynamic_params_ = std::move(params); @@ -691,7 +691,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 -@@ -340,6 +340,7 @@ +@@ -341,6 +341,7 @@ @@ -10469,7 +10469,7 @@ diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h 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 -@@ -1053,6 +1053,12 @@ +@@ -1061,6 +1061,12 @@ "components/search_engine_descriptions_strings.grd": { "messages": [7260], }, diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index a1c37cb3..076e5dbf 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -158,10 +158,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j -Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file. ---> - - -@@ -86,6 +77,11 @@ Use of this source code is governed by the GPLv3 that can be found in the compon + +@@ -120,6 +111,11 @@ for the previous order (main_preferences_legacy). --> android:key="adblock" android:order="13" android:title="@string/prefs_adblock"/> @@ -172,10 +172,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j + android:title="@string/adblock_settings_title" /> + android:key="accessibility" + android:order="24" android:title="@string/prefs_accessibility"/> - @@ -1608,7 +1608,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -213,6 +213,10 @@ function createRoutes(): SettingsRoutes { +@@ -228,6 +228,10 @@ function createRoutes(): SettingsRoutes { r.FONTS = r.APPEARANCE.createChild('/fonts'); } @@ -1633,7 +1633,7 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts --- a/chrome/browser/resources/settings/settings.ts +++ b/chrome/browser/resources/settings/settings.ts -@@ -50,6 +50,7 @@ export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_p +@@ -51,6 +51,7 @@ export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_p export {SettingsAppearancePageElement, SystemTheme} from './appearance_page/appearance_page.js'; export {HomeUrlInputElement} from './appearance_page/home_url_input.js'; export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js'; @@ -1667,7 +1667,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/breadcrumbs/breadcrumb_manager_tab_helper.h" #include "chrome/browser/browser_process.h" -@@ -377,6 +378,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -378,6 +379,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } } @@ -1676,7 +1676,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc AdblockWebContentObserver::CreateForWebContents( web_contents, adblock::SubscriptionServiceFactory::GetForBrowserContext( -@@ -385,7 +388,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -386,7 +389,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents->GetBrowserContext()), adblock::SitekeyStorageFactory::GetForBrowserContext( web_contents->GetBrowserContext()), @@ -1750,8 +1750,8 @@ diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_ha diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/extensions/api/_api_features.json --- a/chrome/common/extensions/api/_api_features.json +++ b/chrome/common/extensions/api/_api_features.json -@@ -66,7 +66,7 @@ - }], +@@ -70,7 +70,7 @@ + }, "adblockPrivate": [{ "dependencies": ["permission:adblockPrivate"], - "contexts": ["blessed_extension"] @@ -1759,7 +1759,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext }, { "channel": "stable", "contexts": ["webui"], -@@ -517,7 +517,7 @@ +@@ -537,7 +537,7 @@ }, "eyeoFilteringPrivate": [{ "dependencies": ["permission:eyeoFilteringPrivate"], @@ -1771,8 +1771,8 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json --- a/chrome/common/extensions/api/_permission_features.json +++ b/chrome/common/extensions/api/_permission_features.json -@@ -60,10 +60,6 @@ - "5107DE9024C329EEA9C9A72D94C16723790C6422" // Apps Developer Tool Dev. +@@ -71,10 +71,6 @@ + "extension" ] }, - "adblockPrivate": { @@ -1782,7 +1782,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -375,10 +371,6 @@ +@@ -388,10 +384,6 @@ "extension", "legacy_packaged_app", "hosted_app", "platform_app" ] }, @@ -10537,7 +10537,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -1066,7 +1066,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( +@@ -1065,7 +1065,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( DCHECK(browser_context); } @@ -10546,7 +10546,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b return false; } -@@ -1075,9 +1075,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { +@@ -1074,9 +1074,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { } void ContentBrowserClient::CreateWebSocket( @@ -10561,7 +10561,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -1994,7 +1994,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2014,7 +2014,7 @@ class CONTENT_EXPORT ContentBrowserClient { scoped_refptr navigation_response_task_runner); // Returns true when the embedder wants to intercept a websocket connection. @@ -10570,7 +10570,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br // Returns the WebSocket creation options. virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame); -@@ -2016,9 +2016,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2036,9 +2036,11 @@ class CONTENT_EXPORT ContentBrowserClient { // Always called on the UI thread and only when the Network Service is // enabled. virtual void CreateWebSocket( diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index 48668dda..fdc164b9 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -23,7 +23,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10 diff --git a/BUILD.gn b/BUILD.gn --- a/BUILD.gn +++ b/BUILD.gn -@@ -410,7 +410,6 @@ group("gn_all") { +@@ -419,7 +419,6 @@ group("gn_all") { "//android_webview:empty_group", "//android_webview/test", "//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk", @@ -46,8 +46,8 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -198,6 +198,7 @@ static_library("safe_browsing") { - "//components/version_info", +@@ -200,6 +200,7 @@ static_library("safe_browsing") { + "//components/webdata/common", "//content/public/browser", "//services/preferences/public/mojom:mojom", + "//third_party/flatbuffers:flatbuffers", @@ -68,7 +68,7 @@ diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_c diff --git a/chrome/browser/ui/lens/lens_overlay_controller.cc b/chrome/browser/ui/lens/lens_overlay_controller.cc --- a/chrome/browser/ui/lens/lens_overlay_controller.cc +++ b/chrome/browser/ui/lens/lens_overlay_controller.cc -@@ -11,6 +11,7 @@ +@@ -12,6 +12,7 @@ #include "base/system/sys_info.h" #include "base/task/bind_post_task.h" #include "base/task/sequenced_task_runner.h" @@ -101,7 +101,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc --- a/components/omnibox/browser/autocomplete_classifier.cc +++ b/components/omnibox/browser/autocomplete_classifier.cc -@@ -102,8 +102,8 @@ void AutocompleteClassifier::Classify( +@@ -94,8 +94,8 @@ void AutocompleteClassifier::Classify( metrics::OmniboxEventProto::PageClassification page_classification, AutocompleteMatch* match, GURL* alternate_nav_url) { @@ -132,7 +132,7 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni diff --git a/components/plus_addresses/BUILD.gn b/components/plus_addresses/BUILD.gn --- a/components/plus_addresses/BUILD.gn +++ b/components/plus_addresses/BUILD.gn -@@ -96,6 +96,7 @@ source_set("plus_addresses") { +@@ -102,6 +102,7 @@ source_set("plus_addresses") { "//services/data_decoder/public/cpp", "//services/network/public/cpp", "//ui/base", @@ -167,7 +167,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc --- a/content/browser/browser_interface_binders.cc +++ b/content/browser/browser_interface_binders.cc -@@ -375,6 +375,7 @@ void BindDateTimeChooserForFrame( +@@ -376,6 +376,7 @@ void BindDateTimeChooserForFrame( void BindTextSuggestionHostForFrame( RenderFrameHost* host, mojo::PendingReceiver receiver) { @@ -178,7 +178,7 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1674,6 +1674,7 @@ component("net") { +@@ -1710,6 +1710,7 @@ component("net") { if (!is_cronet_build) { deps += [ "//mojo/public/cpp/bindings:default_construct_tag" ] } diff --git a/build/patches/Fix-chromium-vanilla.patch b/build/patches/Fix-chromium-vanilla.patch index d11aca2b..e358e31f 100644 --- a/build/patches/Fix-chromium-vanilla.patch +++ b/build/patches/Fix-chromium-vanilla.patch @@ -23,7 +23,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR diff --git a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java --- a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java +++ b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java -@@ -305,6 +305,7 @@ public final class SafeBrowsingApiBridge { +@@ -238,6 +238,7 @@ public final class SafeBrowsingApiBridge { @CalledByNative private static void startUriLookupBySafeBrowsingApi( long callbackId, String uri, int[] threatTypes, int protocol) { diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch index 86b9e75c..b65bd180 100644 --- a/build/patches/Fonts-fingerprinting-mitigation.patch +++ b/build/patches/Fonts-fingerprinting-mitigation.patch @@ -115,7 +115,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -283,6 +283,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam +@@ -291,6 +291,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam kMaxDiskDataAllocatorCapacityMB; BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLessAggressiveParkableString); @@ -128,7 +128,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -786,6 +786,7 @@ component("platform") { +@@ -792,6 +792,7 @@ component("platform") { "fonts/simple_font_data.cc", "fonts/simple_font_data.h", "fonts/skia/font_cache_skia.cc", @@ -528,7 +528,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc --- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc +++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc -@@ -436,6 +436,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -444,6 +444,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( sk_sp typeface; std::string name; @@ -536,7 +536,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (alternate_font_name == AlternateFontName::kLocalUniqueFace && RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) { -@@ -447,7 +448,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -455,7 +456,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( return nullptr; } else { @@ -545,7 +545,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c // For a family match, Windows will always give us a valid pointer here, // even if the face name is non-existent. We have to double-check and see if -@@ -481,7 +482,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -489,7 +490,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetWeight(variant_weight); typeface = @@ -554,7 +554,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (!typeface || !TypefacesMatchesFamily(typeface.get(), adjusted_name)) { return nullptr; -@@ -493,7 +494,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -501,7 +502,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetStretch(variant_stretch); typeface = diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch index dc40ea72..6e08d810 100644 --- a/build/patches/Guard-for-user-agent-reduction.patch +++ b/build/patches/Guard-for-user-agent-reduction.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1645,7 +1645,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1656,7 +1656,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( registry->RegisterIntegerPref( prefs::kUserAgentReduction, static_cast( @@ -54,7 +54,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc 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 -@@ -3477,23 +3477,23 @@ +@@ -3467,23 +3467,23 @@ // If enabled, the deviceModel will be reduced to "K" and the // androidVersion will be reduced to a static "10" string in android // User-Agent string. diff --git a/build/patches/Improve-plain-text-rendering-on-mobile.patch b/build/patches/Improve-plain-text-rendering-on-mobile.patch index 77f0ac65..c529a1ca 100644 --- a/build/patches/Improve-plain-text-rendering-on-mobile.patch +++ b/build/patches/Improve-plain-text-rendering-on-mobile.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/html/parser/text_document_parser.cc b/third_party/blink/renderer/core/html/parser/text_document_parser.cc --- a/third_party/blink/renderer/core/html/parser/text_document_parser.cc +++ b/third_party/blink/renderer/core/html/parser/text_document_parser.cc -@@ -66,10 +66,19 @@ void TextDocumentParser::InsertFakePreElement() { +@@ -67,10 +67,19 @@ void TextDocumentParser::InsertFakePreElement() { TreeBuilder()->ConstructTree(&fake_meta); attributes.clear(); diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch index 1f537bc9..481ab319 100644 --- a/build/patches/Improve-the-browser-sandbox.patch +++ b/build/patches/Improve-the-browser-sandbox.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc --- a/sandbox/policy/features.cc +++ b/sandbox/policy/features.cc -@@ -232,4 +232,12 @@ bool IsNetworkSandboxEnabled() { +@@ -226,4 +226,12 @@ bool IsNetworkSandboxEnabled() { #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) } diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch index db4cfea9..7079c1f4 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 -@@ -2416,6 +2416,7 @@ static_library("browser") { +@@ -2426,6 +2426,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 -@@ -220,6 +220,7 @@ +@@ -219,6 +219,7 @@ #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" @@ -81,7 +81,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/browser/download/android/download_controller.cc --- a/chrome/browser/download/android/download_controller.cc +++ b/chrome/browser/download/android/download_controller.cc -@@ -280,6 +280,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) { +@@ -291,6 +291,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) { update->Append(base::TimeToValue(base::Time::Now())); } @@ -118,12 +118,12 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro } // namespace static void JNI_DownloadController_OnAcquirePermissionResult( -@@ -326,7 +356,7 @@ static void JNI_DownloadController_DownloadUrl(JNIEnv* env, - if (download_manager) { - auto dl_params = std::make_unique( - GURL(url), -- TRAFFIC_ANNOTATION_WITHOUT_PROTO("Download via toolbar menu")); -+ traffic_annotation); +@@ -346,7 +376,7 @@ static void JNI_DownloadController_DownloadUrl( + std::unique_ptr dl_params = + content::DownloadRequestUtils::CreateDownloadForWebContentsMainFrame( + web_contents, GURL(url), +- TRAFFIC_ANNOTATION_WITHOUT_PROTO("Download via toolbar menu")); ++ traffic_annotation); dl_params->set_content_initiated(false); dl_params->set_download_source(download::DownloadSource::TOOLBAR_MENU); download_manager->DownloadUrl(std::move(dl_params)); @@ -289,9 +289,9 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1083,6 +1083,7 @@ component("net") { - "//build:chromeos_buildflags", +@@ -1098,6 +1098,7 @@ component("net") { "//components/miracle_parameter/common", + "//components/network_time/time_tracker", "//net/http:transport_security_state_generated_files", + "//services/firewall/public:firewall_builders", "//components/network_session_configurator/common" @@ -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 -@@ -421,6 +421,9 @@ URLRequestHttpJob::URLRequestHttpJob( +@@ -422,6 +422,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() { -@@ -740,6 +743,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { +@@ -743,6 +746,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { void URLRequestHttpJob::StartTransactionInternal() { DCHECK(!override_response_headers_); @@ -1647,7 +1647,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 -@@ -96,6 +96,7 @@ +@@ -97,6 +97,7 @@ #include "net/url_request/url_request.h" #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context_builder.h" @@ -1655,7 +1655,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont #include "services/network/brokered_client_socket_factory.h" #include "services/network/cookie_manager.h" #include "services/network/data_remover_util.h" -@@ -1744,6 +1745,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1742,6 +1743,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { void NetworkContext::CreateUDPSocket( mojo::PendingReceiver receiver, mojo::PendingRemote listener) { @@ -1665,7 +1665,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener)); } -@@ -1756,6 +1760,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1754,6 +1758,17 @@ void NetworkContext::CreateRestrictedUDPSocket( mojo::PendingRemote listener, CreateRestrictedUDPSocketCallback callback) { // SimpleHostResolver is transitively owned by |this|. @@ -1683,7 +1683,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), -@@ -1768,6 +1783,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1766,6 +1781,17 @@ void NetworkContext::CreateTCPServerSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPServerSocketCallback callback) { @@ -1701,7 +1701,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), -@@ -1782,6 +1808,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1780,6 +1806,21 @@ void NetworkContext::CreateTCPConnectedSocket( mojo::PendingReceiver receiver, mojo::PendingRemote observer, CreateTCPConnectedSocketCallback callback) { @@ -1723,7 +1723,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), -@@ -1793,6 +1834,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1791,6 +1832,20 @@ void NetworkContext::CreateTCPBoundSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPBoundSocketCallback callback) { @@ -1744,7 +1744,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPBoundSocket( local_addr, static_cast(traffic_annotation), -@@ -1859,6 +1914,24 @@ void NetworkContext::CreateWebSocket( +@@ -1857,6 +1912,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const std::optional& throttling_profile_id) { diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch index 4234f7c3..7383ce40 100644 --- a/build/patches/JIT-site-settings.patch +++ b/build/patches/JIT-site-settings.patch @@ -22,8 +22,8 @@ Require: Content-settings-infrastructure.patch .../javascript_jit.grdp | 21 ++++ .../javascript_jit.inc | 12 +++ .../core/browser/content_settings_registry.cc | 2 +- - .../renderer_host/render_process_host_impl.cc | 10 +- - 10 files changed, 129 insertions(+), 9 deletions(-) + .../renderer_host/render_process_host_impl.cc | 3 + + 10 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_javascript_jit.png create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_javascript_jit.png create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_javascript_jit.png @@ -275,7 +275,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 -@@ -600,7 +600,7 @@ void ContentSettingsRegistry::Init() { +@@ -613,7 +613,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit", @@ -287,20 +287,13 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. 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 -@@ -3195,14 +3195,8 @@ void RenderProcessHostImpl::AppendRendererCommandLine( - } - +@@ -3257,6 +3257,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine( if (IsJitDisabled()) { -- if (IsPdf()) { -- command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, -- "--jitless"); -- } else { -- // TODO(https://crbug.com/338434846): put this back to --jitless. -- command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, -- "--no-maglev,--no-turbofan"); -- } -+ command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, -+ "--jitless"); + command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, + "--jitless"); ++ // disable jit but enable webassembly ++ // command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, ++ // "--no-maglev,--no-turbofan"); } else if (AreV8OptimizationsDisabled()) { command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags, "--disable-optimizing-compilers"); diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch index fef9ef35..f6947a8b 100644 --- a/build/patches/Keep-ComputePressure-disabled.patch +++ b/build/patches/Keep-ComputePressure-disabled.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 -@@ -792,11 +792,9 @@ +@@ -830,11 +830,9 @@ status: "experimental", }, { diff --git a/build/patches/Keep-Side-Panel-Companion-disabled.patch b/build/patches/Keep-Side-Panel-Companion-disabled.patch index f12484c7..f933f0ad 100644 --- a/build/patches/Keep-Side-Panel-Companion-disabled.patch +++ b/build/patches/Keep-Side-Panel-Companion-disabled.patch @@ -49,7 +49,7 @@ diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -1999,7 +1999,7 @@ GURL TemplateURL::GenerateSuggestionURL( +@@ -2048,7 +2048,7 @@ const TemplateURLData::RegulatoryExtension* TemplateURL::GetRegulatoryExtension( } bool TemplateURL::IsSideSearchSupported() const { diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index 8c707f14..1e6fc499 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -59,7 +59,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l namespace content { namespace { -@@ -301,7 +331,6 @@ KeepAliveURLLoader::KeepAliveURLLoader( +@@ -300,7 +330,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)), -@@ -348,7 +377,7 @@ void KeepAliveURLLoader::Start() { +@@ -347,7 +376,7 @@ void KeepAliveURLLoader::Start() { url_loader_ = blink::ThrottlingURLLoader::CreateLoaderAndStart( network_loader_factory_, throttles_getter_.Run(), request_id_, options_, &resource_request_, forwarding_client_.get(), @@ -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 -@@ -1170,7 +1170,11 @@ void FetchManager::Loader::Failed( +@@ -1195,7 +1195,11 @@ void FetchManager::Loader::Failed( if (resolver_) { ScriptState::Scope scope(GetScriptState()); if (dom_exception) { @@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part } else { v8::Local value = exception_.Get(GetScriptState()->GetIsolate()); -@@ -1190,7 +1194,11 @@ void FetchManager::Loader::Failed( +@@ -1215,7 +1219,11 @@ void FetchManager::Loader::Failed( V8String(GetScriptState()->GetIsolate(), IdentifiersFactory::IdFromToken(*issue_id))); } @@ -159,7 +159,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 -@@ -2921,7 +2921,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -2917,7 +2917,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. @@ -171,7 +171,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 -@@ -1866,10 +1866,9 @@ +@@ -1905,10 +1905,9 @@ }, { // The Blink runtime-enabled feature name for the API's IDL. diff --git a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch index 6c762c13..f31329a6 100644 --- a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch +++ b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch @@ -15,11 +15,10 @@ 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 -@@ -262,5 +262,6 @@ BASE_FEATURE(kCreateSpareRendererOnBrowserContextCreation, - "CreateSpareRendererOnBrowserContextCreation", +@@ -264,4 +264,5 @@ BASE_FEATURE(kWebViewRenderDocument, + "WebViewRenderDocument", base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kWebViewMediaIntegrityApiBlinkExtension); - } // namespace features - } // namespace android_webview + } // namespace android_webview::features -- diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch index 5c4233b4..838b2ca0 100644 --- a/build/patches/Keep-empty-tabs-between-sessions.patch +++ b/build/patches/Keep-empty-tabs-between-sessions.patch @@ -11,7 +11,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/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 -@@ -1174,27 +1174,12 @@ public class TabPersistentStore { +@@ -1191,27 +1191,12 @@ public class TabPersistentStore { continue; } 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 28b92f4d..cb9dd2f1 100644 --- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch +++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -5322,9 +5322,9 @@ +@@ -5375,9 +5375,9 @@ "expiry_milestone": 120 }, { 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 2dc1f772..46e10cd1 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 -@@ -4694,6 +4694,14 @@ void Document::ProcessBaseElement() { +@@ -4639,6 +4639,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); } -@@ -4711,6 +4719,14 @@ void Document::ProcessBaseElement() { +@@ -4656,6 +4664,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 } } -@@ -4742,6 +4758,8 @@ void Document::ProcessBaseElement() { +@@ -4687,6 +4703,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 -@@ -2974,8 +2974,26 @@ void Element::StripScriptingAttributes( +@@ -2969,8 +2969,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 -@@ -688,7 +688,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { +@@ -695,7 +695,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { virtual bool HasLegalLinkAttribute(const QualifiedName&) const; // Only called by the parser immediately after element construction. @@ -331,7 +331,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1642,8 +1642,8 @@ +@@ -1686,8 +1686,8 @@ // Experiment with preventing some instances of mutation XSS // by escaping "<" and ">" in attribute values. // See: crbug.com/1175016 @@ -342,9 +342,9 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { name: "EventTimingHandleKeyboardEventSimulatedClick", -@@ -2614,6 +2614,12 @@ - name: "MacFontsDeprecateFontTraitsWorkaround", - status: "stable", +@@ -2597,6 +2597,12 @@ + name: "LongTaskFromLongAnimationFrame", + status: "test", }, + { + // Enables log of some dangling attributes diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index 5858860b..8050da51 100644 --- a/build/patches/Logcat-crash-reports-UI.patch +++ b/build/patches/Logcat-crash-reports-UI.patch @@ -154,7 +154,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 -@@ -714,6 +714,7 @@ static_library("ui") { +@@ -687,6 +687,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 65349245..73ac5ad6 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 -@@ -305,7 +305,7 @@ ScriptPromise VideoDecoder::isConfigSupported( +@@ -304,7 +304,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 a58c08a6..a7776361 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -54,7 +54,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1602,7 +1602,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1613,7 +1613,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -282,7 +282,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 -@@ -241,7 +241,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -299,7 +299,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kGoogleServicesSyncingGaiaIdMigratedToSignedIn, std::string()); registry->RegisterStringPref( prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string()); diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index f9184c49..5bf24353 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -18,8 +18,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html cc/input/browser_controls_offset_manager.cc | 6 + cc/trees/layer_tree_host_impl.cc | 3 + .../tab_management/TabGroupUiCoordinator.java | 7 +- - .../tab_management/TabGroupUiMediator.java | 56 +++++- - .../tab_management/TabGroupUiProperties.java | 7 +- + .../tab_management/TabGroupUiMediator.java | 49 +++++- + .../tab_management/TabGroupUiProperties.java | 5 + .../tab_management/TabGroupUiToolbarView.java | 17 ++ .../tab_management/TabGroupUiViewBinder.java | 3 + .../tab_management/TabListCoordinator.java | 162 +++++++++++++++++- @@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../strip/StripLayoutHelperManager.java | 37 +++- .../scene_layer/StaticTabSceneLayer.java | 7 +- .../scene_layer/TabListSceneLayer.java | 8 + - .../scene_layer/TabStripSceneLayer.java | 19 +- + .../scene_layer/TabStripSceneLayer.java | 20 ++- .../browser/findinpage/FindToolbarTablet.java | 10 +- .../fullscreen/BrowserControlsManager.java | 12 ++ .../messages/MessageContainerCoordinator.java | 16 +- @@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/ntp/NewTabPageLayout.java | 12 +- .../chrome/browser/ntp/RecentTabsPage.java | 30 +++- .../browser/searchwidget/SearchActivity.java | 11 ++ - .../browser/settings/SettingsActivity.java | 5 + + .../settings/FragmentDependencyProvider.java | 5 + .../StatusIndicatorCoordinator.java | 9 + .../StatusIndicatorSceneLayer.java | 6 +- .../browser/toolbar/ToolbarManager.java | 37 +++- @@ -90,7 +90,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AccessibilitySettingsDelegate.java | 7 + .../render_widget_host_view_android.cc | 3 + .../Move-navigation-bar-to-bottom.inc | 17 ++ - 77 files changed, 1009 insertions(+), 81 deletions(-) + 77 files changed, 1004 insertions(+), 78 deletions(-) create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc @@ -109,8 +109,8 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc + "DisableToolbarSwipeUp", + base::FEATURE_DISABLED_BY_DEFAULT); + - BASE_FEATURE(kRemoveMobileViewportDoubleTap, - "RemoveMobileViewportDoubleTap", + BASE_FEATURE(kScrollSnapCoveringAvoidNestedSnapAreas, + "ScrollSnapCoveringAvoidNestedSnapAreas", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/cc/base/features.h b/cc/base/features.h --- a/cc/base/features.h @@ -122,8 +122,8 @@ diff --git a/cc/base/features.h b/cc/base/features.h +CC_BASE_EXPORT BASE_DECLARE_FEATURE(kMoveTopToolbarToBottom); +CC_BASE_EXPORT BASE_DECLARE_FEATURE(kDisableToolbarSwipeUp); - // When enabled, the double tap to zoom will be disabled when the viewport - // meta tag is properly set for mobile using content=width=device-width + // When enabled, scrolling within a covering snap area avoids or snaps to inner + // nested areas, avoiding resting on positions which do not snap the inner area. diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_controls_offset_manager.cc --- a/cc/input/browser_controls_offset_manager.cc +++ b/cc/input/browser_controls_offset_manager.cc @@ -135,7 +135,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont namespace cc { namespace { -@@ -496,6 +497,11 @@ gfx::Vector2dF BrowserControlsOffsetManager::ScrollBy( +@@ -511,6 +512,11 @@ gfx::Vector2dF BrowserControlsOffsetManager::ScrollBy( // content. If the top controls have no height, the content should scroll // immediately. gfx::Vector2dF applied_delta(0.f, old_top_offset - ContentTopOffset()); @@ -150,7 +150,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -4588,6 +4588,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { +@@ -4601,6 +4601,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { if (scroll_delta.IsZero()) return false; @@ -163,7 +163,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java -@@ -40,6 +40,7 @@ import org.chromium.components.feature_engagement.FeatureConstants; +@@ -47,6 +47,7 @@ import org.chromium.components.feature_engagement.FeatureConstants; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModelChangeProcessor; @@ -171,7 +171,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.util.List; -@@ -169,7 +170,8 @@ public class TabGroupUiCoordinator +@@ -171,7 +172,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T public void initializeWithNative( Activity activity, BottomControlsCoordinator.BottomControlsVisibilityController visibilityController, @@ -181,12 +181,12 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser var currentTabModelFilterSupplier = mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilterSupplier(); try (TraceEvent e = TraceEvent.scoped("TabGroupUiCoordinator.initializeWithNative")) { -@@ -229,7 +231,8 @@ public class TabGroupUiCoordinator - mLayoutStateProviderSupplier, +@@ -249,7 +251,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T mIncognitoStateProvider, mTabGridDialogControllerSupplier, -- mOmniboxFocusStateSupplier); -+ mOmniboxFocusStateSupplier, + mOmniboxFocusStateSupplier, +- sharedImageTilesCoordinator); ++ sharedImageTilesCoordinator, + topUiThemeColorProvider, tabSupplier); TabGroupUtils.startObservingForCreationIPH(); @@ -194,7 +194,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 -@@ -52,6 +52,12 @@ import org.chromium.url.GURL; +@@ -57,6 +57,12 @@ import org.chromium.url.GURL; import java.util.List; @@ -206,8 +206,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + /** A mediator for the TabGroupUi. Responsible for managing the internal state of the component. */ public class TabGroupUiMediator implements BackPressHandler { - /** An interface to control the TabGroupUi component. */ -@@ -119,6 +125,11 @@ public class TabGroupUiMediator implements BackPressHandler { + /** Defines an interface for a {@link TabGroupUiMediator} reset event handler. */ +@@ -110,6 +116,11 @@ public class TabGroupUiMediator implements BackPressHandler { private final @ColorInt int mPrimaryBackgroundColor; private final @ColorInt int mIncognitoBackgroundColor; @@ -219,38 +219,17 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser TabGroupUiMediator( Context context, BottomControlsVisibilityController visibilityController, -@@ -133,7 +144,8 @@ public class TabGroupUiMediator implements BackPressHandler { - @Nullable +@@ -125,7 +136,8 @@ public class TabGroupUiMediator implements BackPressHandler { LazyOneshotSupplier dialogControllerSupplier, -- ObservableSupplier omniboxFocusStateSupplier) { -+ ObservableSupplier omniboxFocusStateSupplier, -+ TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier tabSupplier) { - this( - context, - visibilityController, -@@ -148,7 +160,8 @@ public class TabGroupUiMediator implements BackPressHandler { - dialogControllerSupplier, - omniboxFocusStateSupplier, - SemanticColorUtils.getDialogBgColor(context), -- context.getColor(org.chromium.chrome.R.color.dialog_bg_color_dark_baseline)); -+ context.getColor(org.chromium.chrome.R.color.dialog_bg_color_dark_baseline), -+ topUiThemeColorProvider, tabSupplier); - } - - @VisibleForTesting -@@ -168,7 +181,9 @@ public class TabGroupUiMediator implements BackPressHandler { - dialogControllerSupplier, ObservableSupplier omniboxFocusStateSupplier, - @ColorInt int primaryBackgroundColor, -- @ColorInt int incognitoBackgroundColor) { -+ @ColorInt int incognitoBackgroundColor, +- SharedImageTilesCoordinator sharedImageTilesCoordinator) { ++ SharedImageTilesCoordinator sharedImageTilesCoordinator, + TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier tabSupplier) { -+ mTopUiThemeColorProvider = topUiThemeColorProvider; mContext = context; mResetHandler = resetHandler; mModel = model; -@@ -188,11 +203,30 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -153,11 +165,30 @@ public class TabGroupUiMediator implements BackPressHandler { mIsShowingOverViewMode = true; } @@ -281,7 +260,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser if (getTabsToShowForId(lastId).contains(tab)) { return; } -@@ -252,6 +286,7 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -217,6 +248,7 @@ public class TabGroupUiMediator implements BackPressHandler { return; } resetTabStripWithRelatedTabsForId(currentTab.getId()); @@ -289,7 +268,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @Override -@@ -374,6 +409,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -339,6 +371,8 @@ public class TabGroupUiMediator implements BackPressHandler { resetTabStripWithRelatedTabsForId(tab.getId()); } @@ -298,8 +277,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mHandleBackPressChangedSupplier = handleBackPressChangedSupplier; if (mTabGridDialogControllerSupplier != null) { mTabGridDialogControllerSupplier.onAvailable( -@@ -401,6 +438,18 @@ public class TabGroupUiMediator implements BackPressHandler { - mModel.set(TabGroupUiProperties.LEFT_BUTTON_DRAWABLE_ID, drawableId); +@@ -362,6 +396,18 @@ public class TabGroupUiMediator implements BackPressHandler { + mModel.set(TabGroupUiProperties.BACKGROUND_COLOR, backgroundColor); } + /** @@ -314,10 +293,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + } + } + - void setupLeftButtonOnClickListener(View.OnClickListener listener) { - mModel.set(TabGroupUiProperties.LEFT_BUTTON_ON_CLICK_LISTENER, listener); - } -@@ -534,6 +583,7 @@ public class TabGroupUiMediator implements BackPressHandler { + private void setupToolbarButtons() { + View.OnClickListener showGroupDialogOnClickListener = + view -> { +@@ -524,6 +570,7 @@ public class TabGroupUiMediator implements BackPressHandler { } public void destroy() { @@ -336,22 +315,20 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** {@link PropertyKey} list for the TabGroupUi. */ class TabGroupUiProperties { -@@ -36,6 +37,9 @@ class TabGroupUiProperties { - public static final PropertyModel.WritableObjectPropertyKey - RIGHT_BUTTON_CONTENT_DESCRIPTION = new PropertyModel.WritableObjectPropertyKey<>(); +@@ -33,6 +34,9 @@ class TabGroupUiProperties { + public static final PropertyModel.WritableObjectPropertyKey INITIAL_SCROLL_INDEX = + new PropertyModel.WritableObjectPropertyKey<>(true); + public static final PropertyModel.WritableIntPropertyKey PRIMARY_COLOR = + new PropertyModel.WritableIntPropertyKey(); + public static final PropertyKey[] ALL_KEYS = new PropertyKey[] { - LEFT_BUTTON_ON_CLICK_LISTENER, -@@ -46,6 +50,7 @@ class TabGroupUiProperties { - BACKGROUND_COLOR, + SHOW_GROUP_DIALOG_ON_CLICK_LISTENER, +@@ -43,5 +47,6 @@ class TabGroupUiProperties { + SHOW_GROUP_DIALOG_BUTTON_VISIBLE, + IMAGE_TILES_CONTAINER_VISIBLE, INITIAL_SCROLL_INDEX, - LEFT_BUTTON_CONTENT_DESCRIPTION, -- RIGHT_BUTTON_CONTENT_DESCRIPTION -+ RIGHT_BUTTON_CONTENT_DESCRIPTION, + PRIMARY_COLOR }; } @@ -368,8 +345,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + /** Toolbar for the bottom tab strip see {@link TabGroupUiCoordinator}. */ public class TabGroupUiToolbarView extends FrameLayout { - private ChromeImageView mRightButton; -@@ -86,6 +90,19 @@ public class TabGroupUiToolbarView extends FrameLayout { + private ChromeImageView mNewTabButton; +@@ -96,6 +100,19 @@ public class TabGroupUiToolbarView extends FrameLayout { mFadingEdgeEnd.setColorFilter(color, PorterDuff.Mode.SRC_IN); } @@ -387,28 +364,28 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + } + void setTint(ColorStateList tint) { - ImageViewCompat.setImageTintList(mLeftButton, tint); - ImageViewCompat.setImageTintList(mRightButton, tint); + ImageViewCompat.setImageTintList(mShowGroupDialogButton, tint); + ImageViewCompat.setImageTintList(mNewTabButton, tint); diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java -@@ -13,6 +13,7 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiPropert - import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.LEFT_BUTTON_ON_CLICK_LISTENER; - import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.RIGHT_BUTTON_CONTENT_DESCRIPTION; - import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.RIGHT_BUTTON_ON_CLICK_LISTENER; +@@ -12,6 +12,7 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiPropert + import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.NEW_TAB_BUTTON_ON_CLICK_LISTENER; + import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.SHOW_GROUP_DIALOG_BUTTON_VISIBLE; + import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.SHOW_GROUP_DIALOG_ON_CLICK_LISTENER; +import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.PRIMARY_COLOR; import android.view.View; -@@ -71,6 +72,8 @@ class TabGroupUiViewBinder { - } else if (RIGHT_BUTTON_CONTENT_DESCRIPTION == propertyKey) { - viewHolder.toolbarView.setRightButtonContentDescription( - model.get(RIGHT_BUTTON_CONTENT_DESCRIPTION)); +@@ -50,6 +51,8 @@ class TabGroupUiViewBinder { + } else if (NEW_TAB_BUTTON_ON_CLICK_LISTENER == propertyKey) { + viewHolder.toolbarView.setNewTabButtonOnClickListener( + model.get(NEW_TAB_BUTTON_ON_CLICK_LISTENER)); + } else if (PRIMARY_COLOR == propertyKey) { + viewHolder.toolbarView.setPrimaryColorAndApplyTint(model.get(PRIMARY_COLOR)); - } - } - } + } else if (IS_MAIN_CONTENT_VISIBLE == propertyKey) { + viewHolder.toolbarView.setMainContentVisibility(model.get(IS_MAIN_CONTENT_VISIBLE)); + } else if (IS_INCOGNITO == propertyKey) { diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java @@ -433,7 +410,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import android.widget.ImageView; import androidx.annotation.DrawableRes; -@@ -58,6 +63,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; +@@ -59,6 +64,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; import org.chromium.ui.widget.ViewLookupCachingFrameLayout; @@ -442,7 +419,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; -@@ -115,6 +122,128 @@ public class TabListCoordinator +@@ -116,6 +123,128 @@ public class TabListCoordinator private int mAwaitingTabId = Tab.INVALID_TAB_ID; private @TabActionState int mTabActionState; @@ -571,7 +548,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Construct a coordinator for UI that shows a list of tabs. * -@@ -311,6 +440,12 @@ public class TabListCoordinator +@@ -312,6 +441,12 @@ public class TabListCoordinator checkAwaitingLayout(); } }; @@ -584,7 +561,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mRecyclerView.setLayoutManager(gridLayoutManager); mMediator.registerOrientationListener(gridLayoutManager); mMediator.updateSpanCount( -@@ -322,8 +457,7 @@ public class TabListCoordinator +@@ -323,8 +458,7 @@ public class TabListCoordinator .getDecorView() .getWindowVisibleDisplayFrame(frame); updateGridCardLayout(frame.width()); @@ -594,7 +571,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser LinearLayoutManager layoutManager = new LinearLayoutManager( context, -@@ -338,6 +472,25 @@ public class TabListCoordinator +@@ -339,6 +473,25 @@ public class TabListCoordinator } }; mRecyclerView.setLayoutManager(layoutManager); @@ -620,7 +597,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations); } -@@ -358,7 +511,7 @@ public class TabListCoordinator +@@ -359,7 +512,7 @@ public class TabListCoordinator if (hasEmptyView) { mTabListEmptyCoordinator = new TabListEmptyCoordinator( @@ -629,7 +606,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } configureRecyclerViewTouchHelpers(mMode, mTabActionState); -@@ -644,6 +797,9 @@ public class TabListCoordinator +@@ -645,6 +798,9 @@ public class TabListCoordinator void prepareTabSwitcherPaneView() { registerLayoutChangeListener(); mRecyclerView.setupCustomItemAnimator(); @@ -696,7 +673,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java -@@ -51,6 +51,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -54,6 +54,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment private BooleanPreferenceDelegate mForceTabletUIDelegate; static final String PREF_FORCE_TABLET_UI = "force_tablet_ui"; @@ -708,7 +685,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s private TextScalePreference mTextScalePref; private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; -@@ -86,6 +91,10 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -91,6 +96,10 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mFontSizePrefs = FontSizePrefs.getInstance(delegate.getBrowserContextHandle()); } @@ -719,7 +696,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); -@@ -154,6 +163,18 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -161,6 +170,18 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled()); forceTabletUiPref.setOnPreferenceChangeListener(this); @@ -738,7 +715,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -238,6 +259,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -245,6 +266,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDelegate.getBrowserContextHandle(), (Integer) newValue); } else if (PREF_PAGE_ZOOM_ALWAYS_SHOW.equals(preference.getKey())) { PageZoomUtils.setShouldAlwaysShowZoomMenuItem((Boolean) newValue); @@ -846,7 +823,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 -@@ -256,6 +256,9 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient; +@@ -250,6 +250,9 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient; import java.util.ArrayList; import java.util.List; @@ -859,7 +836,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java -@@ -250,6 +250,10 @@ public class CompositorViewHolder extends FrameLayout +@@ -252,6 +252,10 @@ public class CompositorViewHolder extends FrameLayout @Override public void setCurrentTouchEventOffsets(float top) { EventForwarder forwarder = getEventForwarder(); @@ -870,7 +847,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp if (forwarder != null) forwarder.setCurrentTouchOffsetY(top); } -@@ -884,6 +888,9 @@ public class CompositorViewHolder extends FrameLayout +@@ -886,6 +890,9 @@ public class CompositorViewHolder extends FrameLayout mApplicationBottomInsetSupplier != null ? mApplicationBottomInsetSupplier.get().webContentsHeightInset : 0; @@ -1008,18 +985,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java -@@ -193,6 +193,6 @@ public class ScrollDelegate { +@@ -343,7 +343,7 @@ public class ScrollDelegate { boolean useUnadjustedScrollOffset = isRtl != isLeft; float scrollOffset = mScrollOffset; - return -(useUnadjustedScrollOffset ? scrollOffset : (mMinScrollOffset - scrollOffset)); + return -Math.abs(useUnadjustedScrollOffset ? scrollOffset : (mMinScrollOffset - scrollOffset)); } - } + + /** 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 -@@ -100,6 +100,8 @@ import org.chromium.ui.interpolators.Interpolators; +@@ -101,6 +101,8 @@ import org.chromium.ui.interpolators.Interpolators; import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.util.ColorUtils; import org.chromium.url.GURL; @@ -1028,7 +1006,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -@@ -268,12 +270,16 @@ public class StripLayoutHelperManager +@@ -267,12 +269,16 @@ public class StripLayoutHelperManager // Drag-Drop @Nullable private TabDragSource mTabDragSource; @@ -1045,7 +1023,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over if (mModelSelectorButton != null && mModelSelectorButton.onDown(x, y, fromMouse, buttons)) { return; -@@ -299,6 +305,7 @@ public class StripLayoutHelperManager +@@ -298,6 +304,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1053,7 +1031,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over if (mModelSelectorButton != null) { mModelSelectorButton.drag(x, y); } -@@ -310,6 +317,7 @@ public class StripLayoutHelperManager +@@ -309,6 +316,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1061,7 +1039,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over long time = time(); if (mModelSelectorButton != null && mModelSelectorButton.click(x, y, fromMouse, buttons)) { -@@ -324,6 +332,7 @@ public class StripLayoutHelperManager +@@ -323,6 +331,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1069,7 +1047,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().fling(time(), x, y, velocityX, velocityY); } -@@ -332,6 +341,7 @@ public class StripLayoutHelperManager +@@ -331,6 +340,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1077,7 +1055,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().onLongPress(time(), x, y); } -@@ -438,7 +448,8 @@ public class StripLayoutHelperManager +@@ -437,7 +447,8 @@ public class StripLayoutHelperManager // implement an interface to manage strip transition states. @NonNull ToolbarManager toolbarManager, @Nullable DesktopWindowStateProvider desktopWindowStateProvider, @@ -1087,7 +1065,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over Resources res = context.getResources(); mUpdateHost = updateHost; mLayerTitleCacheSupplier = layerTitleCacheSupplier; -@@ -550,6 +561,8 @@ public class StripLayoutHelperManager +@@ -538,6 +549,8 @@ public class StripLayoutHelperManager !mTabStripObscured && getStripVisibilityState() == StripVisibilityState.VISIBLE); @@ -1096,7 +1074,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over tabHoverCardViewStub.setOnInflateListener( (viewStub, view) -> { -@@ -783,6 +796,10 @@ public class StripLayoutHelperManager +@@ -773,6 +786,10 @@ public class StripLayoutHelperManager // layer should be a negative value. yOffset -= getHeight(); } @@ -1107,7 +1085,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over mTabStripTreeProvider.pushAndUpdateStrip( this, mLayerTitleCacheSupplier.get(), -@@ -796,7 +813,9 @@ public class StripLayoutHelperManager +@@ -786,7 +803,9 @@ public class StripLayoutHelperManager mStripTransitionScrimOpacity, mLeftPadding, mRightPadding, @@ -1118,7 +1096,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over return mTabStripTreeProvider; } -@@ -855,11 +874,21 @@ public class StripLayoutHelperManager +@@ -845,11 +864,21 @@ public class StripLayoutHelperManager mLeftPadding, mRightPadding); @@ -1194,7 +1172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java -@@ -18,6 +18,9 @@ import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutTab; +@@ -20,6 +20,9 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.layouts.scene_layer.SceneLayer; import org.chromium.chrome.browser.layouts.scene_layer.SceneOverlayLayer; import org.chromium.ui.resources.ResourceManager; @@ -1204,7 +1182,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen /** * The Java component of what is basically a CC Layer that manages drawing the Tab Strip (which is -@@ -88,9 +91,21 @@ public class TabStripSceneLayer extends SceneOverlayLayer { +@@ -90,9 +93,22 @@ public class TabStripSceneLayer extends SceneOverlayLayer { float scrimOpacity, float leftPaddingDp, float rightPaddingDp, @@ -1215,6 +1193,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen if (mNativePtr == 0) return; - final boolean visible = yOffset > -layoutHelper.getHeight(); + boolean visible = yOffset > -layoutHelper.getHeight(); ++ + if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(ContextUtils.getApplicationContext())) { + // the list of open tabs is moved down, above the top @@ -1225,9 +1204,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen + visible = yOffset > (-layoutHelper.getHeight() - topControlsHeight); + } + } - // This will hide the tab strips if necessary. - TabStripSceneLayerJni.get() - .beginBuildingFrame(mNativePtr, TabStripSceneLayer.this, visible); + + // When BrowserControlsInViz is enabled, this function will be called sparingly during a + // scroll to reduce/remove browser frames. If the tab strip isn't visible, diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java --- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java @@ -1354,7 +1333,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import java.util.List; -@@ -661,11 +662,16 @@ public class NewTabPage +@@ -658,11 +659,16 @@ public class NewTabPage final int topControlsDistanceToRest = mBrowserControlsStateProvider.getContentOffset() - mBrowserControlsStateProvider.getTopControlsHeight(); @@ -1373,7 +1352,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) { layoutParams.topMargin = topMargin; -@@ -681,9 +687,7 @@ public class NewTabPage +@@ -678,9 +684,7 @@ public class NewTabPage * strip. */ private int getToolbarExtraYOffset() { @@ -1462,7 +1441,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP onUpdated(); } -@@ -298,7 +308,7 @@ public class RecentTabsPage +@@ -303,7 +313,7 @@ public class RecentTabsPage private void updateMargins() { final View recentTabsRoot = mView.findViewById(R.id.recent_tabs_root); @@ -1471,7 +1450,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP final int contentOffset = mBrowserControlsStateProvider.getContentOffset(); ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) recentTabsRoot.getLayoutParams(); -@@ -314,9 +324,17 @@ public class RecentTabsPage +@@ -319,9 +329,17 @@ public class RecentTabsPage // If the content offset is different from the margin, we use translationY to position the // view in line with the content offset. @@ -1519,10 +1498,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se // Update the status bar's color based on the toolbar color. Drawable anchorViewBackground = anchorView.getBackground(); -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -403,6 +403,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +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 +@@ -266,6 +266,11 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl if (fragment instanceof INeedSnackbarManager) { ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); } @@ -1532,8 +1511,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin + .getDelegate()).setSnackbarManager(mSnackbarManager); + } if (fragment instanceof AccountManagementFragment) { - ((AccountManagementFragment) fragment).setSnackbarManager(mSnackbarManager); - } + ((AccountManagementFragment) fragment) + .setSnackbarManagerSupplier(mSnackbarManagerSupplier); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java @@ -1586,7 +1565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java -@@ -196,6 +196,9 @@ import org.chromium.url.GURL; +@@ -195,6 +195,9 @@ import org.chromium.url.GURL; import java.util.List; @@ -1596,7 +1575,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar /** * Contains logic for managing the toolbar visual component. This class manages the interactions * with the rest of the application to ensure the toolbar is always visually up to date. -@@ -648,6 +651,17 @@ public class ToolbarManager +@@ -644,6 +647,17 @@ public class ToolbarManager }, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()); mControlContainer = controlContainer; mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline); @@ -1614,7 +1593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mBookmarkModelSupplier = bookmarkModelSupplier; mBookmarkModelSupplier.addObserver(mBookmarkModelSupplierObserver); -@@ -1137,6 +1151,7 @@ public class ToolbarManager +@@ -1134,6 +1148,7 @@ public class ToolbarManager // the height won't be measured by the background image. if (mControlContainer.getBackground() == null) { setControlContainerTopMargin(getToolbarExtraYOffset()); @@ -1622,7 +1601,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar } else if (mLayoutChangeListener == null) { mLayoutChangeListener = (view, -@@ -1150,6 +1165,7 @@ public class ToolbarManager +@@ -1147,6 +1162,7 @@ public class ToolbarManager oldBottom) -> { if (mControlContainer.getBackground() == null) { setControlContainerTopMargin(getToolbarExtraYOffset()); @@ -1630,7 +1609,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mControlContainer.removeOnLayoutChangeListener( mLayoutChangeListener); mLayoutChangeListener = null; -@@ -1539,16 +1555,28 @@ public class ToolbarManager +@@ -1536,16 +1552,28 @@ public class ToolbarManager return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete(); } @@ -1661,8 +1640,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mBrowserControlsVisibilityManager, mIncognitoStateProvider, mScrimCoordinator, -@@ -1574,7 +1602,7 @@ public class ToolbarManager - mBottomControlsStacker, +@@ -1570,7 +1598,7 @@ public class ToolbarManager + mControlsVisibilityDelegate, mFullscreenManager, mEdgeToEdgeControllerSupplier, - (ScrollingBottomViewResourceFrameLayout) root, @@ -1670,7 +1649,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar bottomControlsContentDelegateSupplier, mTabObscuringHandler, mOverlayPanelVisibilitySupplier, -@@ -1582,7 +1610,8 @@ public class ToolbarManager +@@ -1578,7 +1606,8 @@ public class ToolbarManager /* readAloudRestoringSupplier= */ () -> { final var readAloud = mReadAloudControllerSupplier.get(); return readAloud != null && readAloud.isRestoringPlayer(); @@ -1802,7 +1781,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer } } } -@@ -147,7 +150,12 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, +@@ -155,7 +158,12 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, jfloat right_padding, jfloat top_padding) { gfx::RectF content(0, y_offset, width, height); @@ -1816,7 +1795,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer tab_strip_layer_->SetBounds(gfx::Size(width, height)); tab_strip_layer_->SetBackgroundColor(SkColor4f::FromColor(background_color)); -@@ -159,7 +167,7 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, +@@ -167,7 +175,7 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, group_indicator_layer_->SetPosition(gfx::PointF(0, top_padding)); // Content tree should not be affected by tab strip scene layer visibility. @@ -1828,7 +1807,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java -@@ -178,7 +178,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser +@@ -186,7 +186,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser /** * @return {@link BrowserControlsStateProvider} instance in the current Activity. */ @@ -1909,7 +1888,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse #include "chrome/browser/android/webapk/webapk_features.h" #include "chrome/browser/browser_features.h" #include "chrome/browser/flags/android/chrome_session_state.h" -@@ -267,6 +268,8 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -270,6 +271,8 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNavBarColorMatchesTabBackground, &kNewTabSearchEngineUrlAndroid, &kNewTabPageAndroidTriggerForPrerender2, @@ -1921,7 +1900,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 -@@ -373,6 +373,10 @@ public abstract class ChromeFeatureList { +@@ -379,6 +379,10 @@ public abstract class ChromeFeatureList { public static final String NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2 = "NewTabPageAndroidTriggerForPrerender2"; public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe"; @@ -1932,7 +1911,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; -@@ -661,6 +665,10 @@ public abstract class ChromeFeatureList { +@@ -679,6 +683,10 @@ public abstract class ChromeFeatureList { public static final CachedFlag sPriceInsights = newCachedFlag(PRICE_INSIGHTS, false); public static final CachedFlag sPrivacyGuideAndroid3 = newCachedFlag(PRIVACY_GUIDE_ANDROID_3, false); @@ -1943,7 +1922,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sPrivacyGuidePreloadAndroid = newCachedFlag(PRIVACY_GUIDE_PRELOAD_ANDROID, false); public static final CachedFlag sOptimizationGuidePushNotifications = -@@ -790,6 +798,8 @@ public abstract class ChromeFeatureList { +@@ -814,6 +822,8 @@ public abstract class ChromeFeatureList { sPrivacyGuideAndroid3, sPrivacyGuidePreloadAndroid, sOptimizationGuidePushNotifications, @@ -2140,7 +2119,7 @@ diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.x 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 -@@ -2206,7 +2206,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2290,7 +2290,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, #if BUILDFLAG(IS_ANDROID) registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault, @@ -2407,7 +2386,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; -@@ -1162,7 +1164,9 @@ class AutocompleteMediator +@@ -1171,7 +1173,9 @@ class AutocompleteMediator @Override public void onSuggestionDropdownScroll() { mSuggestionsListScrolled = true; @@ -2501,7 +2480,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 -@@ -1696,6 +1696,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1753,6 +1753,12 @@ Your Google account may have other forms of browsing history like searches and a Force Tablet Mode @@ -2517,7 +2496,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn --- a/chrome/browser/ui/android/toolbar/BUILD.gn +++ b/chrome/browser/ui/android/toolbar/BUILD.gn -@@ -168,6 +168,7 @@ android_library("java") { +@@ -170,6 +170,7 @@ android_library("java") { "//content/public/android:content_java", "//third_party/android_deps:material_design_java", "//third_party/androidx:androidx_annotation_annotation_experimental_java", @@ -2580,7 +2559,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator.java -@@ -31,6 +31,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; +@@ -32,6 +32,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.resources.dynamics.ViewResourceAdapter; import org.chromium.ui.widget.Toast; @@ -2589,7 +2568,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * The root coordinator for the bottom controls component. This component is intended for use with -@@ -80,6 +82,8 @@ public class BottomControlsCoordinator implements BackPressHandler { +@@ -81,6 +83,8 @@ public class BottomControlsCoordinator implements BackPressHandler { * @param constraintsSupplier Used to access current constraints of the browser controls. * @param readAloudRestoringSupplier Supplier that returns true if Read Aloud is currently * restoring its player, e.g. after theme change. @@ -2598,7 +2577,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow */ @SuppressLint("CutPasteId") // Not actually cut and paste since it's View vs ViewGroup. public BottomControlsCoordinator( -@@ -95,7 +99,9 @@ public class BottomControlsCoordinator implements BackPressHandler { +@@ -97,7 +101,9 @@ public class BottomControlsCoordinator implements BackPressHandler { TabObscuringHandler tabObscuringHandler, ObservableSupplier overlayPanelVisibilitySupplier, ObservableSupplier constraintsSupplier, @@ -2609,7 +2588,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mRootFrameLayout = root; root.setConstraintsSupplier(constraintsSupplier); PropertyModel model = new PropertyModel(BottomControlsProperties.ALL_KEYS); -@@ -155,7 +161,8 @@ public class BottomControlsCoordinator implements BackPressHandler { +@@ -158,7 +164,8 @@ public class BottomControlsCoordinator implements BackPressHandler { mMediator.setBottomControlsColor(color); } }, @@ -2622,7 +2601,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java -@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; +@@ -28,6 +28,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.ui.KeyboardVisibilityDelegate; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modelutil.PropertyModel; @@ -2630,20 +2609,20 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * This class is responsible for reacting to events from the outside world, interacting with other -@@ -147,6 +148,12 @@ class BottomControlsMediator - } +@@ -152,6 +153,12 @@ class BottomControlsMediator void setBottomControlsVisible(boolean visible) { + boolean visibilityChanged = mIsBottomControlsVisible != visible; + if (visible == true + && mIsBottomControlsVisible == false + && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // always show the toolbar if the bottom controls are visible, so as not to leave the hole below. -+ mBottomControlsStacker.getBrowserControls().getBrowserVisibilityDelegate().showControlsTransient(); ++ visibilityChanged = true; + } mIsBottomControlsVisible = visible; updateCompositedViewVisibility(); updateAndroidViewVisibility(); -@@ -181,6 +188,7 @@ class BottomControlsMediator +@@ -193,6 +200,7 @@ class BottomControlsMediator int bottomControlsMinHeightOffset, boolean needsAnimate, boolean isVisibilityForced) { @@ -2651,7 +2630,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow // Method call routed to onBrowserControlsOffsetUpdate. if (BottomControlsStacker.isDispatchingYOffset()) return; -@@ -306,11 +314,13 @@ class BottomControlsMediator +@@ -318,11 +326,13 @@ class BottomControlsMediator && !mIsInSwipeLayout && getBrowserControls().getBottomControlOffset() == 0; if (visible) { 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 1a65c2ee..3fb614ca 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 @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -50,6 +50,14 @@ import org.chromium.components.user_prefs.UserPrefs; +@@ -52,6 +52,14 @@ import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; @@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting /** Fragment to keep track of the all the privacy related preferences. */ public class PrivacySettings extends ChromeBaseSettingsFragment implements Preference.OnPreferenceChangeListener { -@@ -66,6 +74,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -68,6 +76,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; private static final String PREF_TRACKING_PROTECTION = "tracking_protection"; @@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @VisibleForTesting static final String PREF_FP_PROTECTION = "fp_protection"; @VisibleForTesting static final String PREF_IP_PROTECTION = "ip_protection"; @VisibleForTesting static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; -@@ -155,6 +173,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -158,6 +176,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment setHasOptionsMenu(true); @@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting ChromeSwitchPreference canMakePaymentPref = (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); canMakePaymentPref.setOnPreferenceChangeListener(this); -@@ -287,6 +315,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -295,6 +323,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_HTTPS_FIRST_MODE.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue); @@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -299,6 +330,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -307,6 +338,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment /** Updates the preferences. */ public void updatePreferences() { diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index d0f625f0..30cdfd89 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -63,7 +63,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 -@@ -2396,6 +2396,7 @@ static_library("browser") { +@@ -2406,6 +2406,7 @@ static_library("browser") { "//services/device/public/cpp:device_features", "//services/device/public/cpp/geolocation", "//services/device/public/cpp/usb", @@ -74,7 +74,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 -@@ -246,6 +246,8 @@ +@@ -245,6 +245,8 @@ #include "ui/ui_features.h" #include "url/url_features.h" @@ -87,8 +87,8 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -275,6 +275,7 @@ source_set("browser") { - "//third_party/libyuv", "//third_party/re2", + "//third_party/snappy", "//third_party/sqlite", + "//third_party/ungoogled:switches", "//third_party/webrtc_overrides:webrtc_component", @@ -97,7 +97,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 -@@ -211,6 +211,7 @@ +@@ -212,6 +212,7 @@ #include "url/gurl.h" #include "url/origin.h" @@ -105,7 +105,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" -@@ -3273,6 +3274,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3327,6 +3328,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBreakpad, switches::kDisableDatabases, switches::kDisableFileSystem, @@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/notreached.h" #include "base/ranges/algorithm.h" #include "base/task/single_thread_task_runner.h" -@@ -905,6 +906,17 @@ Document::Document(const DocumentInit& initializer, +@@ -861,6 +862,17 @@ Document::Document(const DocumentInit& initializer, TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT); DCHECK(agent_); @@ -214,7 +214,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) && features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) { script_runner_delayer_->Activate(); -@@ -2494,6 +2506,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2451,6 +2463,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #endif } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h --- a/third_party/blink/renderer/core/dom/document.h +++ b/third_party/blink/renderer/core/dom/document.h -@@ -549,6 +549,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -548,6 +548,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -243,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ AtomicString visibilityState() const; bool IsPageVisible() const; bool hidden() const; -@@ -2567,6 +2571,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2556,6 +2560,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -256,7 +256,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc -@@ -2487,6 +2487,7 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2482,6 +2482,7 @@ void Element::ClientQuads(Vector& quads) const { quads.push_back(element_layout_object->LocalToAbsoluteQuad( gfx::QuadF(element_layout_object->ObjectBoundingBox()))); } @@ -264,7 +264,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ return; } -@@ -2495,6 +2496,10 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2490,6 +2491,10 @@ void Element::ClientQuads(Vector& quads) const { element_layout_object->IsBR()) { element_layout_object->AbsoluteQuads(quads); } @@ -275,7 +275,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ } DOMRectList* Element::getClientRects() { -@@ -2540,6 +2545,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { +@@ -2535,6 +2540,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { DCHECK(element_layout_object); GetDocument().AdjustRectForScrollAndAbsoluteZoom(result, *element_layout_object); @@ -338,9 +338,9 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc --- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc -@@ -79,6 +79,24 @@ TextMetrics::TextMetrics(const Font& font, - Update(font, direction, baseline, align, text); +@@ -93,6 +93,24 @@ const ShapeResult* ShapeWord(const TextRun& word_run, const Font& font) { } + } // namespace +void TextMetrics::Shuffle(const double factor) { + // x-direction @@ -481,7 +481,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c #include "ui/gfx/geometry/vector2d.h" #include "ui/gfx/geometry/vector2d_f.h" #include "v8/include/v8-local-handle.h" -@@ -2858,6 +2863,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -2912,6 +2917,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c } return image_data; -@@ -3538,8 +3547,22 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { +@@ -3592,8 +3601,22 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { const CanvasRenderingContext2DState& state = GetState(); TextDirection direction = ToTextDirection(state.GetDirection(), canvas); @@ -519,7 +519,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 -@@ -1701,7 +1701,9 @@ component("platform") { +@@ -1707,7 +1707,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -530,7 +530,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re allow_circular_includes_from = [ "//third_party/blink/renderer/platform/blob", -@@ -1780,6 +1782,7 @@ component("platform") { +@@ -1787,6 +1789,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -765,7 +765,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h --- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h +++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h -@@ -38,6 +38,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image { +@@ -39,6 +39,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image { StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {} @@ -777,7 +777,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 -@@ -2934,6 +2934,15 @@ +@@ -2915,6 +2915,15 @@ status: {"Mac": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch index 85481fe0..330884d7 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 -@@ -282,7 +282,9 @@ public class SearchEngineAdapter extends BaseAdapter +@@ -280,7 +280,9 @@ public class SearchEngineAdapter extends BaseAdapter continue; } if (recentEngineNum < MAX_RECENT_ENGINE_NUM @@ -264,7 +264,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc // regardless of |url| if the default search provider is managed by policy or // controlled by an extension. bool CanMakeDefault(const TemplateURL* url) const; -@@ -761,9 +764,6 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -754,9 +757,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 cace6154..36be94a3 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" -@@ -3179,8 +3180,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3239,8 +3240,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 0df146e3..d229d8c0 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -39,7 +39,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 -@@ -2440,7 +2440,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, +@@ -2436,7 +2436,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, Resource* cached_resource = document->Fetcher()->CachedResource(url); if (!cached_resource) { cached_resource = MemoryCache::Get()->ResourceForURL( @@ -79,7 +79,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 -@@ -207,7 +207,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, +@@ -197,7 +197,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, } bool MemoryCache::Contains(const Resource* resource) const { @@ -88,7 +88,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/ return false; const auto resource_maps_it = -@@ -223,13 +223,9 @@ bool MemoryCache::Contains(const Resource* resource) const { +@@ -213,13 +213,9 @@ bool MemoryCache::Contains(const Resource* resource) const { return resource == resources_it->value->GetResource(); } @@ -117,19 +117,19 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t void Add(Resource*); void Remove(Resource*); -@@ -177,6 +174,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, +@@ -168,6 +165,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, base::MemoryPressureListener::MemoryPressureLevel) override; private: + HeapVector> ResourcesForURL(const KURL&) const; + - enum PruneStrategy { - // Automatically decide how much to prune. - kAutomaticPrune, + // A URL-based map of all resources that are in the cache (including the + // freshest version of objects that are currently being referenced by a Web + // page). removeFragmentIdentifierIfNeeded() should be called for the url 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 -@@ -980,7 +980,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( +@@ -992,7 +992,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( if (!archive_ && factory.GetType() == ResourceType::kRaw) return nullptr; @@ -139,28 +139,28 @@ 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()) { -@@ -1423,7 +1424,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, - resource = nullptr; - } else { - resource = MemoryCache::Get()->ResourceForURL( -- params.Url(), GetCacheIdentifier(params.Url())); -+ params.Url(), +@@ -1408,7 +1409,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, + MakePreloadedResourceBlockOnloadIfNeeded(resource, params); + } else if (IsMainThread()) { + resource = MemoryCache::Get()->ResourceForURL( +- params.Url(), GetCacheIdentifier(params.Url())); ++ params.Url(), + GetCacheIdentifier(params.Url(), + params.GetResourceRequest().TopFrameOrigin())); - } if (resource) { policy = DetermineRevalidationPolicy(resource_type, params, *resource, -@@ -1721,7 +1724,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( + is_static_data); +@@ -1719,7 +1722,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( const FetchParameters& params, const ResourceFactory& factory) { const String cache_identifier = - GetCacheIdentifier(params.GetResourceRequest().Url()); + GetCacheIdentifier(params.GetResourceRequest().Url(), + params.GetResourceRequest().TopFrameOrigin()); - if (!base::FeatureList::IsEnabled( - blink::features::kScopeMemoryCachePerContext)) { - DCHECK(!IsMainThread() || params.IsStaleRevalidation() || -@@ -2793,10 +2797,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() { + DCHECK(!IsMainThread() || params.IsStaleRevalidation() || + !MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(), + cache_identifier)); +@@ -2788,10 +2792,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() { to_be_removed.clear(); } @@ -176,7 +176,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 -@@ -2809,7 +2816,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { +@@ -2804,7 +2811,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { if (bundle) return bundle->GetCacheIdentifier(); diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index e3371342..e337c283 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.patch @@ -99,7 +99,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br + const net::NetworkAnonymizationKey& network_anonymization_key, const std::string& ocsp_result, const std::string& sct_list, - int frame_tree_node_id, + FrameTreeNodeId frame_tree_node_id, @@ -116,7 +117,7 @@ void VerifyCert(const scoped_refptr& certificate, } @@ -125,7 +125,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), -@@ -535,7 +538,7 @@ void SignedExchangeHandler::OnCertReceived( +@@ -534,7 +537,7 @@ void SignedExchangeHandler::OnCertReceived( // property, or const std::string& stapled_ocsp_response = unverified_cert_chain_->ocsp(); @@ -137,7 +137,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br diff --git a/content/browser/web_package/signed_exchange_handler.h b/content/browser/web_package/signed_exchange_handler.h --- a/content/browser/web_package/signed_exchange_handler.h +++ b/content/browser/web_package/signed_exchange_handler.h -@@ -102,6 +102,7 @@ class CONTENT_EXPORT SignedExchangeHandler { +@@ -103,6 +103,7 @@ class CONTENT_EXPORT SignedExchangeHandler { std::unique_ptr body, ExchangeHeadersCallback headers_callback, std::unique_ptr cert_fetcher_factory, @@ -145,7 +145,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.h b/content/bro const std::optional outer_request_isolation_info, int load_flags, const net::IPEndPoint& remote_endpoint, -@@ -191,6 +192,9 @@ class CONTENT_EXPORT SignedExchangeHandler { +@@ -192,6 +193,9 @@ class CONTENT_EXPORT SignedExchangeHandler { // `cert_fetcher_` borrows reference from `devtools_proxy_`, so it needs to be // declared last, so that it is destroyed first. std::unique_ptr cert_fetcher_; @@ -163,7 +163,7 @@ diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/bro scoped_refptr url_loader_factory, URLLoaderThrottlesGetter url_loader_throttles_getter, + const net::NetworkAnonymizationKey& network_anonymization_key, - int frame_tree_node_id, + FrameTreeNodeId frame_tree_node_id, const std::string& accept_langs, bool keep_entry_for_prefetch_cache) @@ -126,7 +127,7 @@ SignedExchangeLoader::SignedExchangeLoader( @@ -178,7 +178,7 @@ diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/bro diff --git a/content/browser/web_package/signed_exchange_loader.h b/content/browser/web_package/signed_exchange_loader.h --- a/content/browser/web_package/signed_exchange_loader.h +++ b/content/browser/web_package/signed_exchange_loader.h -@@ -31,6 +31,7 @@ class URLLoaderThrottle; +@@ -32,6 +32,7 @@ class URLLoaderThrottle; } // namespace blink namespace net { @@ -186,12 +186,12 @@ diff --git a/content/browser/web_package/signed_exchange_loader.h b/content/brow class SourceStream; } // namespace net -@@ -73,6 +74,7 @@ class CONTENT_EXPORT SignedExchangeLoader final +@@ -74,6 +75,7 @@ class CONTENT_EXPORT SignedExchangeLoader final std::unique_ptr reporter, scoped_refptr url_loader_factory, URLLoaderThrottlesGetter url_loader_throttles_getter, + const net::NetworkAnonymizationKey& network_anonymization_key, - int frame_tree_node_id, + FrameTreeNodeId frame_tree_node_id, const std::string& accept_langs, bool keep_entry_for_prefetch_cache); diff --git a/content/browser/web_package/signed_exchange_prefetch_handler.cc b/content/browser/web_package/signed_exchange_prefetch_handler.cc @@ -640,7 +640,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 -@@ -1491,7 +1491,7 @@ bool QuicChromiumClientSession::CanPool( +@@ -1490,7 +1490,7 @@ bool QuicChromiumClientSession::CanPool( return SpdySession::CanPool(transport_security_state_, ssl_info, *ssl_config_service_, session_key_.host(), @@ -652,7 +652,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 -@@ -1192,7 +1192,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1190,7 +1190,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { TransportSecurityState::PKPStatus pin_validity = context_->transport_security_state()->CheckPublicKeyPins( host_and_port_, server_cert_verify_result_.is_issued_by_known_root, @@ -662,7 +662,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 |= -@@ -1214,7 +1215,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1212,7 +1213,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( @@ -753,7 +753,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 -@@ -363,7 +363,8 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -364,7 +364,8 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { if (TransportSecurityState* hsts = request->context()->transport_security_state()) { upgrade_decision = @@ -763,7 +763,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } // Check for reasons not to return a URLRequestHttpJob. These don't apply to -@@ -1208,7 +1209,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { +@@ -1220,7 +1221,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { HttpResponseHeaders* headers = GetResponseHeaders(); std::string value; if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value)) @@ -772,7 +772,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } void URLRequestHttpJob::OnStartCompleted(int result) { -@@ -1278,7 +1279,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { +@@ -1290,7 +1291,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { TransportSecurityState* state = context->transport_security_state(); NotifySSLCertificateError( result, transaction_->GetResponseInfo()->ssl_info, @@ -784,7 +784,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 -@@ -1964,6 +1964,7 @@ void NetworkContext::CreateHostResolver( +@@ -1962,6 +1962,7 @@ void NetworkContext::CreateHostResolver( void NetworkContext::VerifyCertForSignedExchange( const scoped_refptr& certificate, const GURL& url, @@ -792,7 +792,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& ocsp_result, const std::string& sct_list, VerifyCertForSignedExchangeCallback callback) { -@@ -1974,6 +1975,7 @@ void NetworkContext::VerifyCertForSignedExchange( +@@ -1972,6 +1973,7 @@ void NetworkContext::VerifyCertForSignedExchange( pending_cert_verify->result = std::make_unique(); pending_cert_verify->certificate = certificate; pending_cert_verify->url = url; @@ -800,7 +800,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont pending_cert_verify->ocsp_result = ocsp_result; pending_cert_verify->sct_list = sct_list; net::CertVerifier* cert_verifier = -@@ -2016,17 +2018,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -2014,17 +2016,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -823,7 +823,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont IsHSTSActiveForHostCallback callback) { net::TransportSecurityState* security_state = url_request_context_->transport_security_state(); -@@ -2036,10 +2040,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -2034,10 +2038,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, return; } @@ -836,7 +836,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -2077,10 +2081,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2075,10 +2079,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( @@ -849,7 +849,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)); -@@ -2118,6 +2122,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2116,6 +2120,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -857,7 +857,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 = -@@ -2128,7 +2133,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -2126,7 +2131,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -866,7 +866,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -2169,7 +2174,7 @@ void NetworkContext::PreconnectSockets( +@@ -2167,7 +2172,7 @@ void NetworkContext::PreconnectSockets( DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -930,7 +930,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -746,7 +749,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -747,7 +750,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -940,7 +940,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte #if BUILDFLAG(IS_P2P_ENABLED) void DestroySocketManager(P2PSocketManager* socket_manager); -@@ -947,6 +951,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -948,6 +952,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext VerifyCertForSignedExchangeCallback callback; scoped_refptr certificate; GURL url; diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch index 5cddad00..c78ec471 100644 --- a/build/patches/Partition-blobs-by-top-frame-URL.patch +++ b/build/patches/Partition-blobs-by-top-frame-URL.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/blob_url_store_impl.cc --- a/storage/browser/blob/blob_url_store_impl.cc +++ b/storage/browser/blob/blob_url_store_impl.cc -@@ -82,6 +82,20 @@ BlobURLStoreImpl::~BlobURLStoreImpl() { +@@ -83,6 +83,20 @@ BlobURLStoreImpl::~BlobURLStoreImpl() { } } @@ -38,7 +38,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/ void BlobURLStoreImpl::Register( mojo::PendingRemote blob, const GURL& url, -@@ -116,6 +130,8 @@ void BlobURLStoreImpl::Revoke(const GURL& url) { +@@ -117,6 +131,8 @@ void BlobURLStoreImpl::Revoke(const GURL& url) { void BlobURLStoreImpl::ResolveAsURLLoaderFactory( const GURL& url, mojo::PendingReceiver receiver, @@ -47,7 +47,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/ ResolveAsURLLoaderFactoryCallback callback) { if (!registry_) { BlobURLLoaderFactory::Create(mojo::NullRemote(), url, std::move(receiver)); -@@ -123,6 +139,12 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( +@@ -132,6 +148,12 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( return; } @@ -59,8 +59,8 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/ + BlobURLLoaderFactory::Create(registry_->GetBlobFromUrl(url), url, std::move(receiver)); - std::move(callback).Run(registry_->GetUnsafeAgentClusterID(url), -@@ -132,11 +154,17 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( + // When a fragment URL is present, registry_->GetUnsafeAgentClusterID(url) and +@@ -145,11 +167,17 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( void BlobURLStoreImpl::ResolveForNavigation( const GURL& url, mojo::PendingReceiver token, 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 43fa3837..e64acbe5 100644 --- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch @@ -11,31 +11,31 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../browser/chrome_content_browser_client.cc | 2 +- .../extensions/api/cookies/cookies_helpers.cc | 4 ++ - .../net/profile_network_context_service.cc | 12 ++-- + .../net/profile_network_context_service.cc | 12 ++--- .../privacy_sandbox_settings_delegate.cc | 1 + - ...storage_access_grant_permission_context.cc | 12 ++++ + ...storage_access_grant_permission_context.cc | 12 +++++ .../experiment/experiment_manager_impl.cc | 1 + .../strings/android/site_settings.grdp | 4 +- .../core/browser/cookie_settings.cc | 2 + - .../core/common/cookie_settings_base.cc | 61 +------------------ - ...ioning-all-cookies-by-top-frame-domain.inc | 3 + + .../core/common/cookie_settings_base.cc | 52 +------------------ + ...ioning-all-cookies-by-top-frame-domain.inc | 3 ++ ...ioning-all-cookies-by-top-frame-domain.inc | 1 + ...ioning-all-cookies-by-top-frame-domain.inc | 1 + - ...ioning-all-cookies-by-top-frame-domain.inc | 12 ++++ - net/cookies/canonical_cookie.cc | 3 - + ...ioning-all-cookies-by-top-frame-domain.inc | 16 ++++++ + net/cookies/canonical_cookie.cc | 3 -- net/cookies/cookie_deletion_info.cc | 3 +- net/cookies/cookie_monster.cc | 1 + net/cookies/cookie_util.cc | 1 + - net/cookies/parsed_cookie.h | 6 +- + net/cookies/parsed_cookie.h | 6 ++- .../sqlite/sqlite_persistent_cookie_store.cc | 8 +++ - net/url_request/url_request_http_job.cc | 10 +-- - services/network/cookie_settings.cc | 6 +- - services/network/restricted_cookie_manager.cc | 6 ++ + net/url_request/url_request_http_job.cc | 10 ++-- + services/network/cookie_settings.cc | 6 +-- + services/network/restricted_cookie_manager.cc | 6 +++ .../modules/cookie_store/cookie_init.idl | 2 +- - .../modules/cookie_store/cookie_store.cc | 3 + + .../modules/cookie_store/cookie_store.cc | 3 ++ .../cookie_store_delete_options.idl | 2 +- ui/webui/webui_allowlist.cc | 1 + - 26 files changed, 81 insertions(+), 87 deletions(-) + 26 files changed, 85 insertions(+), 78 deletions(-) create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc @@ -44,7 +44,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 -@@ -3717,7 +3717,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( +@@ -3737,7 +3737,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); if (!cookie_settings) { @@ -56,7 +56,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/browser/extensions/api/cookies/cookies_helpers.cc --- a/chrome/browser/extensions/api/cookies/cookies_helpers.cc +++ b/chrome/browser/extensions/api/cookies/cookies_helpers.cc -@@ -257,6 +257,10 @@ bool ValidateCookieApiPartitionKey( +@@ -366,6 +366,10 @@ ToNetCookiePartitionKey( bool CookieMatchesPartitionKeyCollection( const net::CookiePartitionKeyCollection& cookie_partition_key_collection, const net::CanonicalCookie& cookie) { @@ -70,7 +70,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 -@@ -826,16 +826,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( +@@ -837,16 +837,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. @@ -149,7 +149,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen Third-party cookies are blocked in Incognito mode -@@ -542,7 +542,7 @@ +@@ -545,7 +545,7 @@ Allow third-party cookies @@ -169,9 +169,9 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo if (url.is_empty() || first_party_url.is_empty()) { return; } -@@ -403,6 +404,7 @@ bool CookieSettings::MitigationsEnabledFor3pcdInternal() const { - return !tracking_protection_settings_->AreAllThirdPartyCookiesBlocked(); - } +@@ -385,6 +386,7 @@ bool CookieSettings::ShouldBlockThirdPartyCookiesInternal() const { + DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK(pref_change_registrar_); + if ((true)) return false; if (net::cookie_util::IsForceThirdPartyCookieBlockingEnabled()) { @@ -180,24 +180,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 -@@ -41,16 +41,6 @@ using net::cookie_util::StorageAccessResult; - using ThirdPartyCookieAllowMechanism = - CookieSettingsBase::ThirdPartyCookieAllowMechanism; - --bool IsAllowedByCORS(const net::CookieSettingOverrides& overrides, -- const GURL& request_url, -- const GURL& first_party_url) { -- return overrides.Has( -- net::CookieSettingOverride::kCrossSiteCredentialedWithCORS) && -- base::FeatureList::IsEnabled( -- net::features::kThirdPartyCookieTopLevelSiteCorsException) && -- net::SchemefulSite(request_url) == net::SchemefulSite(first_party_url); --} -- - constexpr StorageAccessResult GetStorageAccessResult( - ThirdPartyCookieAllowMechanism mechanism) { - using AllowMechanism = ThirdPartyCookieAllowMechanism; -@@ -551,65 +541,16 @@ CookieSettingsBase::DecideAccess( +@@ -537,66 +537,16 @@ CookieSettingsBase::DecideAccess( ThirdPartyCookieAllowMechanism::kAllowByGlobalSetting}; } @@ -206,10 +189,6 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c - } - - // Site controlled mechanisms (ex: web APIs, deprecation trial): -- if (IsAllowedByCORS(overrides, url, first_party_url)) { -- return AllowAllCookies{ -- ThirdPartyCookieAllowMechanism::kAllowByCORSException}; -- } - if (IsAllowedByTopLevelStorageAccessGrant(url, first_party_url, overrides)) { - return AllowAllCookies{ - ThirdPartyCookieAllowMechanism::kAllowByTopLevelStorageAccess}; @@ -225,14 +204,6 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c - ThirdPartyCookieAllowMechanism::kAllowBy3PCDHeuristics}; - } - -- if (IsAllowedByTopLevel3pcdTrialSettings(first_party_url, overrides)) { -- return AllowAllCookies{ -- ThirdPartyCookieAllowMechanism::kAllowByTopLevel3PCD}; -- } -- if (IsAllowedBy3pcdTrialSettings(url, first_party_url, overrides)) { -- return AllowAllCookies{ThirdPartyCookieAllowMechanism::kAllowBy3PCD}; -- } -- - // Enterprise Policies: - if (is_explicit_setting && setting_info.source == SettingSource::kPolicy) { - return AllowAllCookies{ThirdPartyCookieAllowMechanism:: @@ -252,6 +223,19 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c ThirdPartyCookieAllowMechanism::kAllowByExplicitSetting}; } +- // 3PCD 1P and 3P DTs +- // New registrations are not supported for the deprecation trials, but the +- // tokens are still valid until they expire. +- // TODO(https://crbug.com/364917750): Remove this check once the trials are no +- // longer relevant. +- if (IsAllowedByTopLevel3pcdTrialSettings(first_party_url, overrides)) { +- return AllowAllCookies{ +- ThirdPartyCookieAllowMechanism::kAllowByTopLevel3PCD}; +- } +- if (IsAllowedBy3pcdTrialSettings(url, first_party_url, overrides)) { +- return AllowAllCookies{ThirdPartyCookieAllowMechanism::kAllowBy3PCD}; +- } +- - // Check for a TRACKING_PROTECTION exception, which should also disable 3PCB. - SettingInfo tp_info; - if (IsAllowedByTrackingProtectionSetting(url, first_party_url, tp_info)) { @@ -263,7 +247,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c return AllowPartitionedCookies{}; } -@@ -641,7 +582,7 @@ CookieSettingsBase::GetCookieSettingInternal( +@@ -628,7 +578,7 @@ CookieSettingsBase::GetCookieSettingInternal( } return CookieSettingWithMetadata{/*cookie_setting=*/CONTENT_SETTING_ALLOW, /*allow_partitioned_cookies=*/true, @@ -296,7 +280,7 @@ diff --git a/cromite_flags/net/base/features_cc/Partitioning-all-cookies-by-top- new file mode 100644 --- /dev/null +++ b/cromite_flags/net/base/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc -@@ -0,0 +1,12 @@ +@@ -0,0 +1,16 @@ +SET_CROMITE_FEATURE_ENABLED(kCookieDomainRejectNonASCII); + +SET_CROMITE_FEATURE_DISABLED(kForceThirdPartyCookieBlocking); @@ -309,10 +293,14 @@ new file mode 100644 + +SET_CROMITE_FEATURE_DISABLED(kTpcdMetadataGrants); +SET_CROMITE_FEATURE_DISABLED(kTpcdMetadataStageControl); ++ ++// Implement `Activate-Storage-Access: retry` header semantics ++// https://source.chromium.org/chromium/chromium/src/+/ca4775cd3edadea0c3e756e772c3afc766e46fd1 ++SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeaderRetry); 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 -@@ -995,9 +995,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const { +@@ -984,9 +984,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const { if (CookiePartitionKey::HasNonce(PartitionKey())) { return true; } @@ -349,7 +337,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 -@@ -732,6 +732,7 @@ bool IsCookiePartitionedValid(const GURL& url, +@@ -730,6 +730,7 @@ bool IsCookiePartitionedValid(const GURL& url, bool secure, bool is_partitioned, bool partition_has_nonce) { @@ -383,7 +371,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc --- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc +++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc -@@ -871,6 +871,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() { +@@ -896,6 +896,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() { if (!restore_old_session_cookies_) DeleteSessionCookiesOnStartup(); @@ -401,7 +389,7 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq 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 -@@ -891,13 +891,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( +@@ -894,13 +894,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( AnnotateAndMoveUserBlockedCookies(maybe_included_cookies, excluded_cookies); } @@ -431,7 +419,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti } bool IsValidType(ContentSettingsType type) { -@@ -112,8 +111,7 @@ bool IsOriginOpaqueHttpOrHttps(const url::Origin* top_frame_origin) { +@@ -111,8 +110,7 @@ bool IsOriginOpaqueHttpOrHttps(const url::Origin* top_frame_origin) { // static bool CookieSettings::IsCookieAllowed(const net::CanonicalCookie& cookie, const CookieSettingWithMetadata& setting) { diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch index aa0c920e..42210dc9 100644 --- a/build/patches/Private-network-access-content-settings.patch +++ b/build/patches/Private-network-access-content-settings.patch @@ -21,7 +21,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 -@@ -7912,8 +7912,7 @@ ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy( +@@ -7937,8 +7937,7 @@ ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy( #if BUILDFLAG(IS_ANDROID) if (base::FeatureList::IsEnabled( @@ -176,7 +176,7 @@ new file mode 100644 diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc --- a/services/network/cors/cors_url_loader.cc +++ b/services/network/cors/cors_url_loader.cc -@@ -1032,7 +1032,7 @@ std::optional CorsURLLoader::ConvertPreflightResult( +@@ -1060,7 +1060,7 @@ std::optional CorsURLLoader::ConvertPreflightResult( } // Private Network Access warning: ignore net and CORS errors. @@ -185,7 +185,7 @@ diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/co CHECK(ShouldIgnorePrivateNetworkAccessErrors( request_.required_ip_address_space)); CHECK_EQ(*reason, PreflightRequiredReason::kPrivateNetworkAccess); -@@ -1356,12 +1356,6 @@ bool CorsURLLoader::ShouldIgnorePrivateNetworkAccessErrors( +@@ -1384,12 +1384,6 @@ bool CorsURLLoader::ShouldIgnorePrivateNetworkAccessErrors( if (!state) { return false; } 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 2d8d6012..5314523e 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 @@ -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 -@@ -265,6 +265,7 @@ public abstract class ChromeFeatureList { +@@ -268,6 +268,7 @@ public abstract class ChromeFeatureList { public static final String CCT_PREWARM_TAB = "CCTPrewarmTab"; public static final String CCT_REPORT_PARALLEL_REQUEST_STATUS = "CCTReportParallelRequestStatus"; diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch index ab814afb..f433f224 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 -@@ -4171,8 +4171,13 @@ action("build_date") { +@@ -4139,8 +4139,13 @@ action("build_date") { args = [ rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir), diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch index bb306826..2e6cb2c2 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 -@@ -548,6 +548,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -551,6 +551,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()) { -@@ -555,11 +556,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -558,11 +559,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(); -@@ -805,10 +809,10 @@ void URLRequestHttpJob::StartTransactionInternal() { +@@ -808,10 +812,10 @@ void URLRequestHttpJob::StartTransactionInternal() { void URLRequestHttpJob::AddExtraHeaders() { request_info_.extra_headers.SetAcceptEncodingIfMissing( request()->url(), request()->accepted_stream_types(), diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch index b1c57ee5..790d215a 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 -@@ -642,6 +642,8 @@ chrome_java_resources = [ +@@ -643,6 +643,8 @@ chrome_java_resources = [ "java/res/xml/phone_as_a_security_key_accessory_filter.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 -@@ -960,6 +960,8 @@ chrome_java_sources = [ +@@ -961,6 +961,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarLimiter.java", @@ -170,7 +170,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; +@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthSettingSwitchPreference; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment; @@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings; import org.chromium.chrome.browser.privacy_guide.PrivacyGuideInteractions; import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxBridge; -@@ -85,6 +86,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -87,6 +88,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_DO_NOT_TRACK = "do_not_track"; private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; private static final String PREF_PROXY_OPTIONS = "proxy"; private static final String PREF_PRIVACY_GUIDE = "privacy_guide"; -@@ -464,6 +466,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -472,6 +474,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -379,7 +379,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 -@@ -216,6 +216,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -223,6 +223,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kExpireDaysThreshold] = settings_api::PrefType::kNumber; @@ -394,7 +394,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 -@@ -600,6 +600,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( +@@ -601,6 +601,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( base::BindRepeating(&SystemNetworkContextManager::UpdateReferrersEnabled, base::Unretained(this))); @@ -404,7 +404,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows pref_change_registrar_.Add( prefs::kExplicitlyAllowedNetworkPorts, base::BindRepeating( -@@ -680,6 +683,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -682,6 +685,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); @@ -446,7 +446,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ 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 -@@ -99,6 +99,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -100,6 +100,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { }, }, @@ -464,7 +464,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch /** * Preferences state. */ -@@ -483,6 +494,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -507,6 +518,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { Router.getInstance().navigateTo(routes.TRACKING_PROTECTION); } @@ -480,7 +480,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 -@@ -1124,6 +1124,30 @@ For more settings that use data to improve your Chrome experience, go to @@ -526,7 +526,7 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/p diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc -@@ -376,6 +376,8 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -375,6 +375,8 @@ void PrefsTabHelper::RegisterProfilePrefs( registry->RegisterBooleanPref( prefs::kEnableReferrers, !base::FeatureList::IsEnabled(features::kNoReferrers)); @@ -538,7 +538,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre 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 -@@ -1854,6 +1854,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1775,6 +1775,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION}, {"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION}, {"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION}, @@ -552,7 +552,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide 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 -@@ -1589,6 +1589,9 @@ inline constexpr char kEnableEncryptedMedia[] = +@@ -1605,6 +1605,9 @@ inline constexpr char kEnableEncryptedMedia[] = inline constexpr char kPrefixedVideoFullscreenApiAvailability[] = "media.prefixed_fullscreen_video_api_availability"; @@ -634,7 +634,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h --- a/services/network/public/cpp/resource_request.h +++ b/services/network/public/cpp/resource_request.h -@@ -152,7 +152,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest { +@@ -146,7 +146,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest { std::vector navigation_redirect_chain; GURL referrer; diff --git a/build/patches/Remove-SMS-integration.patch b/build/patches/Remove-SMS-integration.patch index 6cd5234b..6613a739 100644 --- a/build/patches/Remove-SMS-integration.patch +++ b/build/patches/Remove-SMS-integration.patch @@ -56,7 +56,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse - // If this is not a bundle build or the default system language is being used the language - // split should not be installed. Instead indicate that the listener completed successfully - // since the language resources will already be present. -- if (!BundleUtils.isBundle() || isFollowSystemLanguage(languageName)) { +- if (!BuildConfig.IS_BUNDLE || isFollowSystemLanguage(languageName)) { - wrappedListener.onComplete(true); - } else { - LanguageSplitInstaller.getInstance().installLanguage(languageName, wrappedListener); diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index caed6fd5..46e4e79e 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -27,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...em_webview_bundle.AndroidManifest.expected | 5 - build/android/gyp/proguard.py | 2 + build/config/android/config.gni | 4 +- - chrome/android/BUILD.gn | 47 +- + chrome/android/BUILD.gn | 46 +- chrome/android/chrome_java_sources.gni | 5 - .../features/cablev2_authenticator/BUILD.gn | 2 - chrome/android/java/AndroidManifest.xml | 50 -- @@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/PlayServicesVersionInfo.java | 11 +- .../ChromeBackgroundTaskFactory.java | 3 - .../gcore/ChromeGoogleApiClientImpl.java | 25 +- - .../browser/gcore/GoogleApiClientHelper.java | 89 +- + .../browser/gcore/GoogleApiClientHelper.java | 89 +-- .../instantapps/InstantAppsHandler.java | 6 +- .../settings/PasswordSettings.java | 9 - .../modules/chrome_feature_modules.gni | 3 - @@ -44,9 +44,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../language/AppLanguagePromoDialog.java | 31 - .../language/settings/LanguageSettings.java | 6 - chrome/browser/omaha/android/BUILD.gn | 1 - - .../browser/password_manager/android/BUILD.gn | 4 - + .../browser/password_manager/android/BUILD.gn | 5 - + .../password_manager/GmsUpdateLauncher.java | 27 - .../PasswordManagerAndroidBackendUtil.java | 38 +- - .../PasswordManagerHelper.java | 32 +- + .../PasswordManagerHelper.java | 4 +- ...swordSyncControllerDelegateBridgeImpl.java | 7 - .../push_messaging_service_factory.cc | 8 +- chrome/browser/resources/settings/route.ts | 2 - @@ -57,7 +58,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../webui/chrome_web_ui_controller_factory.cc | 3 - chrome/browser/webauthn/android/BUILD.gn | 1 - .../CableAuthenticatorModuleProvider.java | 35 +- - .../authenticator_request_dialog_model.cc | 4 - chrome/browser/webauthn/cablev2_devices.cc | 3 + chrome/test/android/BUILD.gn | 2 - .../ExternalNavigationHandler.java | 8 - @@ -83,7 +83,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../media_router/caf/CastUtils.java | 8 - .../CafExpandedControllerActivity.java | 35 +- .../CafRemotingMediaRouteProvider.java | 4 +- - .../remoting/FlingingControllerAdapter.java | 89 -- + .../remoting/FlingingControllerAdapter.java | 89 --- .../caf/remoting/RemotingMediaSource.java | 8 +- .../remoting/RemotingSessionController.java | 30 - .../test/android/cast_emulator/BUILD.gn | 1 - @@ -105,11 +105,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html services/BUILD.gn | 9 - services/device/geolocation/BUILD.gn | 4 - services/shape_detection/BUILD.gn | 2 - - third_party/android_deps/BUILD.gn | 762 +----------------- + third_party/android_deps/BUILD.gn | 723 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- third_party/cardboard/BUILD.gn | 4 - - 85 files changed, 117 insertions(+), 2352 deletions(-) + 85 files changed, 116 insertions(+), 2309 deletions(-) create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected @@ -149,7 +149,7 @@ diff --git a/build/android/gyp/proguard.py b/build/android/gyp/proguard.py diff --git a/build/config/android/config.gni b/build/config/android/config.gni --- a/build/config/android/config.gni +++ b/build/config/android/config.gni -@@ -173,9 +173,7 @@ if (is_android || is_chromeos) { +@@ -170,9 +170,7 @@ if (is_android) { # google_play_services_package contains the path where individual client # targets (e.g. google_play_services_base_java) are located. @@ -159,11 +159,11 @@ diff --git a/build/config/android/config.gni b/build/config/android/config.gni + google_play_services_package = "" if (!defined(android_protoc_bin)) { - android_protoc_bin = "//third_party/android_protoc/protoc" + android_protoc_bin = "//third_party/android_build_tools/protoc/cipd/protoc" diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -346,14 +346,6 @@ if (current_toolchain == default_toolchain) { +@@ -347,14 +347,6 @@ if (current_toolchain == default_toolchain) { ":google_api_keys_java", ":java_overlay_resources", ":usage_stats_proto_java", @@ -175,10 +175,10 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn - "$google_play_services_package:google_play_services_gcm_java", - "$google_play_services_package:google_play_services_iid_java", - "$google_play_services_package:google_play_services_tasks_java", + "//base:content_uri_utils_java", + "//base:service_loader_java", "//base/version_info/android:version_constants_java", - "//cc:cc_java", - "//cc/mojom:mojom_java", -@@ -715,13 +707,23 @@ if (current_toolchain == default_toolchain) { +@@ -726,13 +718,23 @@ if (current_toolchain == default_toolchain) { "//services/shape_detection:shape_detection_java", "//services/shape_detection/public/mojom:mojom_java", "//skia/public/mojom:mojom_java", @@ -204,7 +204,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/android_deps:protobuf_lite_runtime_java", "//third_party/android_media:android_media_java", "//third_party/android_swipe_refresh:android_swipe_refresh_java", -@@ -987,12 +989,6 @@ if (current_toolchain == default_toolchain) { +@@ -999,12 +1001,6 @@ if (current_toolchain == default_toolchain) { ":chrome_jni_headers", ":chrome_unit_test_util_java", ":delegate_public_impl_java", @@ -217,7 +217,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java_test_support", "//base:base_java_test_support_uncommon", "//base:base_junit_test_support", -@@ -1670,13 +1666,6 @@ if (current_toolchain == default_toolchain) { +@@ -1692,13 +1688,6 @@ if (current_toolchain == default_toolchain) { ":chrome_app_java_resources", ":chrome_test_util_java", ":delegate_public_impl_java", @@ -231,7 +231,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_java_test_support_uncommon", -@@ -2579,7 +2568,6 @@ if (current_toolchain == default_toolchain) { +@@ -2604,7 +2593,6 @@ if (current_toolchain == default_toolchain) { ] deps = [ ":chrome_java", @@ -239,15 +239,15 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//build/android:build_java", -@@ -2681,7 +2669,6 @@ if (current_toolchain == default_toolchain) { +@@ -2704,7 +2692,6 @@ if (current_toolchain == default_toolchain) { # is in a DFM. android_library("base_module_java") { sources = [ - "java/src/com/google/ipc/invalidation/ticl/android2/channel/GcmRegistrationTaskService.java", "java/src/org/chromium/chrome/app/TrichromeZygotePreload.java", "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java", - "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java", -@@ -2698,8 +2685,6 @@ if (current_toolchain == default_toolchain) { + "java/src/org/chromium/chrome/browser/DeferredStartupHandler.java", +@@ -2721,8 +2708,6 @@ if (current_toolchain == default_toolchain) { "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java", "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java", "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java", @@ -256,7 +256,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java", -@@ -2723,16 +2708,10 @@ if (current_toolchain == default_toolchain) { +@@ -2746,15 +2731,10 @@ if (current_toolchain == default_toolchain) { "java/src/org/chromium/chrome/browser/notifications/NotificationService.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java", "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java", @@ -267,13 +267,12 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn ] deps = [ ":chrome_base_module_resources", -- "$google_play_services_package:google_firebase_firebase_iid_java", - "$google_play_services_package:google_firebase_firebase_messaging_java", - "$google_play_services_package:google_play_services_gcm_java", "//base:base_java", "//chrome/browser/download/android:file_provider_java", "//chrome/browser/flags:java", -@@ -2746,7 +2725,6 @@ if (current_toolchain == default_toolchain) { +@@ -2768,7 +2748,6 @@ if (current_toolchain == default_toolchain) { "//components/media_router/browser/android:cast_options_provider_java", "//components/minidump_uploader:minidump_uploader_java", "//components/module_installer/android:module_installer_java", @@ -281,7 +280,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/androidx:androidx_collection_collection_java", "//third_party/jni_zero:jni_zero_java", -@@ -2766,7 +2744,6 @@ if (current_toolchain == default_toolchain) { +@@ -2788,7 +2767,6 @@ if (current_toolchain == default_toolchain) { # Deps to pull services into base module. # TODO(crbug.com/40148088): Consider moving these to the chrome module to # reduce base dex size. @@ -292,15 +291,15 @@ 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 -@@ -14,7 +14,6 @@ chrome_java_sources = [ +@@ -12,7 +12,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java", "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java", "java/src/org/chromium/chrome/browser/ChromeApplicationImpl.java", - "java/src/org/chromium/chrome/browser/ChromeBackgroundServiceImpl.java", - "java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java", - "java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java", "java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java", -@@ -986,10 +985,6 @@ chrome_java_sources = [ + "java/src/org/chromium/chrome/browser/ChromeInactivityTracker.java", + "java/src/org/chromium/chrome/browser/ChromeKeyboardVisibilityDelegate.java", +@@ -987,10 +986,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/segmentation_platform/ReaderModeActionProvider.java", "java/src/org/chromium/chrome/browser/segmentation_platform/SignalAccumulator.java", "java/src/org/chromium/chrome/browser/selection/ChromeSelectionDropdownMenuDelegate.java", @@ -308,9 +307,9 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundServiceImpl.java", - "java/src/org/chromium/chrome/browser/services/gcm/GCMNativeBackgroundTask.java", - "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java", + "java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java", "java/src/org/chromium/chrome/browser/settings/MainSettings.java", "java/src/org/chromium/chrome/browser/settings/SettingsActivity.java", - "java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java", diff --git a/chrome/android/features/cablev2_authenticator/BUILD.gn b/chrome/android/features/cablev2_authenticator/BUILD.gn --- a/chrome/android/features/cablev2_authenticator/BUILD.gn +++ b/chrome/android/features/cablev2_authenticator/BUILD.gn @@ -406,7 +405,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1286,12 +1242,6 @@ by a child template that "extends" this file. +@@ -1288,12 +1244,6 @@ by a child template that "extends" this file. {% endif %} @@ -721,7 +720,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java -@@ -32,8 +32,8 @@ public class InstantAppsHandler { +@@ -37,8 +37,8 @@ public class InstantAppsHandler { * @return Whether or not the instant app specified by the entry in the page's manifest is * either available, or would be available if the user wasn't in the holdback group. */ @@ -736,15 +735,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java -@@ -127,7 +127,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -130,7 +130,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment private Preference mLinkPref; private Menu mMenu; - private @Nullable PasswordCheck mPasswordCheck; private @ManagePasswordsReferrer int mManagePasswordsReferrer; - private BottomSheetController mBottomSheetController; - -@@ -205,7 +204,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment + private OneshotSupplier mBottomSheetControllerSupplier; + private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); +@@ -214,7 +213,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -752,7 +751,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage computeTrustedVaultBannerState(); } -@@ -310,9 +308,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -319,9 +317,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment if (shouldShowAutoSigninOption()) { createAutoSignInCheckbox(); } @@ -762,7 +761,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) { createTrustedVaultBanner( -@@ -513,10 +508,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -522,10 +517,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment // by the system. if (getActivity().isFinishing()) { PasswordManagerHandlerProvider.getForProfile(getProfile()).removeObserver(this); @@ -796,7 +795,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn --- a/chrome/browser/language/android/BUILD.gn +++ b/chrome/browser/language/android/BUILD.gn -@@ -10,15 +10,12 @@ android_library("base_module_java") { +@@ -10,16 +10,13 @@ android_library("base_module_java") { sources = [ "java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java", "java/src/org/chromium/chrome/browser/language/GlobalAppLocaleController.java", @@ -805,6 +804,7 @@ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/ deps = [ - "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", + "//build/android:build_java", "//chrome/browser/preferences:java", "//components/language/android:java", "//components/language/android:ulp_delegate_java", @@ -863,7 +863,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java -@@ -18,7 +18,6 @@ import org.chromium.base.Log; +@@ -20,7 +20,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.language.AppLocaleUtils; import org.chromium.chrome.browser.language.GlobalAppLocaleController; @@ -871,7 +871,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse import org.chromium.chrome.browser.language.R; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar; -@@ -129,11 +128,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -138,11 +137,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment * translate target language, and detailed translate preferences. */ private void createDetailedPreferences(Bundle savedInstanceState, String rootKey) { @@ -897,24 +897,75 @@ diff --git a/chrome/browser/omaha/android/BUILD.gn b/chrome/browser/omaha/androi diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn --- a/chrome/browser/password_manager/android/BUILD.gn +++ b/chrome/browser/password_manager/android/BUILD.gn -@@ -119,8 +119,6 @@ android_library("java") { - ":android_backend_java_enums", +@@ -120,8 +120,6 @@ android_library("java") { ":java_resources", ":settings_interface_java", + ":utils_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", "account_storage_notice:java", "//base:base_java", "//build/android:build_java", -@@ -277,8 +275,6 @@ robolectric_binary("password_manager_junit_tests") { - ":settings_interface_java", +@@ -250,7 +248,6 @@ android_library("utils_java") { + ] + + deps = [ +- "$google_play_services_package:google_play_services_base_java", + "//chrome/browser/settings:factory_java", + "//components/browser_ui/settings/android:java", + ] +@@ -303,8 +300,6 @@ robolectric_binary("password_manager_junit_tests") { ":test_support_java", ":unified_password_manager_proto_java", + ":utils_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", "access_loss:junit", "account_storage_notice:junit", "add_username_dialog:junit", +diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java +--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java ++++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java +@@ -9,8 +9,6 @@ import android.content.Context; + import android.content.Intent; + import android.net.Uri; + +-import com.google.android.gms.common.GoogleApiAvailability; +- + /** Launches the UI through which the user can update Google Play Services/ */ + public class GmsUpdateLauncher { + // Referrer string for the Google Play Store when installing GMS Core package +@@ -22,30 +20,5 @@ public class GmsUpdateLauncher { + * @param context to start the new store Activity from. + */ + public static void launch(Context context) { +- Intent intent = new Intent(Intent.ACTION_VIEW); +- String deepLinkUrl = +- "market://details?id=" +- + GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE +- + "&referrer=" +- + STORE_REFERER; +- +- intent.setPackage("com.android.vending"); +- intent.setData(Uri.parse(deepLinkUrl)); +- intent.putExtra("callerId", context.getPackageName()); +- +- // Request for overlay flow, Play Store will fallback to the default +- // behaviour if overlay is not available. +- // TODO(crbug.com/40855336): Use AlleyOop v3 overlay UI after fixing Chrome restart +- // during the GMS Core installation. +- // intent.putExtra("overlay", true); +- try { +- context.startActivity(intent); +- } catch (ActivityNotFoundException e) { +- // In case that Google Play Store isn't present on the device, its activity could not +- // have been started. +- // TODO: b/334051261 - Instead of silently failing to open Google Play Store to offer +- // updating GMS Core, either don't offer the option at all or indicate why the update +- // button didn't work. +- } + } + } diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java @@ -986,53 +1037,16 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java -@@ -22,9 +22,6 @@ import androidx.annotation.Nullable; +@@ -21,8 +21,6 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.FragmentActivity; --import com.google.android.gms.common.GoogleApiAvailability; -import com.google.android.gms.common.api.ApiException; - import org.jni_zero.JniType; import org.jni_zero.NativeMethods; -@@ -436,34 +433,9 @@ public class PasswordManagerHelper { - } - - public static void launchGmsUpdate(Context context) { -- Intent intent = new Intent(Intent.ACTION_VIEW); -- String deepLinkUrl = -- "market://details?id=" -- + GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE -- + "&referrer=" -- + STORE_REFERER; -- -- intent.setPackage("com.android.vending"); -- intent.setData(Uri.parse(deepLinkUrl)); -- intent.putExtra("callerId", context.getPackageName()); -- -- // Request for overlay flow, Play Store will fallback to the default -- // behaviour if overlay is not available. -- // TODO(crbug.com/40855336): Use AlleyOop v3 overlay UI after fixing Chrome restart -- // during the GMS Core installation. -- // intent.putExtra("overlay", true); -- -- try { -- context.startActivity(intent); -- } catch (ActivityNotFoundException e) { -- // In case that Google Play Store isn't present on the device, its activity could not -- // have been started. -- // TODO: b/334051261 - Instead of silently failing to open Google Play Store to offer -- // updating GMS Core, either don't offer the option at all or indicate why the update -- // button didn't work. -- } - } - -+ - public void launchExportFlow(Context context) { - FragmentActivity activity = (FragmentActivity) ContextUtils.activityFromContext(context); - assert activity != null : "Context is expected to be a fragment activity"; -@@ -582,7 +554,7 @@ public class PasswordManagerHelper { +@@ -546,7 +544,7 @@ public class PasswordManagerHelper { CredentialManagerError.API_ERROR, CredentialManagerError.COUNT); @@ -1098,7 +1112,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc 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 -@@ -308,8 +308,6 @@ static_library("ui") { +@@ -253,8 +253,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -1107,7 +1121,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "webui/internals/internals_ui.cc", "webui/internals/internals_ui.h", "webui/interstitials/interstitial_ui.cc", -@@ -545,7 +543,6 @@ static_library("ui") { +@@ -518,7 +516,6 @@ static_library("ui") { "//components/find_in_page", "//components/fingerprinting_protection_filter/browser", "//components/flags_ui", @@ -1118,7 +1132,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -157,8 +157,6 @@ android_library("java") { +@@ -153,8 +153,6 @@ android_library("java") { deps = [ ":java_resources", @@ -1127,7 +1141,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr "//base:base_java", "//build/android:build_java", "//chrome/browser/android/lifecycle:java", -@@ -476,8 +474,6 @@ robolectric_library("junit") { +@@ -467,8 +465,6 @@ robolectric_library("junit") { deps = [ ":java", ":java_resources", @@ -1168,7 +1182,7 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc --- a/chrome/browser/ui/webauthn/sheet_models.cc +++ b/chrome/browser/ui/webauthn/sheet_models.cc -@@ -1554,16 +1554,9 @@ AuthenticatorMultiSourcePickerSheetModel:: +@@ -1518,16 +1518,9 @@ AuthenticatorMultiSourcePickerSheetModel:: bool AuthenticatorMultiSourcePickerSheetModel::IsManageDevicesButtonVisible() const { @@ -1197,8 +1211,8 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/internals/internals_ui.h" #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h" #include "chrome/browser/ui/webui/intro/intro_ui.h" -@@ -403,8 +402,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, - #endif +@@ -385,8 +384,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, + return &NewWebUI; if (url.host_piece() == chrome::kChromeUIDeviceLogHost) return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIGCMInternalsHost) @@ -1234,10 +1248,10 @@ diff --git a/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browse import org.chromium.chrome.modules.cablev2_authenticator.Cablev2AuthenticatorModule; import org.chromium.components.externalauth.ExternalAuthUtils; -import org.chromium.components.webauthn.Fido2ApiCall; - import org.chromium.device.DeviceFeatureList; - import org.chromium.device.DeviceFeatureMap; -@@ -291,37 +288,7 @@ public class CableAuthenticatorModuleProvider extends Fragment implements OnClic + /** + * Provides a UI that attempts to install the caBLEv2 Authenticator module. If already installed, or +@@ -285,37 +282,7 @@ public class CableAuthenticatorModuleProvider extends Fragment implements OnClic ok = false; } @@ -1276,20 +1290,6 @@ diff --git a/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browse } @NativeMethods -diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chrome/browser/webauthn/authenticator_request_dialog_model.cc ---- a/chrome/browser/webauthn/authenticator_request_dialog_model.cc -+++ b/chrome/browser/webauthn/authenticator_request_dialog_model.cc -@@ -2257,10 +2257,6 @@ void AuthenticatorRequestDialogController::PopulateMechanisms() { - if (model_->cable_ui_type) { - switch (*model_->cable_ui_type) { - case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR: -- if (base::Contains(transport_availability_.available_transports, -- kCable)) { -- include_add_phone_option = !windows_handles_hybrid; -- } - break; - - case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_SERVER_LINK: diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauthn/cablev2_devices.cc --- a/chrome/browser/webauthn/cablev2_devices.cc +++ b/chrome/browser/webauthn/cablev2_devices.cc @@ -1306,7 +1306,7 @@ diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauth diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn --- a/chrome/test/android/BUILD.gn +++ b/chrome/test/android/BUILD.gn -@@ -338,8 +338,6 @@ android_library("chrome_java_integration_test_support") { +@@ -346,8 +346,6 @@ android_library("chrome_java_integration_test_support") { deps = [ ":chrome_java_test_support_common", @@ -1318,7 +1318,7 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -2588,14 +2588,6 @@ public class ExternalNavigationHandler { +@@ -2560,14 +2560,6 @@ public class ExternalNavigationHandler { * @return Whether the given intent is going to open an Instant App. */ private static boolean isIntentToInstantApp(Intent intent) { @@ -3111,7 +3111,7 @@ diff --git a/components/media_router/test/android/cast_emulator/BUILD.gn b/compo diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn --- a/components/module_installer/android/BUILD.gn +++ b/components/module_installer/android/BUILD.gn -@@ -34,10 +34,8 @@ android_library("module_installer_java") { +@@ -28,10 +28,8 @@ android_library("module_installer_java") { ] deps = [ @@ -3122,7 +3122,7 @@ diff --git a/components/module_installer/android/BUILD.gn b/components/module_in "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", ] -@@ -58,11 +56,9 @@ robolectric_binary("module_installer_junit_tests") { +@@ -49,11 +47,9 @@ robolectric_binary("module_installer_junit_tests") { ] deps = [ ":module_installer_java", @@ -3145,8 +3145,8 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi - "$google_play_services_package:google_play_services_base_java", "//base:base_cached_flags_java", "//base:base_java", - "//build/android:build_java", -@@ -190,7 +188,6 @@ robolectric_library("junit") { + "//base:service_loader_java", +@@ -191,7 +189,6 @@ robolectric_library("junit") { deps = [ ":java", ":signin_java_test_support", @@ -3321,8 +3321,8 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut - this::onIsUserVerifyingPlatformAuthenticatorAvailableResponse); } - /** -@@ -263,14 +218,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon + @Override +@@ -268,14 +223,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon callback.onResponse(new ArrayList()); return; } @@ -3337,7 +3337,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -282,14 +229,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -287,14 +234,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon callback.call(false); return; } @@ -3352,7 +3352,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -301,8 +240,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -306,8 +245,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon if (!mIsOperationPending || mGetAssertionCallback == null) { return; } @@ -3361,7 +3361,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** Callbacks for receiving responses from the internal handlers. */ -@@ -347,7 +284,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -352,7 +289,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon } else if (mGetAssertionCallback != null) { mGetAssertionCallback.call(status, null, null); } @@ -3369,7 +3369,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut cleanupRequest(); } -@@ -355,13 +291,10 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -360,13 +296,10 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon mIsOperationPending = false; mMakeCredentialCallback = null; mGetAssertionCallback = null; @@ -3519,7 +3519,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut if (responseSerialized == null) { Log.e( TAG, -@@ -399,8 +395,7 @@ public class CredManHelper { +@@ -401,8 +397,7 @@ public class CredManHelper { data.getString( CRED_MAN_PREFIX + "BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON"); @@ -3529,7 +3529,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut if (responseSerialized == null) { Log.e( TAG, -@@ -549,8 +544,7 @@ public class CredManHelper { +@@ -553,8 +548,7 @@ public class CredManHelper { boolean requestPasswords, boolean preferImmediatelyAvailable, boolean ignoreGpm) { @@ -3697,7 +3697,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -3582,10 +3582,6 @@ if (is_android) { +@@ -3632,10 +3632,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3776,7 +3776,7 @@ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn -@@ -90,22 +90,13 @@ if (!limit_android_deps) { +@@ -89,22 +89,13 @@ if (!limit_android_deps) { android_library("chromium_play_services_availability_java") { sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ] @@ -3799,40 +3799,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } } - # TODO(crbug.com/1366370) Remove this once all depencencies are updated to -@@ -545,28 +536,6 @@ if (!limit_android_deps) { + # The section below is generated by running +@@ -314,255 +305,6 @@ if (!limit_android_deps) { + "//third_party/hamcrest:hamcrest_core_java", + "//third_party/hamcrest:hamcrest_library_java", ] - } - -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- android_aar_prebuilt("com_android_support_support_core_ui_java") { -- aar_path = "cipd/libs/com_android_support_support_core_ui/support-core-ui-28.0.0.aar" -- info_path = "libs/com_android_support_support_core_ui/com_android_support_support_core_ui.info" -- enable_bytecode_checks = false -- deps = [ -- ":com_android_support_asynclayoutinflater_java", -- ":com_android_support_coordinatorlayout_java", -- ":com_android_support_cursoradapter_java", -- ":com_android_support_customview_java", -- ":com_android_support_drawerlayout_java", -- ":com_android_support_interpolator_java", -- ":com_android_support_slidingpanelayout_java", -- ":com_android_support_support_annotations_java", -- ":com_android_support_support_compat_java", -- ":com_android_support_support_core_utils_java", -- ":com_android_support_swiperefreshlayout_java", -- ":com_android_support_viewpager_java", -- ] -- resource_overlay = true - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt( - "com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_java") { -@@ -588,252 +557,6 @@ if (!limit_android_deps) { - ] - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_auth_java") { @@ -4079,10 +4052,11 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(material_design_target)) { android_aar_prebuilt("com_google_android_material_material_java") { -@@ -881,74 +604,6 @@ if (!limit_android_deps) { + aar_path = "cipd/libs/com_google_android_material_material/material-1.11.0-beta01.aar" +@@ -609,24 +351,6 @@ if (!limit_android_deps) { } } @@ -4104,6 +4078,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - } - + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. + if (!defined(dagger_java_target)) { + java_prebuilt("com_google_dagger_dagger_java") { +@@ -667,56 +391,6 @@ if (!limit_android_deps) { + ] + } + - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_iid_java") { @@ -4157,7 +4138,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(guava_android_target)) { java_prebuilt("com_google_guava_guava_android_java") { -@@ -1065,20 +720,6 @@ if (!limit_android_deps) { +@@ -842,20 +516,6 @@ if (!limit_android_deps) { requires_android = true } @@ -4178,30 +4159,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("io_grpc_grpc_context_java") { jar_path = "cipd/libs/io_grpc_grpc_context/grpc-context-1.49.0.jar" -@@ -1709,377 +1350,6 @@ if (!limit_android_deps) { - "androidx/*", +@@ -1123,357 +783,6 @@ if (!limit_android_deps) { + "//third_party/androidx:androidx_test_monitor_java", ] - } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- android_aar_prebuilt("com_android_support_viewpager_java") { -- aar_path = "cipd/libs/com_android_support_viewpager/viewpager-28.0.0.aar" -- info_path = -- "libs/com_android_support_viewpager/com_android_support_viewpager.info" -- enable_bytecode_checks = false -- -- # To remove visibility constraint, add this dependency to -- # //third_party/android_deps/build.gradle. -- visibility = [ -- ":*", -- "//third_party/androidx:*", -- ] -- deps = [ -- ":com_android_support_customview_java", -- ":com_android_support_support_annotations_java", -- ":com_android_support_support_compat_java", -- ] -- resource_overlay = true + is_robolectric = true - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -4556,8 +4517,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_squareup_javawriter_java") { jar_path = "cipd/libs/com_squareup_javawriter/javawriter-2.1.1.jar" -@@ -2133,33 +1403,6 @@ if (!limit_android_deps) { - deps = [ "//third_party/kotlin_stdlib:kotlin_stdlib_java" ] +@@ -1510,33 +819,6 @@ if (!limit_android_deps) { + ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -4590,7 +4551,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("io_perfmark_perfmark_api_java") { jar_path = "cipd/libs/io_perfmark_perfmark_api/perfmark-api-0.25.0.jar" -@@ -2383,7 +1626,6 @@ if (!limit_android_deps) { +@@ -1775,7 +1057,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ @@ -4598,7 +4559,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. ":org_robolectric_pluginapi_java", ":org_robolectric_utils_java", "//third_party/android_deps:guava_android_java", -@@ -2405,7 +1647,6 @@ if (!limit_android_deps) { +@@ -1797,7 +1078,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ @@ -4606,7 +4567,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. ":org_robolectric_annotations_java", ":org_robolectric_pluginapi_java", ":org_robolectric_utils_java", -@@ -2475,7 +1716,6 @@ if (!limit_android_deps) { +@@ -1867,7 +1147,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch index 2c55159c..5d281f2e 100644 --- a/build/patches/Remove-detection-of-captive-portals.patch +++ b/build/patches/Remove-detection-of-captive-portals.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -389,7 +389,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( +@@ -400,7 +400,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( void ProfileNetworkContextService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled, diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index 60e0a05c..728ed151 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.patch @@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -155,9 +155,6 @@ found in the LICENSE file. +@@ -149,9 +149,6 @@ found in the LICENSE file. @@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu 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 -@@ -2581,15 +2581,6 @@ public abstract class ChromeActivity +@@ -2510,15 +2510,6 @@ public abstract class ChromeActivity final Tab currentTab = getActivityTab(); @@ -85,7 +85,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/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java -@@ -102,6 +102,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -110,6 +110,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); help.setIcon(R.drawable.ic_help_and_feedback); @@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java -@@ -113,6 +113,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment +@@ -121,6 +121,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); help.setIcon(R.drawable.ic_help_and_feedback); @@ -107,7 +107,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java -@@ -885,6 +885,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -896,6 +896,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); @@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -757,7 +757,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity kSegmentationSurveyInternalsPage{ + &kSegmentationSurveyPage, "survey_internals_page", /*default_value=*/true}; +SET_CROMITE_FEATURE_DISABLED(kSegmentationPlatformFeature); +SET_CROMITE_FEATURE_DISABLED(kSegmentationPlatformFeedSegmentFeature); diff --git a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch index b4e59e9c..9a4269e1 100644 --- a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch +++ b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch @@ -247,12 +247,12 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc --- a/third_party/blink/renderer/core/timing/window_performance.cc +++ b/third_party/blink/renderer/core/timing/window_performance.cc -@@ -262,7 +262,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { +@@ -263,7 +263,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { + const bool is_locked_to_site = Platform::Current()->IsLockedToSite(); auto* memory_info = MakeGarbageCollected( - Platform::Current()->IsLockedToSite() - ? MemoryInfo::Precision::kPrecise -- : MemoryInfo::Precision::kBucketized); -+ : MemoryInfo::Precision::kPrecise); + is_locked_to_site ? MemoryInfo::Precision::kPrecise +- : MemoryInfo::Precision::kBucketized); ++ : MemoryInfo::Precision::kPrecise); // Record Web Memory UKM. const uint64_t kBytesInKB = 1024; auto* execution_context = ExecutionContext::From(script_state); diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index 3ad66c13..8347101a 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -843,12 +821,6 @@ public class NewTabPage +@@ -840,12 +818,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -97,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -859,11 +831,6 @@ public class NewTabPage +@@ -856,11 +828,6 @@ public class NewTabPage } } @@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. /** Adds an observer to be notified on most visited tile clicks. */ public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) { mMostVisitedTileClickObservers.addObserver(observer); -@@ -977,9 +944,6 @@ public class NewTabPage +@@ -974,9 +941,6 @@ public class NewTabPage } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -2448,10 +2447,6 @@ public class ToolbarManager +@@ -2443,10 +2442,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } @@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/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 -@@ -99,8 +99,6 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; +@@ -100,8 +100,6 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; @@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; -@@ -142,7 +140,6 @@ import org.chromium.chrome.browser.theme.TopUiThemeColorProvider; +@@ -145,7 +143,6 @@ import org.chromium.chrome.browser.theme.TopUiThemeColorProvider; import org.chromium.chrome.browser.toolbar.ButtonDataProvider; import org.chromium.chrome.browser.toolbar.ToolbarIntentMetadata; import org.chromium.chrome.browser.toolbar.ToolbarManager; @@ -217,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveButtonActionMenuCoordinator; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarButtonController; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarButtonVariant; -@@ -307,7 +304,6 @@ public class RootUiCoordinator +@@ -310,7 +307,6 @@ public class RootUiCoordinator private LayoutManagerImpl mLayoutManager; protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); @@ -225,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -@@ -663,9 +659,6 @@ public class RootUiCoordinator +@@ -647,9 +643,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1452,39 +1445,12 @@ public class RootUiCoordinator +@@ -1456,39 +1449,12 @@ public class RootUiCoordinator () -> mToolbarManager.setUrlBarFocus( false, OmniboxFocusReason.UNFOCUS)); @@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi OptionalNewTabButtonController newTabButtonController = new OptionalNewTabButtonController( mActivity, -@@ -1513,8 +1479,6 @@ public class RootUiCoordinator +@@ -1536,8 +1502,6 @@ public class RootUiCoordinator AdaptiveToolbarButtonVariant.NEW_TAB, newTabButtonController); adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.SHARE, shareButtonController); @@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.ADD_TO_BOOKMARKS, addToBookmarksToolbarButtonController); -@@ -1633,13 +1597,6 @@ public class RootUiCoordinator +@@ -1657,13 +1621,6 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -301,7 +301,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -147,7 +147,6 @@ android_library("java") { +@@ -143,7 +143,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", @@ -439,7 +439,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -413,11 +404,6 @@ class LocationBarMediator +@@ -415,11 +406,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -451,7 +451,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -681,10 +667,6 @@ class LocationBarMediator +@@ -683,10 +669,6 @@ class LocationBarMediator // Hide keyboard before launch voice search to avoid keyboard action announcement in // TalkBack to be picked up by voice search. mUrlCoordinator.setKeyboardVisibility(false, false); @@ -462,7 +462,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ -@@ -1158,10 +1140,7 @@ class LocationBarMediator +@@ -1161,10 +1143,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; @@ -474,7 +474,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1178,6 +1157,7 @@ class LocationBarMediator +@@ -1181,6 +1160,7 @@ class LocationBarMediator } private boolean shouldShowLensButton() { @@ -482,7 +482,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (shouldShowDeleteButton()) return false; // When this method is called on UI inflation, return false as the native is not ready. -@@ -1396,11 +1376,6 @@ class LocationBarMediator +@@ -1399,11 +1379,6 @@ class LocationBarMediator } } @@ -494,7 +494,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1416,31 +1391,13 @@ class LocationBarMediator +@@ -1419,31 +1394,13 @@ class LocationBarMediator return mUrlHasFocus; } @@ -528,7 +528,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; -@@ -1463,20 +1420,6 @@ class LocationBarMediator +@@ -1466,20 +1423,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -586,7 +586,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.omnibox.AutocompleteMatch; -@@ -335,25 +334,6 @@ public class AutocompleteController { +@@ -343,25 +342,6 @@ public class AutocompleteController { mNativeController, match.getNativeObjectRef(), matchIndex, webContents); } @@ -612,7 +612,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** * Updates searchbox stats parameters on the selected match that we will navigate to and * returns the updated URL. -@@ -501,11 +481,6 @@ public class AutocompleteController { +@@ -510,11 +490,6 @@ public class AutocompleteController { Tab getMatchingTabForSuggestion( long nativeAutocompleteControllerAndroid, long nativeAutocompleteMatch); @@ -660,7 +660,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -484,13 +483,6 @@ class AutocompleteMediator +@@ -486,13 +485,6 @@ class AutocompleteMediator mShouldPreventOmniboxAutocomplete = prevent; } diff --git a/build/patches/Remove-window-name-on-cross-origin-navigation.patch b/build/patches/Remove-window-name-on-cross-origin-navigation.patch index 0e7f1d12..668fed97 100644 --- a/build/patches/Remove-window-name-on-cross-origin-navigation.patch +++ b/build/patches/Remove-window-name-on-cross-origin-navigation.patch @@ -21,7 +21,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2858,7 +2858,7 @@ void DocumentLoader::CommitNavigation() { +@@ -2867,7 +2867,7 @@ void DocumentLoader::CommitNavigation() { // that the name would be nulled and if the name is accessed after we will // fire a UseCounter. If we decide to move forward with this change, we'd // actually clean the name here. @@ -30,7 +30,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p frame_->Tree().ExperimentalSetNulledName(); } -@@ -2869,6 +2869,7 @@ void DocumentLoader::CommitNavigation() { +@@ -2878,6 +2878,7 @@ void DocumentLoader::CommitNavigation() { // TODO(shuuran): CrossSiteCrossBrowsingContextGroupSetNulledName will just // record the fact that the name would be nulled and if the name is accessed // after we will fire a UseCounter. diff --git a/build/patches/Restore-LastTabStandingTracker.patch b/build/patches/Restore-LastTabStandingTracker.patch index 93bc1240..f35b209d 100644 --- a/build/patches/Restore-LastTabStandingTracker.patch +++ b/build/patches/Restore-LastTabStandingTracker.patch @@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1785,6 +1785,16 @@ static_library("browser") { +@@ -1749,6 +1749,16 @@ static_library("browser") { "webid/identity_provider_permission_request.h", ] @@ -381,7 +381,7 @@ new file mode 100644 diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -120,6 +120,7 @@ +@@ -122,6 +122,7 @@ #include "chrome/browser/password_manager/password_reuse_manager_factory.h" #include "chrome/browser/password_manager/profile_password_store_factory.h" #include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h" @@ -389,7 +389,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/permissions/notifications_engagement_service_factory.h" #include "chrome/browser/permissions/one_time_permissions_tracker_factory.h" #include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h" -@@ -1025,6 +1026,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1048,6 +1049,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) OnDeviceTailModelServiceFactory::GetInstance(); #endif @@ -400,7 +400,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -55,6 +55,7 @@ +@@ -54,6 +54,7 @@ #include "chrome/browser/page_info/page_info_features.h" #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" #include "chrome/browser/password_manager/chrome_password_manager_client.h" @@ -408,7 +408,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/permissions/one_time_permissions_tracker_helper.h" #include "chrome/browser/predictors/loading_predictor_factory.h" #include "chrome/browser/predictors/loading_predictor_tab_helper.h" -@@ -425,6 +426,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -430,6 +431,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { HistoryEmbeddingsTabHelper::CreateForWebContents(web_contents); HttpsOnlyModeTabHelper::CreateForWebContents(web_contents); webapps::InstallableManager::CreateForWebContents(web_contents); diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch index ca482779..57b9fce1 100644 --- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -287,6 +287,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -290,6 +290,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReaderModeInCCT, &kRecordSuppressionMetrics, &kReengagementNotification, @@ -34,7 +34,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 -@@ -359,6 +359,7 @@ public abstract class ChromeFeatureList { +@@ -365,6 +365,7 @@ public abstract class ChromeFeatureList { public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION = "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked"; @@ -53,7 +53,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.base.supplier.Supplier; import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider; import org.chromium.chrome.browser.omnibox.styles.OmniboxImageSupplier; -@@ -49,6 +50,7 @@ class DropdownItemViewInfoListBuilder { +@@ -48,6 +49,7 @@ class DropdownItemViewInfoListBuilder { private @Nullable Supplier mShareDelegateSupplier; private @NonNull Optional mImageSupplier; private @NonNull BookmarkState mBookmarkState; @@ -61,7 +61,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow DropdownItemViewInfoListBuilder( @NonNull Supplier tabSupplier, @NonNull BookmarkState bookmarkState) { -@@ -81,9 +83,11 @@ class DropdownItemViewInfoListBuilder { +@@ -80,9 +82,11 @@ class DropdownItemViewInfoListBuilder { mGroupSeparatorProcessor = new GroupSeparatorProcessor(context); mHeaderProcessor = new HeaderProcessor(context); @@ -75,7 +75,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow registerSuggestionProcessor( new AnswerSuggestionProcessor(context, host, textProvider, mImageSupplier)); registerSuggestionProcessor( -@@ -170,6 +174,9 @@ class DropdownItemViewInfoListBuilder { +@@ -168,6 +172,9 @@ class DropdownItemViewInfoListBuilder { mHeaderProcessor.onNativeInitialized(); mImageSupplier.ifPresent(s -> s.onNativeInitialized()); diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch index df63bcfe..62690515 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/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 -@@ -55,6 +55,7 @@ import org.chromium.chrome.browser.sync.settings.SyncPromoPreference; +@@ -57,6 +57,7 @@ import org.chromium.chrome.browser.sync.settings.SyncPromoPreference; import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils; import org.chromium.chrome.browser.tab_group_sync.TabGroupSyncFeatures; import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities; @@ -32,7 +32,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarStatePredictor; import org.chromium.chrome.browser.tracing.settings.DeveloperSettings; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; -@@ -271,7 +272,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -284,7 +285,7 @@ public class MainSettings extends ChromeBaseSettingsFragment uiState -> { // We don't show the toolbar shortcut settings page if disabled from // finch. @@ -55,7 +55,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js + "expiry_milestone": -1 }, { - "name": "adaptive-button-in-top-toolbar-translate", + "name": "adaptive-button-in-top-toolbar-page-summary", 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 @@ -67,8 +67,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse + "AdaptiveButtonInTopToolbar", + base::FEATURE_ENABLED_BY_DEFAULT); + - BASE_FEATURE(kAdaptiveButtonInTopToolbarTranslate, - "AdaptiveButtonInTopToolbarTranslate", + BASE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2, + "AdaptiveButtonInTopToolbarCustomizationV2", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java @@ -78,9 +78,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f "AccountReauthenticationRecentTimeWindow"; public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates"; + public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar"; - public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE = - "AdaptiveButtonInTopToolbarTranslate"; - public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS = + public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = + "AdaptiveButtonInTopToolbarPageSummary"; + public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java @@ -123,7 +123,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** Finch default group for new tab variation. */ static final String NEW_TAB = "new-tab"; -@@ -48,6 +58,7 @@ public class AdaptiveToolbarFeatures { +@@ -51,6 +61,7 @@ public class AdaptiveToolbarFeatures { @AdaptiveToolbarButtonVariant private static Integer sButtonVariant; /** For testing only. */ @@ -131,7 +131,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow private static String sDefaultSegmentForTesting; private static HashMap sActionChipOverridesForTesting; -@@ -79,6 +90,21 @@ public class AdaptiveToolbarFeatures { +@@ -83,6 +94,21 @@ public class AdaptiveToolbarFeatures { return false; } @@ -153,7 +153,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * Returns whether the adaptive toolbar is enabled with segmentation and customization. * -@@ -204,6 +230,42 @@ public class AdaptiveToolbarFeatures { +@@ -214,6 +240,42 @@ public class AdaptiveToolbarFeatures { return segmentationResults.get(0); } @@ -196,7 +196,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * Returns the default variant to be shown in segmentation experiment when the backend results * are unavailable or not configured. -@@ -211,6 +273,7 @@ public class AdaptiveToolbarFeatures { +@@ -221,6 +283,7 @@ public class AdaptiveToolbarFeatures { * @param context @{@link Context} to determine form-factor. */ static @AdaptiveToolbarButtonVariant int getSegmentationDefault(Context context) { diff --git a/build/patches/Restore-chrome-password-store.patch b/build/patches/Restore-chrome-password-store.patch index 5f1818f1..8c431276 100644 --- a/build/patches/Restore-chrome-password-store.patch +++ b/build/patches/Restore-chrome-password-store.patch @@ -32,7 +32,7 @@ diff --git a/chrome/browser/resources/password_manager/user_utils_mixin.ts b/chr 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 -@@ -714,7 +714,7 @@ For more settings that use data to improve your Chrome experience, go to diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch index 9a41d042..f67a8c8b 100644 --- a/build/patches/Restore-offline-indicator-v2-flag.patch +++ b/build/patches/Restore-offline-indicator-v2-flag.patch @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1062,7 +1062,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1075,7 +1075,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { private void initStatusIndicatorCoordinator(LayoutManagerImpl layoutManager) { // TODO(crbug.com/40112282): Disable on tablets for now as we need to do one or two extra // things for tablets. @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab return; } -@@ -1096,6 +1097,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1109,6 +1110,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight); }); @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -269,6 +269,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -272,6 +272,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNewTabPageAndroidTriggerForPrerender2, &kNotificationPermissionVariant, &kNotificationPermissionBottomSheet, @@ -128,7 +128,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -376,6 +376,7 @@ public abstract class ChromeFeatureList { +@@ -382,6 +382,7 @@ public abstract class ChromeFeatureList { public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; diff --git a/build/patches/Revert-Permit-blocking-of-view-source.patch b/build/patches/Revert-Permit-blocking-of-view-source.patch index 10cfc59a..ab8df6b8 100644 --- a/build/patches/Revert-Permit-blocking-of-view-source.patch +++ b/build/patches/Revert-Permit-blocking-of-view-source.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/policy/content/policy_blocklist_navigation_throttle.cc b/components/policy/content/policy_blocklist_navigation_throttle.cc --- a/components/policy/content/policy_blocklist_navigation_throttle.cc +++ b/components/policy/content/policy_blocklist_navigation_throttle.cc -@@ -50,6 +50,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() { +@@ -63,6 +63,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() { } bool PolicyBlocklistNavigationThrottle::IsBlockedViewSourceNavigation() { diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch index 6963e458..ef04ec04 100644 --- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch +++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -2157,6 +2157,10 @@ +@@ -2206,6 +2206,10 @@ "yangsharon@google.com", "alexmos@google.com", "creis@google.com" ], "expiry_milestone": 140 }, diff --git a/build/patches/Revert-removal-of-execution-context-address-space.patch b/build/patches/Revert-removal-of-execution-context-address-space.patch index f9031679..42f12036 100644 --- a/build/patches/Revert-removal-of-execution-context-address-space.patch +++ b/build/patches/Revert-removal-of-execution-context-address-space.patch @@ -100,7 +100,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context + network::mojom::IPAddressSpace AddressSpace() const; + void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); + - HeapObserverSet& ContextLifecycleObserverSet(); + HeapObserverList& ContextLifecycleObserverSet(); unsigned ContextLifecycleStateObserverCountForTesting() const; diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc @@ -171,7 +171,7 @@ diff --git a/third_party/blink/renderer/core/frame/policy_container.h b/third_pa diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc --- a/third_party/blink/renderer/core/frame/web_frame_test.cc +++ b/third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -8094,6 +8094,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { +@@ -8093,6 +8093,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { EXPECT_EQ(client.StopLoadingCount(), 2); } @@ -625,7 +625,7 @@ diff --git a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_ /*parent_devtools_token=*/ client_provided_global_scope_creation_params->devtools_token, /*worker_settings=*/nullptr, -@@ -143,6 +145,7 @@ void ThreadedWorkletMessagingProxy::Initialize( +@@ -144,6 +146,7 @@ void ThreadedWorkletMessagingProxy::Initialize( window->GetReferrerPolicy(), window->GetSecurityOrigin(), window->IsSecureContext(), window->GetHttpsState(), worker_clients, frame_client->CreateWorkerContentSettingsClient(), @@ -805,7 +805,7 @@ diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_imp diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc --- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc +++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc -@@ -476,6 +476,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -481,6 +481,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( // is set, and with the following callback steps given evaluationStatus:" RunClassicScript( classic_script_loader->ResponseURL(), referrer_policy, @@ -813,7 +813,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl classic_script_loader->GetContentSecurityPolicy() ? mojo::Clone(classic_script_loader->GetContentSecurityPolicy() ->GetParsedPolicies()) -@@ -489,6 +490,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -494,6 +495,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( void ServiceWorkerGlobalScope::Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -821,7 +821,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl Vector response_csp, const Vector* response_origin_trial_tokens) { // Step 4.5. "Set workerGlobalScope's url to serviceWorker's script url." -@@ -502,6 +504,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -507,6 +509,9 @@ void ServiceWorkerGlobalScope::Initialize( // script resource's referrer policy." SetReferrerPolicy(response_referrer_policy); @@ -831,7 +831,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl // This is quoted from the "Content Security Policy" algorithm in the service // workers spec: // "Whenever a user agent invokes Run Service Worker algorithm with a service -@@ -512,6 +517,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -517,6 +522,9 @@ void ServiceWorkerGlobalScope::Initialize( // - If serviceWorker's script resource was delivered with a // Content-Security-Policy-Report-Only HTTP header containing the value // policy, the user agent must monitor policy for serviceWorker." @@ -841,7 +841,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl InitContentSecurityPolicyFromVector(std::move(response_csp)); BindContentSecurityPolicyToExecutionContext(); -@@ -552,26 +560,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( +@@ -557,26 +565,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( kDoNotSupportReferrerPolicyLegacyKeywords, &referrer_policy); } @@ -888,7 +888,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl Vector response_csp, const Vector* response_origin_trial_tokens) override; // Fetches and runs the top-level classic worker script. -@@ -399,6 +400,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final +@@ -402,6 +403,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final void RunClassicScript( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, diff --git a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch index ca9ca077..7f383ccb 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -81,7 +81,7 @@ diff --git a/chrome/renderer/worker_content_settings_client.h b/chrome/renderer/ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -168,7 +168,7 @@ void ContentSettingsAgentImpl::DidCommitProvisionalLoad( +@@ -166,7 +166,7 @@ void ContentSettingsAgentImpl::DidCommitProvisionalLoad( // `allowPlugins()` is called for the new page so that these functions can // correctly detect that a piece of content flipped from "not blocked" to // "blocked". @@ -90,7 +90,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); if (frame->Parent()) -@@ -351,6 +351,41 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings, +@@ -349,6 +349,41 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings, return allow; } @@ -132,18 +132,18 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc bool ContentSettingsAgentImpl::AllowReadFromClipboard() { return delegate_->AllowReadFromClipboard(); } -@@ -409,6 +444,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() { +@@ -407,6 +442,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() { void ContentSettingsAgentImpl::ClearBlockedContentSettings() { content_blocked_.clear(); cached_storage_permissions_.clear(); + cached_script_permissions_.clear(); } - bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const { + } // namespace content_settings diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h --- a/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h -@@ -93,6 +93,9 @@ class ContentSettingsAgentImpl +@@ -90,6 +90,9 @@ class ContentSettingsAgentImpl bool AllowStorageAccessSync(StorageType type) override; bool AllowImage(bool enabled_per_settings, const blink::WebURL& image_url) override; @@ -153,16 +153,16 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h bool AllowReadFromClipboard() override; bool AllowWriteToClipboard() override; bool AllowMutationEvents(bool default_value) override; -@@ -163,6 +166,9 @@ class ContentSettingsAgentImpl +@@ -155,6 +158,9 @@ class ContentSettingsAgentImpl using StoragePermissionsKey = std::pair; base::flat_map cached_storage_permissions_; + // Caches the result of AllowScript. + base::flat_map cached_script_permissions_; + - // If true, IsAllowlistedForContentSettings will always return true. - const bool should_allowlist_; + std::unique_ptr delegate_; + mojo::AssociatedReceiverSet receivers_; diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h --- a/third_party/blink/public/platform/web_content_settings_client.h +++ b/third_party/blink/public/platform/web_content_settings_client.h @@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p #include "third_party/blink/renderer/bindings/core/v8/binding_security.h" #include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h" #include "third_party/blink/renderer/bindings/core/v8/isolated_world_csp.h" -@@ -485,7 +486,10 @@ bool LocalDOMWindow::CanExecuteScripts( +@@ -487,7 +488,10 @@ bool LocalDOMWindow::CanExecuteScripts( } return false; } @@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -4040,19 +4040,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4055,19 +4055,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -250,7 +250,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_party/blink/renderer/core/html/html_meta_element.cc --- a/third_party/blink/renderer/core/html/html_meta_element.cc +++ b/third_party/blink/renderer/core/html/html_meta_element.cc -@@ -790,7 +790,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, +@@ -787,7 +787,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, return; } @@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -508,7 +508,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -518,7 +518,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( // Check if |url| is allowed to run JavaScript. If not, client hints are not // attached to the requests that initiate on the render side. @@ -298,7 +298,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi return; } -@@ -851,15 +852,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { +@@ -911,15 +912,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { request.SetSiteForCookies(GetSiteForCookies()); } @@ -354,7 +354,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir static ResourceFetcher* CreateFetcherForCommittedDocument(DocumentLoader&, Document&); FrameFetchContext(DocumentLoader& document_loader, -@@ -158,7 +169,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -165,7 +176,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, // BaseFetchContext overrides: net::SiteForCookies GetSiteForCookies() const override; SubresourceFilter* GetSubresourceFilter() const override; diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index 96706899..e071c8da 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -94,7 +94,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -2188,6 +2188,8 @@ public class ChromeTabbedActivity extends ChromeActivity callback) override; bool AllowStorageAccessSync(StorageType type) override; @@ -323,7 +323,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -4027,19 +4027,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4042,19 +4042,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -381,7 +381,7 @@ diff --git a/third_party/blink/renderer/core/html/image_document.cc b/third_part diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -303,6 +303,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( +@@ -304,6 +304,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( fetcher->SetResourceLoadObserver( MakeGarbageCollected( loader, document, fetcher->GetProperties())); @@ -389,7 +389,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi fetcher->SetAutoLoadImages( frame->GetSettings()->GetLoadsImagesAutomatically()); fetcher->SetEarlyHintsPreloadedResources( -@@ -475,16 +476,11 @@ void FrameFetchContext::AddResourceTiming( +@@ -485,16 +486,11 @@ void FrameFetchContext::AddResourceTiming( ->AddResourceTiming(std::move(info), initiator_type); } @@ -419,12 +419,12 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir - bool AllowImage() const override; + bool AllowImage(bool images_enabled, const KURL&) const override; - void PopulateResourceRequest(ResourceType, - const std::optional resource_width, + void PopulateResourceRequestBeforeCacheAccess( + const ResourceLoaderOptions& options, diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -988,9 +988,8 @@ void Page::SettingsChanged(ChangeType change_type) { +@@ -1030,9 +1030,8 @@ void Page::SettingsChanged(ChangeType change_type) { for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { if (auto* local_frame = DynamicTo(frame)) { @@ -451,7 +451,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h b/ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -777,6 +777,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) +@@ -790,6 +790,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) blob_registry_remote_(init.context_lifecycle_notifier), context_lifecycle_notifier_(init.context_lifecycle_notifier), auto_load_images_(true), @@ -459,7 +459,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c allow_stale_resources_(false), image_fetched_(false), transparent_image_optimization_enabled_(base::FeatureList::IsEnabled( -@@ -1925,7 +1926,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( +@@ -1920,7 +1921,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( if (existing_resource.GetType() != ResourceType::kImage) return false; @@ -468,7 +468,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2168,8 +2169,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2163,8 +2164,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } @@ -501,7 +501,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h FetchContext& Context() const; void ClearContext(); -@@ -692,6 +693,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -686,6 +687,7 @@ class PLATFORM_EXPORT ResourceFetcher // 27 bits left bool auto_load_images_ : 1; diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch index a5bf6e48..1c006fff 100644 --- a/build/patches/Switch-to-fstack-protector-strong.patch +++ b/build/patches/Switch-to-fstack-protector-strong.patch @@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -368,7 +368,7 @@ config("compiler") { +@@ -371,7 +371,7 @@ config("compiler") { } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) { if (current_os != "aix") { # Not available on aix. diff --git a/build/patches/Temp-disable-experimental-web-platform-features.patch b/build/patches/Temp-disable-experimental-web-platform-features.patch index c406eac6..f1e03b54 100644 --- a/build/patches/Temp-disable-experimental-web-platform-features.patch +++ b/build/patches/Temp-disable-experimental-web-platform-features.patch @@ -9,7 +9,7 @@ Subject: Temp disable experimental-web-platform-features diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -4426,10 +4426,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4451,10 +4451,10 @@ const FeatureEntry kFeatureEntries[] = { {"enable-fontations-backend", flag_descriptions::kFontationsFontBackendName, flag_descriptions::kFontationsFontBackendDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kFontationsFontBackend)}, diff --git a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch index 8b137dcd..b5d2a517 100644 --- a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch +++ b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch @@ -10,7 +10,7 @@ Subject: Temp guard FileSystemAccessPersistentPermissions diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -402,7 +402,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& path, +@@ -419,7 +419,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& path, BlockType nearest_ancestor_block_type = kDontBlockChildren; for (const auto& block : rules) { if (check_path == block.path || check_path.IsParent(block.path)) { @@ -19,7 +19,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss << " because it is a parent of " << block.path; return true; } -@@ -429,7 +429,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& path, +@@ -446,7 +446,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& path, } // The nearest ancestor blocks access to its children, so block access. @@ -31,7 +31,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss diff --git a/chrome/browser/file_system_access/file_system_access_features.cc b/chrome/browser/file_system_access/file_system_access_features.cc --- a/chrome/browser/file_system_access/file_system_access_features.cc +++ b/chrome/browser/file_system_access/file_system_access_features.cc -@@ -34,4 +34,8 @@ BASE_FEATURE(kFileSystemAccessSymbolicLinkCheck, +@@ -30,4 +30,8 @@ BASE_FEATURE(kFileSystemAccessSymbolicLinkCheck, "FileSystemAccessSymbolicLinkCheck", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index d925140b..73f56084 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -559,7 +559,7 @@ new file mode 100644 diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc -@@ -1121,3 +1121,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern( +@@ -1122,3 +1122,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern( ContentSettingsPattern::FromString(pattern_string)); return ConvertUTF8ToJavaString(env, host_only_pattern.ToString()); } @@ -655,7 +655,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -81,6 +81,8 @@ void PrefProvider::RegisterProfilePrefs( +@@ -93,6 +93,8 @@ void PrefProvider::RegisterProfilePrefs( info->GetPrefRegistrationFlags()); } @@ -664,7 +664,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov // Obsolete prefs ---------------------------------------------------------- // These prefs have been removed, but need to be registered so they can -@@ -153,6 +155,10 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -169,6 +171,10 @@ PrefProvider::PrefProvider(PrefService* prefs, event_args->set_number_of_exceptions( num_exceptions); // PrefProvider::PrefProvider. }); @@ -675,7 +675,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov } PrefProvider::~PrefProvider() { -@@ -440,4 +446,14 @@ void PrefProvider::SetClockForTesting(base::Clock* clock) { +@@ -464,4 +470,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) { } } @@ -706,7 +706,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov @@ -140,6 +143,7 @@ class PrefProvider : public UserModifiableProvider { base::ThreadChecker thread_checker_; - raw_ptr clock_; + raw_ptr clock_; + std::string custom_timezone_; }; @@ -729,7 +729,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc -@@ -667,6 +667,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) { +@@ -665,6 +665,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) { } } @@ -815,7 +815,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/pref_names.h b/components/content_settings/core/common/pref_names.h --- a/components/content_settings/core/common/pref_names.h +++ b/components/content_settings/core/common/pref_names.h -@@ -238,6 +238,9 @@ inline constexpr char kDesktopSiteWindowSettingEnabled[] = +@@ -233,6 +233,9 @@ inline constexpr char kDesktopSiteWindowSettingEnabled[] = "desktop_site.window_setting"; #endif @@ -839,7 +839,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings.mojom.h" #include "components/content_settings/core/common/content_settings_pattern.h" -@@ -169,6 +171,7 @@ void ContentSettingsAgentImpl::DidCommitProvisionalLoad( +@@ -167,6 +169,7 @@ void ContentSettingsAgentImpl::DidCommitProvisionalLoad( // correctly detect that a piece of content flipped from "not blocked" to // "blocked". ClearBlockedContentSettings(); // do not remove @@ -847,8 +847,8 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); if (frame->Parent()) -@@ -480,4 +483,78 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const { - return false; +@@ -445,4 +448,78 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { + cached_script_permissions_.clear(); } +bool ContentSettingsAgentImpl::UpdateOverrides() { @@ -941,7 +941,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h namespace blink { class WebFrame; class WebURL; -@@ -175,6 +180,12 @@ class ContentSettingsAgentImpl +@@ -164,6 +169,12 @@ class ContentSettingsAgentImpl std::unique_ptr delegate_; mojo::AssociatedReceiverSet receivers_; diff --git a/build/patches/Use-BoringSSL-for-RandBytes.patch b/build/patches/Use-BoringSSL-for-RandBytes.patch index fe9de2ed..7f3c9faa 100644 --- a/build/patches/Use-BoringSSL-for-RandBytes.patch +++ b/build/patches/Use-BoringSSL-for-RandBytes.patch @@ -24,7 +24,7 @@ diff --git a/base/rand_util_fuchsia.cc b/base/rand_util_fuchsia.cc diff --git a/base/rand_util_posix.cc b/base/rand_util_posix.cc --- a/base/rand_util_posix.cc +++ b/base/rand_util_posix.cc -@@ -162,7 +162,7 @@ std::atomic g_use_boringssl; +@@ -158,7 +158,7 @@ std::atomic g_use_boringssl; BASE_FEATURE(kUseBoringSSLForRandBytes, "UseBoringSSLForRandBytes", diff --git a/build/patches/Use-browser-navigation-handler.patch b/build/patches/Use-browser-navigation-handler.patch index d9098ac9..0b68ac9c 100644 --- a/build/patches/Use-browser-navigation-handler.patch +++ b/build/patches/Use-browser-navigation-handler.patch @@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.layouts.EventFilter.EventType; -@@ -96,6 +97,7 @@ import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +@@ -98,6 +99,7 @@ import org.chromium.ui.resources.dynamics.DynamicResourceLoader; import org.chromium.url.GURL; import java.util.ArrayList; @@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp import java.util.HashSet; import java.util.List; import java.util.Set; -@@ -1322,7 +1324,12 @@ public class CompositorViewHolder extends FrameLayout +@@ -1325,7 +1327,12 @@ public class CompositorViewHolder extends FrameLayout protected void onLayout(boolean changed, int l, int t, int r, int b) { if (changed) onViewportChanged(); super.onLayout(changed, l, t, r, b); @@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side private @CloseTarget int mCloseIndicator; private @BackGestureEventSwipeEdge int mInitiatingEdge; -@@ -229,10 +230,10 @@ public class SideSlideLayout extends ViewGroup { +@@ -223,10 +224,10 @@ public class SideSlideLayout extends ViewGroup { * Set the direction used for sliding gesture. * @param forward {@code true} if direction is forward. */ @@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side } public void setInitiatingEdge(@BackGestureEventSwipeEdge int edge) { -@@ -326,7 +327,7 @@ public class SideSlideLayout extends ViewGroup { +@@ -332,7 +333,7 @@ public class SideSlideLayout extends ViewGroup { mWillNavigate = navigating; if (mCloseIndicator != CloseTarget.NONE) { @@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side mArrowView.showCaption(mCloseIndicator); mArrowViewWidth = mArrowView.getMeasuredWidth(); } else { -@@ -342,6 +343,20 @@ public class SideSlideLayout extends ViewGroup { +@@ -348,6 +349,20 @@ public class SideSlideLayout extends ViewGroup { ? -targetDiff : targetDiff); setTargetOffsetLeftAndRight(targetX - mCurrentTargetOffset); diff --git a/build/patches/Use-list-mode-for-tab-switcher.patch b/build/patches/Use-list-mode-for-tab-switcher.patch index 8cd83712..bc3f8289 100644 --- a/build/patches/Use-list-mode-for-tab-switcher.patch +++ b/build/patches/Use-list-mode-for-tab-switcher.patch @@ -118,7 +118,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.LocationBarCoordinator; import org.chromium.chrome.browser.omnibox.NewTabPageDelegate; -@@ -1849,7 +1850,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1855,7 +1856,7 @@ public class ToolbarPhone extends ToolbarLayout // On entering the tab switcher, set the focusability of the url bar to be false. This will // occur at the start of the enter event, and will later be reset to true upon finishing the // exit event. @@ -127,7 +127,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mLocationBar.setUrlBarFocusable(false); } -@@ -2047,7 +2048,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2053,7 +2054,8 @@ public class ToolbarPhone extends ToolbarLayout updateLocationBarForNtp(mVisualState, urlHasFocus()); diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 0adfa001..d9b42cd2 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -80,7 +80,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -643,4 +643,6 @@ chrome_java_resources = [ +@@ -644,4 +644,6 @@ chrome_java_resources = [ "java/res/xml/search_widget_info.xml", "java/res/xml/tracing_preferences.xml", "java/res/xml/unified_account_settings_preferences.xml", @@ -90,7 +90,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 -@@ -931,6 +931,7 @@ chrome_java_sources = [ +@@ -932,6 +932,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java", "java/src/org/chromium/chrome/browser/payments/ui/LineItem.java", "java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java", @@ -212,9 +212,9 @@ 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 -@@ -132,6 +132,11 @@ found in the LICENSE file. +@@ -146,6 +146,11 @@ for the previous order (main_preferences_legacy). --> android:key="content_settings" - android:order="23" + android:order="25" android:title="@string/prefs_site_settings"/> + +@@ -2659,6 +2659,7 @@ public abstract class ChromeActivity TabUtils.switchUserAgent( currentTab, usingDesktopUserAgent, @@ -560,7 +560,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; import org.chromium.components.embedder_support.contextmenu.ContextMenuPopulatorFactory; import org.chromium.components.embedder_support.util.UrlConstants; -@@ -98,6 +101,9 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -100,6 +103,9 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.user_prefs.UserPrefs; @@ -570,7 +570,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This * class is not intended to be extended. -@@ -1968,9 +1974,6 @@ class TabImpl implements Tab { +@@ -1988,9 +1994,6 @@ class TabImpl implements Tab { } if (mWebContents != null) { @@ -580,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mWebContents.getNavigationController().loadIfNecessary(); } mIsBeingRestored = true; -@@ -2289,6 +2292,11 @@ class TabImpl implements Tab { +@@ -2309,6 +2312,11 @@ class TabImpl implements Tab { url = webContents.getVisibleUrl(); } @@ -592,7 +592,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav // Do not override UA if there is a tab level setting. if (tabUserAgent != TabUserAgent.DEFAULT) { recordHistogramUseDesktopUserAgent(currentRequestDesktopSite); -@@ -2334,7 +2342,7 @@ class TabImpl implements Tab { +@@ -2354,7 +2362,7 @@ class TabImpl implements Tab { } boolean usingDesktopUserAgent = getWebContents().getNavigationController().getUseDesktopUserAgent(); @@ -601,7 +601,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav } /** Sets the TabLaunchType for tabs launched with an unset launch type. */ -@@ -2371,6 +2379,54 @@ class TabImpl implements Tab { +@@ -2391,6 +2399,54 @@ class TabImpl implements Tab { return mWebContentsDelegate.isTrustedWebActivity(getWebContents()); } @@ -956,7 +956,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -1040,8 +1040,6 @@ public final class ChromePreferenceKeys { +@@ -1043,8 +1043,6 @@ public final class ChromePreferenceKeys { SIGNIN_PROMO_NTP_LAST_SHOWN_TIME, SYNC_PROMO_TOTAL_SHOW_COUNT, SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP, @@ -998,7 +998,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java -@@ -112,6 +112,8 @@ public interface TabWindowManager { +@@ -115,6 +115,8 @@ public interface TabWindowManager { */ Tab getTabById(int tabId); @@ -1074,7 +1074,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 -@@ -1928,6 +1928,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; +@@ -1944,6 +1944,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] = "profile.content_settings.had_three_consecutive_denies.notifications"; @@ -1262,7 +1262,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3445,6 +3445,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3499,6 +3499,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedMedia, switches::kLacrosUseChromeosProtectedAv1, #endif @@ -1281,7 +1281,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser #include "base/base_switches.h" #include "base/check_op.h" #include "base/command_line.h" -@@ -2211,8 +2212,6 @@ void WebContentsImpl::SetUserAgentOverride( +@@ -2239,8 +2240,6 @@ void WebContentsImpl::SetUserAgentOverride( OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride", "ua_override", ua_override.ua_string_override, "override_in_new_tabs", override_in_new_tabs); @@ -1290,7 +1290,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser if (GetUserAgentOverride() == ua_override) { return; -@@ -3247,6 +3246,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { +@@ -3286,6 +3285,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { #else prefs.viewport_meta_enabled = false; #endif diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index 17bea4e8..547e4933 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -211,7 +211,7 @@ new file mode 100644 diff --git a/components/guest_view/browser/guest_view_base.cc b/components/guest_view/browser/guest_view_base.cc --- a/components/guest_view/browser/guest_view_base.cc +++ b/components/guest_view/browser/guest_view_base.cc -@@ -503,6 +503,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( +@@ -498,6 +498,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( if (attachment_callback) std::move(attachment_callback).Run(); @@ -282,7 +282,7 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -4054,6 +4054,7 @@ +@@ -4070,6 +4070,7 @@ }, { name: "opacity", @@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], interpolable: true, compositable: true, -@@ -4061,7 +4062,6 @@ +@@ -4077,7 +4078,6 @@ field_template: "primitive", default_value: "1.0", type_name: "float", @@ -301,7 +301,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc --- a/third_party/blink/renderer/core/css/media_values.cc +++ b/third_party/blink/renderer/core/css/media_values.cc -@@ -196,7 +196,7 @@ bool MediaValues::CalculateStrictMode(LocalFrame* frame) { +@@ -197,7 +197,7 @@ bool MediaValues::CalculateStrictMode(LocalFrame* frame) { } float MediaValues::CalculateDevicePixelRatio(LocalFrame* frame) { @@ -313,7 +313,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc --- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc +++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc -@@ -1981,7 +1981,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -1977,7 +1977,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { ComputedStyleBuilder builder = CreateComputedStyleBuilder(); builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical); @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1076,7 +1076,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1082,7 +1082,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { page_popup_ = WebPagePopupImpl::Create( std::move(popup_widget_host), std::move(widget_host), std::move(widget_receiver), this, agent_group_scheduler, @@ -411,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1504,7 +1504,12 @@ int LocalDOMWindow::outerHeight() const { +@@ -1511,7 +1511,12 @@ int LocalDOMWindow::outerHeight() const { if (frame->IsInFencedFrameTree()) { return innerHeight(); } @@ -425,7 +425,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p Page* page = frame->GetPage(); if (!page) return 0; -@@ -1529,7 +1534,12 @@ int LocalDOMWindow::outerWidth() const { +@@ -1536,7 +1541,12 @@ int LocalDOMWindow::outerWidth() const { if (frame->IsInFencedFrameTree()) { return innerWidth(); } @@ -439,7 +439,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p Page* page = frame->GetPage(); if (!page) return 0; -@@ -1730,7 +1740,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1741,7 +1751,8 @@ double LocalDOMWindow::devicePixelRatio() const { if (!GetFrame()) return 0.0; @@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p } void LocalDOMWindow::scrollBy(double x, double y) const { -@@ -2315,6 +2326,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2358,6 +2369,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, if (!completed_url.IsEmpty() || result.new_window) result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -473,7 +473,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p // TODO(japhet): window-open-noopener.html?_top and several tests in // html/browsers/windows/browsing-context-names/ appear to require that // the special case target names (_top, _parent, _self) ignore opener -@@ -2370,6 +2398,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( +@@ -2413,6 +2441,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( DCHECK(result.new_window); result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -1566,6 +1566,10 @@ void LocalFrame::RestoreScrollOffsets() { +@@ -1575,6 +1575,10 @@ void LocalFrame::RestoreScrollOffsets() { saved_scroll_offsets_ = nullptr; } @@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ void LocalFrame::SetLayoutZoomFactor(float factor) { SetLayoutAndTextZoomFactors(factor, text_zoom_factor_); } -@@ -1747,12 +1751,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1756,12 +1760,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { return mojo_handler_->GetDevicePosture(); } @@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ return ratio; } -@@ -3348,6 +3356,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { +@@ -3363,6 +3371,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { DCHECK(!GetDocument() || !GetDocument()->Printing()); DCHECK(IsMainFrame()); @@ -554,7 +554,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b // Informs the local root's document and its local descendant subtree that a // media query value changed. -@@ -1079,6 +1080,7 @@ class CORE_EXPORT LocalFrame final +@@ -1080,6 +1081,7 @@ class CORE_EXPORT LocalFrame final unsigned did_run_detach_impl_ : 1 = false; float layout_zoom_factor_; @@ -660,7 +660,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -1814,6 +1814,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1829,6 +1829,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( if (auto* device_emulator = DeviceEmulator()) { device_emulator->UpdateVisualProperties(visual_properties); @@ -732,7 +732,7 @@ diff --git a/third_party/blink/renderer/core/input/touch.cc b/third_party/blink/ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -105,6 +105,12 @@ +@@ -106,6 +106,12 @@ #include "ui/color/color_provider.h" #include "ui/color/color_provider_utils.h" @@ -745,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re namespace blink { namespace { -@@ -1209,7 +1215,94 @@ void Page::UpdateAcceleratedCompositingSettings() { +@@ -1251,7 +1257,94 @@ void Page::UpdateAcceleratedCompositingSettings() { } } @@ -843,9 +843,9 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h --- a/third_party/blink/renderer/core/page/page.h +++ b/third_party/blink/renderer/core/page/page.h -@@ -536,6 +536,10 @@ class CORE_EXPORT Page final : public GarbageCollected, - // related pages will include the new page instead of the old page, etc. - void TakePropertiesForLocalMainFrameSwap(Page* old_page); +@@ -550,6 +550,10 @@ class CORE_EXPORT Page final : public GarbageCollected, + // See https://explainers-by-googlers.github.io/partitioned-popins/ + bool IsPartitionedPopin() const; + void CalculateEmulatedScreenSetting(LocalFrame* frame, bool force = false); + bool IsScreenEmulated() { return is_screen_emulated_; } @@ -854,7 +854,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren private: friend class ScopedPagePauser; class CloseTaskHandler; -@@ -708,6 +712,11 @@ class CORE_EXPORT Page final : public GarbageCollected, +@@ -722,6 +726,11 @@ class CORE_EXPORT Page final : public GarbageCollected, // browser side FrameTree has the FrameTree::Type of kFencedFrame. bool is_fenced_frame_tree_ = false; @@ -869,7 +869,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h --- a/third_party/blink/renderer/core/style/computed_style.h +++ b/third_party/blink/renderer/core/style/computed_style.h -@@ -1876,6 +1876,12 @@ class ComputedStyle final : public ComputedStyleBase { +@@ -1907,6 +1907,12 @@ class ComputedStyle final : public ComputedStyleBase { IsRunningBackdropFilterAnimationOnCompositor(); } diff --git a/build/patches/WIN-Disable-first-run.patch b/build/patches/WIN-Disable-first-run.patch index 7ee87f41..0012d033 100644 --- a/build/patches/WIN-Disable-first-run.patch +++ b/build/patches/WIN-Disable-first-run.patch @@ -9,7 +9,7 @@ Subject: WIN Disable first run diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/startup/first_run_service.cc --- a/chrome/browser/ui/startup/first_run_service.cc +++ b/chrome/browser/ui/startup/first_run_service.cc -@@ -171,7 +171,7 @@ bool IsFirstRunMarkedFinishedInPrefs() { +@@ -170,7 +170,7 @@ bool IsFirstRunMarkedFinishedInPrefs() { // static void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) { diff --git a/build/patches/WIN-Disable-updater.patch b/build/patches/WIN-Disable-updater.patch index 1ce47119..9720616c 100644 --- a/build/patches/WIN-Disable-updater.patch +++ b/build/patches/WIN-Disable-updater.patch @@ -4,9 +4,9 @@ Subject: WIN Disable updater --- chrome/browser/active_use_util.h | 2 +- - chrome/browser/updater/BUILD.gn | 16 --------- - .../browser/updater/browser_updater_client.cc | 33 +------------------ - 3 files changed, 2 insertions(+), 49 deletions(-) + chrome/browser/updater/BUILD.gn | 16 ---------- + .../browser/updater/browser_updater_client.cc | 29 +------------------ + 3 files changed, 2 insertions(+), 45 deletions(-) diff --git a/chrome/browser/active_use_util.h b/chrome/browser/active_use_util.h --- a/chrome/browser/active_use_util.h @@ -48,7 +48,7 @@ diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/updater/browser_updater_client.cc --- a/chrome/browser/updater/browser_updater_client.cc +++ b/chrome/browser/updater/browser_updater_client.cc -@@ -30,19 +30,6 @@ BrowserUpdaterClient::~BrowserUpdaterClient() = default; +@@ -36,19 +36,6 @@ BrowserUpdaterClient::~BrowserUpdaterClient() { void BrowserUpdaterClient::Register(base::OnceClosure complete) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -68,9 +68,9 @@ diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/u } void BrowserUpdaterClient::RegistrationCompleted(base::OnceClosure complete, -@@ -73,18 +60,6 @@ void BrowserUpdaterClient::GetUpdaterVersionCompleted( - void BrowserUpdaterClient::CheckForUpdate( - updater::UpdateService::StateChangeCallback version_updater_callback) { +@@ -80,18 +67,6 @@ void BrowserUpdaterClient::CheckForUpdate( + base::RepeatingCallback + version_updater_callback) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - - updater::UpdateService::UpdateState update_state; @@ -87,19 +87,15 @@ diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/u } void BrowserUpdaterClient::UpdateCompleted( -@@ -130,13 +105,7 @@ void BrowserUpdaterClient::IsBrowserRegisteredCompleted( +@@ -138,9 +113,7 @@ void BrowserUpdaterClient::IsBrowserRegisteredCompleted( base::OnceCallback callback, const std::vector& apps) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- const std::string app_id = GetAppId(); -- std::move(callback).Run( -- std::find_if(apps.begin(), apps.end(), -- [&](const updater::UpdateService::AppState& app) { -- return base::EqualsCaseInsensitiveASCII(app.app_id, -- app_id); -- }) != apps.end()); +- std::move(callback).Run(std::find_if(apps.begin(), apps.end(), +- &BrowserUpdaterClient::AppMatches) != +- apps.end()); + std::move(callback).Run(true); } - scoped_refptr BrowserUpdaterClient::Create( + // User and System BrowserUpdaterClients must be kept separate - the template -- diff --git a/build/patches/WIN-Fix-log-to-file.patch b/build/patches/WIN-Fix-log-to-file.patch index 02a27b38..6b12eb23 100644 --- a/build/patches/WIN-Fix-log-to-file.patch +++ b/build/patches/WIN-Fix-log-to-file.patch @@ -88,7 +88,7 @@ diff --git a/chrome/common/logging_chrome.h b/chrome/common/logging_chrome.h diff --git a/content/app/content_main.cc b/content/app/content_main.cc --- a/content/app/content_main.cc +++ b/content/app/content_main.cc -@@ -311,9 +311,12 @@ RunContentProcess(ContentMainParams params, +@@ -333,9 +333,12 @@ NO_STACK_PROTECTOR int RunContentProcess( } else if (command_line->HasSwitch(switches::kEnableLogging)) { // Route stdio to parent console (if any) or create one, do not create a // console in children if handles are being passed. diff --git a/build/patches/WIN-disable-annotate-downloads.patch b/build/patches/WIN-disable-annotate-downloads.patch index f4743bc0..7f001e25 100644 --- a/build/patches/WIN-disable-annotate-downloads.patch +++ b/build/patches/WIN-disable-annotate-downloads.patch @@ -9,7 +9,7 @@ Subject: WIN disable annotate downloads diff --git a/components/download/internal/common/download_file_impl.cc b/components/download/internal/common/download_file_impl.cc --- a/components/download/internal/common/download_file_impl.cc +++ b/components/download/internal/common/download_file_impl.cc -@@ -387,8 +387,8 @@ void DownloadFileImpl::RenameAndAnnotate( +@@ -388,8 +388,8 @@ void DownloadFileImpl::RenameAndAnnotate( std::unique_ptr parameters(new RenameParameters( ANNOTATE_WITH_SOURCE_INFORMATION, full_path, std::move(callback))); parameters->client_guid = client_guid; @@ -17,7 +17,7 @@ diff --git a/components/download/internal/common/download_file_impl.cc b/compone - parameters->referrer_url = referrer_url; + parameters->source_url = GURL(); + parameters->referrer_url = GURL(); + parameters->request_initiator = request_initiator; parameters->remote_quarantine = std::move(remote_quarantine); RenameWithRetryInternal(std::move(parameters)); - } -- diff --git a/build/patches/WIN-enable-file-system-access-blocklist.patch b/build/patches/WIN-enable-file-system-access-blocklist.patch index 99ee3508..fdd0e169 100644 --- a/build/patches/WIN-enable-file-system-access-blocklist.patch +++ b/build/patches/WIN-enable-file-system-access-blocklist.patch @@ -13,7 +13,7 @@ diff --git a/content/browser/file_system_access/features.cc b/content/browser/fi @@ -24,6 +24,7 @@ BASE_FEATURE(kFileSystemAccessBFCache, BASE_FEATURE(kFileSystemAccessDragAndDropCheckBlocklist, "FileSystemAccessDragAndDropCheckBlocklist", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_ENABLED(kFileSystemAccessDragAndDropCheckBlocklist); // TODO(crbug.com/40896420): Remove this flag eventually. diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch index 1ccd7061..7c58e6ee 100644 --- a/build/patches/WIN-enable-pdf-plugin.patch +++ b/build/patches/WIN-enable-pdf-plugin.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2264,7 +2264,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2273,7 +2273,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/Warning-message-for-unsupported-hardware-aes.patch b/build/patches/Warning-message-for-unsupported-hardware-aes.patch index a87ea212..35f1b8e2 100644 --- a/build/patches/Warning-message-for-unsupported-hardware-aes.patch +++ b/build/patches/Warning-message-for-unsupported-hardware-aes.patch @@ -51,7 +51,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -453,6 +453,7 @@ if (is_win) { +@@ -461,6 +461,7 @@ if (is_win) { "//components/policy:generated", "//content/public/app", "//crypto", @@ -59,7 +59,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn "//headless:headless_non_renderer", "//headless:headless_shell_browser_lib", "//net:net_resources", -@@ -1684,6 +1685,8 @@ if (is_android) { +@@ -1691,6 +1692,8 @@ if (is_android) { "//chrome/common/profiler", "//chrome/gpu", "//chrome/renderer", @@ -71,7 +71,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc -@@ -103,6 +103,9 @@ +@@ -105,6 +105,9 @@ #include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/scoped_startup_resource_bundle.h" #include "ui/base/ui_base_switches.h" @@ -81,7 +81,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #if BUILDFLAG(IS_WIN) #include -@@ -1295,6 +1298,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { +@@ -1293,6 +1296,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { return chrome::RESULT_CODE_INVALID_SANDBOX_STATE; #endif @@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -7450,6 +7450,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -7390,6 +7390,10 @@ Keep your key file in a safe place. You will need it to create new versions of y You are using an unsupported feature flag: $1SignedHTTPExchange. Stability and security will suffer. @@ -130,7 +130,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3450,6 +3450,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3504,6 +3504,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedAv1, #endif switches::kDesktopModeViewportMetaEnabled, diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch index 9f3502a0..9b91696a 100644 --- a/build/patches/Welcome-screen.patch +++ b/build/patches/Welcome-screen.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/android/java/res/values/styles.xml | 24 ++ .../firstrun/ChildAccountStatusSupplier.java | 13 - .../DefaultSearchEngineFirstRunFragment.java | 3 - - .../browser/firstrun/FirstRunActivity.java | 31 +- + .../browser/firstrun/FirstRunActivity.java | 32 +- .../firstrun/FirstRunActivityBase.java | 6 +- .../firstrun/FirstRunFlowSequencer.java | 70 +--- .../browser/firstrun/FirstRunUtils.java | 1 + @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../firstrun/TosAndUmaFragmentView.java | 336 ++++++++++++++++++ .../browser/locale/LocaleManagerDelegate.java | 5 +- .../Welcome-screen.grdp | 27 ++ - 15 files changed, 915 insertions(+), 109 deletions(-) + 15 files changed, 915 insertions(+), 110 deletions(-) create mode 100644 chrome/android/java/res/layout/fre_tosanduma.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java @@ -30,7 +30,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 -@@ -507,6 +507,7 @@ chrome_java_resources = [ +@@ -508,6 +508,7 @@ chrome_java_resources = [ "java/res/layout/find_in_page.xml", "java/res/layout/find_toolbar.xml", "java/res/layout/fre_tos_privacy_disclaimer.xml", @@ -218,7 +218,7 @@ new file mode 100644 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 -@@ -107,6 +107,16 @@ found in the LICENSE file. +@@ -104,6 +104,16 @@ found in the LICENSE file. 48dp 18dp 8dp @@ -321,16 +321,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/Defaul diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java -@@ -31,8 +31,7 @@ import org.chromium.chrome.browser.fonts.FontPreloader; +@@ -30,8 +30,7 @@ import org.chromium.chrome.browser.fonts.FontPreloader; import org.chromium.chrome.browser.metrics.UmaUtils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -import org.chromium.chrome.browser.signin.SigninCheckerProvider; -import org.chromium.chrome.browser.signin.SigninFirstRunFragment; +import org.chromium.chrome.browser.firstrun.ToSAndUMAFirstRunFragment; + import org.chromium.chrome.browser.ui.signin.DialogWhenLargeContentLayout; import org.chromium.chrome.browser.ui.signin.SigninUtils; import org.chromium.chrome.browser.ui.signin.history_sync.HistorySyncHelper; - import org.chromium.chrome.browser.ui.system.StatusBarColorController; @@ -126,7 +125,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa /** Creates first page and sets up adapter. Should result UI being shown on the screen. */ private void createFirstPage() { @@ -348,12 +348,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR mFirstRunFlowSequencer.updateFirstRunProperties(mFreProperties); -@@ -163,26 +161,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -163,27 +161,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN); } -- // An optional sync consent page, the visibility of this page will be decided on the fly -- // according to the situation. +- // An optional history sync opt-in page, the visibility of this page will be decided on the +- // fly according to the situation. - if (ChromeFeatureList.isEnabled( - ChromeFeatureList.REPLACE_SYNC_PROMOS_WITH_SIGN_IN_PROMOS)) { - BooleanSupplier showHistorySync = @@ -365,17 +365,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR - historySyncHelper.recordHistorySyncNotShown(SigninAccessPoint.START_PAGE); - } - mPages.add(new FirstRunPage<>(HistorySyncFirstRunFragment.class, showHistorySync)); +- mFreProgressStates.add(MobileFreProgress.HISTORY_SYNC_OPT_IN_SHOWN); - } else { - BooleanSupplier showSyncConsent = - () -> mFreProperties.getBoolean(SHOW_SYNC_CONSENT_PAGE); - mPages.add(new FirstRunPage<>(SyncConsentFirstRunFragment.class, showSyncConsent)); +- mFreProgressStates.add(MobileFreProgress.SYNC_CONSENT_SHOWN); - } -- mFreProgressStates.add(MobileFreProgress.SYNC_CONSENT_SHOWN); - if (mPagerAdapter != null) { mPagerAdapter.notifyDataSetChanged(); } -@@ -559,11 +537,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -558,11 +535,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { assert mNativeInitializationPromise.isFulfilled(); @@ -1240,7 +1241,7 @@ new file mode 100644 diff --git a/chrome/browser/locale/java/src/org/chromium/chrome/browser/locale/LocaleManagerDelegate.java b/chrome/browser/locale/java/src/org/chromium/chrome/browser/locale/LocaleManagerDelegate.java --- a/chrome/browser/locale/java/src/org/chromium/chrome/browser/locale/LocaleManagerDelegate.java +++ b/chrome/browser/locale/java/src/org/chromium/chrome/browser/locale/LocaleManagerDelegate.java -@@ -324,8 +324,9 @@ public class LocaleManagerDelegate { +@@ -311,8 +311,9 @@ public class LocaleManagerDelegate { /** @see LocaleManager#getSearchEnginesForPromoDialog */ public List getSearchEnginesForPromoDialog(@SearchEnginePromoType int promoType) { diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 3e9a7faa..15e9e016 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -177,7 +177,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow #if BUILDFLAG(IS_CHROMEOS_ASH) #include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h" -@@ -215,6 +217,16 @@ void ChromeFeatureListCreator::CreatePrefService() { +@@ -212,6 +214,16 @@ void ChromeFeatureListCreator::CreatePrefService() { // ManagementService's cache. if (local_state_pref_store->ReadPrefs() == JsonPrefStore::PREF_READ_ERROR_NONE) { @@ -222,7 +222,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -2298,9 +2298,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2311,9 +2311,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -344,7 +344,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/signin/dice_response_handler.cc --- a/chrome/browser/signin/dice_response_handler.cc +++ b/chrome/browser/signin/dice_response_handler.cc -@@ -513,8 +513,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( +@@ -526,8 +526,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( // - If there is a policy restriction on removing the primary account. bool invalidate_only_primary_account = identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSync) || @@ -574,7 +574,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace namespace switches { -@@ -354,6 +304,16 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered"; +@@ -363,6 +313,16 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered"; const char kParcelTrackingTestDataParamInProgress[] = "InProgress"; const char kParcelTrackingTestDataParamOutForDelivery[] = "OutForDelivery"; @@ -591,7 +591,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm // Params for Discount Consent V2 in the NTP Cart module. const char kNtpChromeCartModuleDiscountConsentNtpVariationParam[] = "discount-consent-ntp-variation"; -@@ -496,11 +456,11 @@ bool IsPartnerMerchant(const GURL& url) { +@@ -505,11 +465,11 @@ bool IsPartnerMerchant(const GURL& url) { } bool IsRuleDiscountPartnerMerchant(const GURL& url) { @@ -605,7 +605,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } bool IsCartDiscountFeatureEnabled() { -@@ -580,6 +540,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -589,6 +549,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -990,7 +990,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -776,6 +776,7 @@ int SSLClientSocketImpl::Init() { +@@ -772,6 +772,7 @@ int SSLClientSocketImpl::Init() { return ERR_UNEXPECTED; } @@ -998,7 +998,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket // Disable SHA-1 server signatures. // TODO(crbug.com/boringssl/699): Once the default is flipped in BoringSSL, we // no longer need to override it. -@@ -1182,6 +1183,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1180,6 +1181,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { cert_verifier_request_.reset(); diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index b99e5109..5485ce2d 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-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/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 -@@ -1216,7 +1216,7 @@ void RegisterProfilePrefsForMigration( +@@ -1272,7 +1272,7 @@ void RegisterProfilePrefsForMigration( #endif // Deprecated 12/2023. @@ -34,7 +34,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -212,12 +212,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -215,12 +215,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { } AutofillCrowdsourcingManager* ChromeAutofillClient::GetCrowdsourcingManager() { @@ -102,7 +102,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci } std::optional>& GetActiveExperiments() { -@@ -800,34 +765,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( +@@ -865,34 +830,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( std::tuple AutofillCrowdsourcingManager::GetRequestURLAndMethod( const FormRequestData& request_data) const { @@ -156,7 +156,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc -@@ -1007,6 +1007,8 @@ BASE_FEATURE(kAutofillUploadThrottling, +@@ -888,6 +888,8 @@ BASE_FEATURE(kAutofillUploadThrottling, "AutofillUploadThrottling", base::FEATURE_ENABLED_BY_DEFAULT); @@ -205,7 +205,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto diff --git a/components/password_manager/core/browser/password_generation_frame_helper.cc b/components/password_manager/core/browser/password_generation_frame_helper.cc --- a/components/password_manager/core/browser/password_generation_frame_helper.cc +++ b/components/password_manager/core/browser/password_generation_frame_helper.cc -@@ -100,7 +100,6 @@ void PasswordGenerationFrameHelper::ProcessPasswordRequirements( +@@ -101,7 +101,6 @@ void PasswordGenerationFrameHelper::ProcessPasswordRequirements( // In order for password generation to be enabled, we need to make sure: // (1) Password sync is enabled, and // (2) Password saving is enabled @@ -213,7 +213,7 @@ diff --git a/components/password_manager/core/browser/password_generation_frame_ bool PasswordGenerationFrameHelper::IsGenerationEnabled( bool log_debug_data) const { std::unique_ptr logger; -@@ -110,10 +109,6 @@ bool PasswordGenerationFrameHelper::IsGenerationEnabled( +@@ -111,10 +110,6 @@ bool PasswordGenerationFrameHelper::IsGenerationEnabled( } GURL url = driver_->GetLastCommittedURL(); diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index 323cf2e1..bf2d46b6 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -130,7 +130,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py --- a/build/android/gyp/util/build_utils.py +++ b/build/android/gyp/util/build_utils.py -@@ -499,4 +499,27 @@ def ReadSourcesList(sources_list_file_name): +@@ -502,4 +502,27 @@ def ReadSourcesList(sources_list_file_name): Note that this function should not be used to parse response files. """ with open(sources_list_file_name) as f: @@ -426,7 +426,7 @@ new file mode 100644 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn -@@ -727,6 +727,7 @@ set_defaults("component") { +@@ -728,6 +728,7 @@ set_defaults("component") { configs = default_component_configs } diff --git a/build/patches/disable-AdsBlockedInfoBar.patch b/build/patches/disable-AdsBlockedInfoBar.patch index 282088f5..d67ea8dd 100644 --- a/build/patches/disable-AdsBlockedInfoBar.patch +++ b/build/patches/disable-AdsBlockedInfoBar.patch @@ -71,5 +71,5 @@ diff --git a/components/subresource_filter/content/browser/profile_interaction_m - } } - content::WebContents* ProfileInteractionManager::GetWebContents() { + content_settings::CookieSettings* -- diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index c1488a42..6b1bec35 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java -@@ -248,12 +248,6 @@ public class WebViewChromiumAwInit { +@@ -244,12 +244,6 @@ public class WebViewChromiumAwInit { AwBrowserProcess.configureChildProcessLauncher(); @@ -28,7 +28,7 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java -@@ -528,10 +528,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -521,10 +521,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { } } diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index 3b1d667b..1be00a1d 100644 --- a/build/patches/do-not-block-build-incompatible-profiles.patch +++ b/build/patches/do-not-block-build-incompatible-profiles.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/v8/BUILD.gn b/v8/BUILD.gn --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -2513,7 +2513,7 @@ template("run_mksnapshot") { +@@ -2529,7 +2529,7 @@ template("run_mksnapshot") { # Replace this with --warn-about-builtin-profile-data to see the full # list of builtins with incompatible profiles. diff --git a/build/patches/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index 91e246f0..292ae19c 100644 --- a/build/patches/enable-ftrivial-auto-var-init-zero.patch +++ b/build/patches/enable-ftrivial-auto-var-init-zero.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -384,6 +384,10 @@ config("compiler") { +@@ -387,6 +387,10 @@ config("compiler") { cflags += [ "-fwrapv" ] } diff --git a/build/patches/eyeo-beta-118.0.5993.48-android_api.patch b/build/patches/eyeo-beta-118.0.5993.48-android_api.patch index c054903e..d7369e83 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-android_api.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-android_api.patch @@ -97,7 +97,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn import("//build/android/resource_sizes.gni") import("//build/config/android/config.gni") -@@ -541,6 +545,7 @@ if (current_toolchain == default_toolchain) { +@@ -552,6 +556,7 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/xsurface_provider:java", "//components/android_autofill/browser:java", "//components/autofill/android:autofill_features_java", @@ -105,7 +105,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/autofill/android:autofill_java", "//components/background_task_scheduler:background_task_scheduler_java", "//components/background_task_scheduler:background_task_scheduler_task_ids_java", -@@ -1684,6 +1689,7 @@ if (current_toolchain == default_toolchain) { +@@ -1708,6 +1713,7 @@ if (current_toolchain == default_toolchain) { "//chrome/android/webapk/libs/client:client_java", "//chrome/android/webapk/libs/common:common_java", "//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java", @@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/android/browserservices/intents:java", "//chrome/browser/android/browserservices/verification:java", "//chrome/browser/android/browserservices/verification:javatests", -@@ -2050,6 +2056,7 @@ if (current_toolchain == default_toolchain) { +@@ -2075,6 +2081,7 @@ if (current_toolchain == default_toolchain) { srcjar_deps = [ "//chrome/browser:tos_dialog_behavior_generated_enum" ] data = [ @@ -121,7 +121,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/test/data/android/", "//chrome/test/data/autofill/", "//chrome/test/data/background_sync/", -@@ -3914,6 +3921,7 @@ group("jni_headers") { +@@ -3938,6 +3945,7 @@ group("jni_headers") { "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", "//components/browser_ui/device_lock/android:device_lock_bridge_jni_headers", @@ -132,7 +132,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2545,6 +2545,18 @@ static_library("browser") { +@@ -2555,6 +2555,18 @@ static_library("browser") { } if (is_android) { @@ -643,7 +643,7 @@ new file mode 100644 diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -294,6 +294,11 @@ +@@ -297,6 +297,11 @@ #include "components/commerce/core/commerce_feature_list.h" #include "components/commerce/core/proto/merchant_signal_db_content.pb.h" @@ -655,7 +655,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #else #include "chrome/browser/accessibility/live_caption/live_caption_controller_factory.h" -@@ -883,6 +888,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -908,6 +913,11 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_ANDROID) FastCheckoutCapabilitiesFetcherFactory::GetInstance(); diff --git a/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch b/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch index 6b13c8a7..a6c169f5 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch @@ -243,7 +243,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -284,6 +284,10 @@ if (current_toolchain == default_toolchain) { +@@ -285,6 +285,10 @@ if (current_toolchain == default_toolchain) { "//third_party/androidx:androidx_preference_preference_java", ] @@ -254,7 +254,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (plus_addresses_use_internal_android_resources) { deps += [ "//clank/components/plus_addresses:java_resources" ] } else { -@@ -772,6 +776,10 @@ if (current_toolchain == default_toolchain) { +@@ -783,6 +787,10 @@ if (current_toolchain == default_toolchain) { "//url/mojom:url_mojom_gurl_java", ] @@ -277,10 +277,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j +Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file. --> - android:key="accessibility" - android:order="22" + android:order="24" android:title="@string/prefs_accessibility"/> + -@@ -1116,7 +1120,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( +@@ -1124,7 +1128,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( LogQueueTimeHistogram("Navigation.QueueTime.OnReceiveRedirect", resource_request_->is_outermost_main_frame); net::Error error = net::OK; @@ -52318,7 +52318,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #include "content/browser/renderer_host/render_frame_host_impl.h" -@@ -2992,6 +2996,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( +@@ -3114,6 +3118,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( std::move(callback)); } @@ -52345,7 +52345,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/br #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ -@@ -467,6 +471,10 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -464,6 +468,10 @@ class CONTENT_EXPORT RenderFrameHostImpl const std::u16string& method_name, base::Value::List arguments, JavaScriptResultCallback callback) override; @@ -52370,7 +52370,7 @@ diff --git a/content/public/browser/render_frame_host.h b/content/public/browser #ifndef CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ #define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ -@@ -563,6 +567,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, +@@ -540,6 +544,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level, const std::string& message) = 0; @@ -52394,7 +52394,7 @@ diff --git a/content/public/common/isolated_world_ids.h b/content/public/common/ #ifndef CONTENT_PUBLIC_COMMON_ISOLATED_WORLD_IDS_H_ #define CONTENT_PUBLIC_COMMON_ISOLATED_WORLD_IDS_H_ -@@ -13,6 +17,10 @@ enum IsolatedWorldIDs : int32_t { +@@ -15,6 +19,10 @@ enum IsolatedWorldIDs : int32_t { // The main world. Chrome cannot use ID 0 for an isolated world because 0 // represents the main world. ISOLATED_WORLD_ID_GLOBAL = 0, @@ -52419,7 +52419,7 @@ diff --git a/extensions/browser/api/web_request/web_request_proxying_url_loader_ #include "extensions/browser/api/web_request/web_request_proxying_url_loader_factory.h" #include -@@ -464,6 +468,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( +@@ -470,6 +474,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT); if (redirect_url_ != redirect_info.new_url && @@ -52488,7 +52488,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin module blink.mojom; -@@ -962,6 +966,10 @@ interface LocalFrame { +@@ -964,6 +968,10 @@ interface LocalFrame { // the given point in the view coordinate space. PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action); @@ -53109,7 +53109,7 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ # This file is used to assign starting resource ids for resources and strings # used by Chromium. This is done to ensure that resource ids are unique # across all the grd files. If you are adding a new grd file, please add -@@ -1353,6 +1357,11 @@ +@@ -1361,6 +1365,11 @@ "includes": [8460], }, diff --git a/build/patches/eyeo-beta-118.0.5993.48-chrome_integration.patch b/build/patches/eyeo-beta-118.0.5993.48-chrome_integration.patch index 6f8e43d8..30a30121 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-chrome_integration.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-chrome_integration.patch @@ -110,7 +110,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #include "chrome/browser/buildflags.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_resource_bundle_helper.h" -@@ -1932,7 +1937,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { +@@ -1920,7 +1925,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { content::ContentBrowserClient* ChromeMainDelegate::CreateContentBrowserClient() { chrome_content_browser_client_ = @@ -132,7 +132,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn import("//base/allocator/allocator.gni") import("//build/buildflag_header.gni") -@@ -152,6 +155,26 @@ static_library("browser") { +@@ -157,6 +160,26 @@ static_library("browser") { "accessibility/prefers_default_scrollbar_styles_prefs.h", "affiliations/affiliation_service_factory.cc", "affiliations/affiliation_service_factory.h", @@ -159,9 +159,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "after_startup_task_utils.cc", "after_startup_task_utils.h", "app_mode/app_mode_utils.cc", -@@ -1993,6 +2016,9 @@ static_library("browser") { +@@ -1999,6 +2022,9 @@ static_library("browser") { + "//chrome/common/notifications", "//chrome/installer/util:with_no_strings", - "//chrome/services/on_device_translation:on_device_translation_service", "//chrome/services/speech/buildflags", + "//chrome/browser/ui/webui/adblock_internals:mojo_bindings", + "//components/adblock/content:browser", @@ -2023,7 +2023,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser #include "chrome/browser/ui/webui/browsing_topics/browsing_topics_internals_ui.h" #include "chrome/browser/ui/webui/data_sharing_internals/data_sharing_internals_ui.h" #include "chrome/browser/ui/webui/engagement/site_engagement_ui.h" -@@ -1128,6 +1133,10 @@ void PopulateChromeWebUIFrameBinders( +@@ -1148,6 +1153,10 @@ void PopulateChromeWebUIFrameBinders( media::mojom::MediaEngagementScoreDetailsProvider, MediaEngagementUI>( map); @@ -2121,7 +2121,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" #include "chrome/browser/autocomplete/document_suggestions_service_factory.h" #include "chrome/browser/autocomplete/in_memory_url_index_factory.h" -@@ -280,6 +293,8 @@ +@@ -283,6 +296,8 @@ #include "chrome/browser/signin/signin_manager_android_factory.h" #include "components/commerce/core/commerce_feature_list.h" #include "components/commerce/core/proto/merchant_signal_db_content.pb.h" @@ -2130,7 +2130,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #else #include "chrome/browser/accessibility/live_caption/live_caption_controller_factory.h" #include "chrome/browser/accessibility/live_translate_controller_factory.h" -@@ -856,8 +871,19 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -881,8 +896,19 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -2163,7 +2163,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. import("//build/config/chromeos/ui_mode.gni") import("//chrome/browser/buildflags.gni") -@@ -255,6 +258,7 @@ if (!is_android) { +@@ -258,6 +261,7 @@ if (!is_android) { group("dev_ui_resources") { public_deps = [ "accessibility:resources", @@ -2171,7 +2171,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. "bluetooth_internals:resources", "browsing_topics:resources", "components:resources", -@@ -317,6 +321,7 @@ repack("dev_ui_paks") { +@@ -320,6 +324,7 @@ repack("dev_ui_paks") { sources = [ "$root_gen_dir/chrome/accessibility_resources.pak", @@ -2318,7 +2318,7 @@ diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/ #include "components/safe_browsing/content/browser/safe_browsing_blocking_page.h" -@@ -685,6 +689,8 @@ class SafeBrowsingBlockingPageBrowserTest +@@ -688,6 +692,8 @@ class SafeBrowsingBlockingPageBrowserTest {tag_and_attribute, add_warning_shown_timestamp_csbrrs, create_warning_shown_csbrrs, abusive_notification_revocation}, {}); @@ -2349,7 +2349,7 @@ diff --git a/chrome/browser/subresource_filter/subresource_filter_browser_test_h #include "components/blocked_content/safe_browsing_triggered_popup_blocker.h" #include "components/content_settings/browser/page_specific_content_settings.h" #include "components/safe_browsing/core/browser/db/v4_protocol_manager_util.h" -@@ -70,7 +75,8 @@ MockSubresourceFilterObserver::~MockSubresourceFilterObserver() = default; +@@ -152,7 +157,8 @@ void SubresourceFilterSharedBrowserTest::NavigateFrame(const char* frame_name, SubresourceFilterBrowserTest::SubresourceFilterBrowserTest() { scoped_feature_list_.InitWithFeatures( /*enabled_features=*/{kAdTagging}, @@ -2373,7 +2373,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn import("//build/config/buildflags_paint_preview.gni") import("//build/config/chromeos/ui_mode.gni") -@@ -268,6 +272,10 @@ static_library("ui") { +@@ -215,6 +219,10 @@ static_library("ui") { "webui/about/about_ui.h", "webui/accessibility/accessibility_ui.cc", "webui/accessibility/accessibility_ui.h", @@ -2384,15 +2384,15 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "webui/autofill_and_password_manager_internals/autofill_internals_ui.cc", "webui/autofill_and_password_manager_internals/autofill_internals_ui.h", "webui/autofill_and_password_manager_internals/internals_ui_handler.cc", -@@ -468,6 +476,7 @@ static_library("ui") { - "//chrome/browser/search_engines", - "//chrome/browser/share", +@@ -428,6 +436,7 @@ static_library("ui") { + "//chrome/browser/signin", "//chrome/browser/signin:identity_manager_provider", + "//chrome/browser/signin:impl", + "//chrome/browser/ui/webui/adblock_internals:mojo_bindings", "//chrome/browser/storage_access_api", "//chrome/browser/sync", - "//chrome/browser/ui/cookie_controls", -@@ -487,6 +496,7 @@ static_library("ui") { + "//chrome/browser/ui/autofill", +@@ -460,6 +469,7 @@ static_library("ui") { "//components/access_code_cast/common:metrics", "//components/account_id", "//components/affiliations/core/browser:affiliations", @@ -2449,7 +2449,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/breadcrumbs/breadcrumb_manager_tab_helper.h" #include "chrome/browser/browser_process.h" -@@ -116,6 +123,7 @@ +@@ -115,6 +122,7 @@ #include "chrome/common/chrome_features.h" #include "chrome/common/chrome_isolated_world_ids.h" #include "chrome/common/chrome_switches.h" @@ -2457,7 +2457,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "components/autofill/content/browser/content_autofill_client.h" #include "components/autofill/content/browser/content_autofill_driver_factory.h" #include "components/autofill/core/browser/browser_autofill_manager.h" -@@ -368,6 +376,16 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -369,6 +377,16 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { optimization_guide_decider); } } @@ -2830,16 +2830,16 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/components/components_ui.h" #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h" #include "chrome/browser/ui/webui/crashes_ui.h" -@@ -458,6 +463,9 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, - return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIUserActionsHost) - return &NewWebUI; +@@ -519,6 +524,9 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, + if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost) + return &NewWebUI; + #endif + if (url.host_piece() == chrome::kChromeUIAdblockInternalsHost) { + return &NewWebUI; + } - if (url.host_piece() == chrome::kChromeUIVersionHost) - return &NewWebUI; #if BUILDFLAG(IS_ANDROID) + if (url.host_piece() == chrome::kChromeUIOfflineInternalsHost) + return &NewWebUI; diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn @@ -2881,7 +2881,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const // Contains constants for WebUI UI/Host/SubPage constants. Anything else go in // chrome/common/url_constants.h. -@@ -42,6 +46,7 @@ inline constexpr char kChromeUIActivateSafetyCheckSettingsURL[] = +@@ -43,6 +47,7 @@ inline constexpr char kChromeUIActivateSafetyCheckSettingsURL[] = inline constexpr char kChromeUIAllSitesPath[] = "/content/all"; inline constexpr char kChromeUIAppIconHost[] = "app-icon"; inline constexpr char kChromeUIAppIconURL[] = "chrome://app-icon/"; diff --git a/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch b/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch index d15db50b..463a2229 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch @@ -58,23 +58,23 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL import("//build/config/chromeos/ui_mode.gni") @@ -52,6 +56,8 @@ source_set("extensions") { # here. - "api/activity_log_private/activity_log_private_api.cc", - "api/activity_log_private/activity_log_private_api.h", + "api/automation_internal/chrome_automation_internal_api_delegate.cc", + "api/automation_internal/chrome_automation_internal_api_delegate.h", + "api/adblock_private/adblock_private_api.cc", + "api/adblock_private/adblock_private_api.h", - "api/api_browser_context_keyed_service_factories.cc", - "api/api_browser_context_keyed_service_factories.h", - "api/autofill_private/autofill_private_api.cc", -@@ -131,6 +137,8 @@ source_set("extensions") { + "api/bookmark_manager_private/bookmark_manager_private_api.cc", + "api/bookmark_manager_private/bookmark_manager_private_api.h", + "api/bookmarks/bookmark_api_helpers.cc", +@@ -117,6 +123,8 @@ source_set("extensions") { "api/extension_action/extension_action_api.h", "api/extension_action/extension_page_actions_api_constants.cc", "api/extension_action/extension_page_actions_api_constants.h", + "api/eyeo_filtering_private/eyeo_filtering_private_api.cc", + "api/eyeo_filtering_private/eyeo_filtering_private_api.h", - "api/favicon/favicon_util.cc", - "api/favicon/favicon_util.h", "api/feedback_private/chrome_feedback_private_delegate.cc", -@@ -843,6 +851,7 @@ source_set("extensions") { + "api/feedback_private/chrome_feedback_private_delegate.h", + "api/file_system/chrome_file_system_delegate.cc", +@@ -807,6 +815,7 @@ source_set("extensions") { "//chrome/browser/safe_browsing:metrics_collector", "//chrome/browser/ui/tabs:tab_enums", "//chrome/browser/web_applications", @@ -96,7 +96,7 @@ diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/ import("//chrome/common/extensions/api/api_sources.gni") import("//chrome/common/features.gni") -@@ -85,6 +89,7 @@ function_registration("api_registration") { +@@ -107,6 +111,7 @@ function_registration("api_registration") { # include generated headers from these targets. # TODO(brettw) this should be made unnecessary if possible. "//chrome/common/extensions/api", @@ -2132,7 +2132,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac #include "chrome/browser/extensions/api/font_settings/font_settings_api.h" #include "chrome/browser/extensions/api/history/history_api.h" #include "chrome/browser/extensions/api/identity/identity_api.h" -@@ -74,6 +80,7 @@ namespace chrome_extensions { +@@ -72,6 +78,7 @@ namespace chrome_extensions { void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { extensions::ActivityLogAPI::GetFactoryInstance(); @@ -2140,7 +2140,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac extensions::AutofillPrivateEventRouterFactory::GetInstance(); extensions::BluetoothLowEnergyAPI::GetFactoryInstance(); extensions::BookmarksAPI::GetFactoryInstance(); -@@ -86,6 +93,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { +@@ -84,6 +91,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { extensions::DocumentScanAPIHandler::GetFactoryInstance(); #endif extensions::ExtensionActionAPI::GetFactoryInstance(); @@ -3478,7 +3478,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/autofill/core/common/autofill_prefs.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/browsing_data/core/pref_names.h" -@@ -177,6 +182,20 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -178,6 +183,20 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { } s_allowlist = new PrefsUtil::TypedPrefMap(); @@ -3554,10 +3554,10 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext // This features file defines extension APIs implemented under src/chrome. // See chrome/common/extensions/api/_features.md to understand this file, as -@@ -60,6 +64,16 @@ - "chrome://extensions/*" - ] - }], +@@ -64,6 +68,16 @@ + "contexts": ["privileged_extension"], + "channel": "dev" + }, + "adblockPrivate": [{ + "dependencies": ["permission:adblockPrivate"], + "contexts": ["blessed_extension"] @@ -3571,7 +3571,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext "app": { "blocklist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice -@@ -501,6 +515,14 @@ +@@ -521,6 +535,14 @@ "channel": "stable", "contexts": [] }, @@ -3600,8 +3600,8 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com // This features file defines permissions for extension APIs implemented // under src/chrome. -@@ -56,6 +60,10 @@ - "5107DE9024C329EEA9C9A72D94C16723790C6422" // Apps Developer Tool Dev. +@@ -67,6 +71,10 @@ + "extension" ] }, + "adblockPrivate": { @@ -3611,7 +3611,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -367,6 +375,10 @@ +@@ -380,6 +388,10 @@ "extension", "legacy_packaged_app", "hosted_app", "platform_app" ] }, @@ -3815,22 +3815,22 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens import("//build/config/chromeos/ui_mode.gni") import("//build/config/features.gni") -@@ -12,6 +16,7 @@ assert(enable_extensions) - schema_sources_ = [ - "accessibility_features.json", - "activity_log_private.json", -+ "adblock_private.idl", - "autofill_private.idl", - "autotest_private.idl", - "bookmark_manager_private.json", -@@ -30,6 +35,7 @@ schema_sources_ = [ - "downloads_internal.idl", - "enterprise_hardware_platform.idl", - "enterprise_reporting_private.idl", -+ "eyeo_filtering_private.idl", - "font_settings.json", - "gcm.json", - "history.json", +@@ -23,6 +27,7 @@ if (enable_extensions) { + schema_sources_ += [ + "accessibility_features.json", + "activity_log_private.json", ++ "adblock_private.idl", + "experimental_ai_data.idl", + "autofill_private.idl", + "autotest_private.idl", +@@ -42,6 +47,7 @@ if (enable_extensions) { + "downloads_internal.idl", + "enterprise_hardware_platform.idl", + "enterprise_reporting_private.idl", ++ "eyeo_filtering_private.idl", + "font_settings.json", + "gcm.json", + "history.json", diff --git a/chrome/common/extensions/api/eyeo_filtering_private.idl b/chrome/common/extensions/api/eyeo_filtering_private.idl new file mode 100644 --- /dev/null @@ -4060,7 +4060,7 @@ diff --git a/chrome/common/extensions/permissions/chrome_api_permissions.cc b/ch {APIPermissionID::kBackground, "background", APIPermissionInfo::kFlagDoesNotRequireManagedSessionFullLoginWarning}, {APIPermissionID::kDeclarativeContent, "declarativeContent"}, -@@ -84,6 +90,8 @@ constexpr APIPermissionInfo::InitInfo permissions_to_register[] = { +@@ -85,6 +91,8 @@ constexpr APIPermissionInfo::InitInfo permissions_to_register[] = { {APIPermissionID::kEnterpriseNetworkingAttributes, "enterprise.networkingAttributes", APIPermissionInfo::kFlagDoesNotRequireManagedSessionFullLoginWarning}, @@ -4072,7 +4072,7 @@ diff --git a/chrome/common/extensions/permissions/chrome_api_permissions.cc b/ch diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/chrome/common/extensions/permissions/permission_set_unittest.cc --- a/chrome/common/extensions/permissions/permission_set_unittest.cc +++ b/chrome/common/extensions/permissions/permission_set_unittest.cc -@@ -869,6 +869,10 @@ TEST(PermissionsTest, PermissionMessages) { +@@ -873,6 +873,10 @@ TEST(PermissionsTest, PermissionMessages) { skip.insert(APIPermissionID::kSystemLog); skip.insert(APIPermissionID::kOdfsConfigPrivate); @@ -4121,10 +4121,10 @@ diff --git a/extensions/common/mojom/api_permission_id.mojom b/extensions/common module extensions.mojom; -@@ -283,6 +287,8 @@ enum APIPermissionID { - kOdfsConfigPrivate = 256, +@@ -284,6 +288,8 @@ enum APIPermissionID { kChromeOSManagementAudio = 257, kChromeOSDiagnosticsNetworkInfoForMlab = 258, + kAIAssistantOriginTrial = 259, + kAdblockPrivate = 999, + kEyeoFilteringPrivate = 1000, @@ -4133,18 +4133,18 @@ diff --git a/extensions/common/mojom/api_permission_id.mojom b/extensions/common diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metrics/histograms/metadata/extensions/enums.xml --- a/tools/metrics/histograms/metadata/extensions/enums.xml +++ b/tools/metrics/histograms/metadata/extensions/enums.xml -@@ -757,6 +757,7 @@ Called by update_extension_histograms.py.--> - +@@ -758,6 +758,7 @@ Called by update_extension_histograms.py.--> -+ + ++ -@@ -3138,6 +3139,8 @@ Called by update_extension_permission.py.--> - +@@ -3148,6 +3149,8 @@ Called by update_extension_permission.py.--> + + + diff --git a/build/patches/kill-Auth.patch b/build/patches/kill-Auth.patch index 9a8eb0a8..082acbe2 100644 --- a/build/patches/kill-Auth.patch +++ b/build/patches/kill-Auth.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java --- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java +++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java -@@ -25,9 +25,6 @@ import android.os.SystemClock; +@@ -24,9 +24,6 @@ import android.os.SystemClock; import androidx.annotation.Nullable; @@ -20,7 +20,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.Callback; import org.chromium.base.ContextUtils; -@@ -88,18 +85,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -87,18 +84,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @Override public Account[] getAccountsSynchronous() throws AccountManagerDelegateException { @@ -39,7 +39,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s // Don't report any accounts if we don't have permission. // TODO(crbug.com/40942462): Throw an exception if permission was denied. return new Account[] {}; -@@ -110,31 +95,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -109,31 +94,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { throws AuthException { ThreadUtils.assertOnBackgroundThread(); assert AccountUtils.GOOGLE_ACCOUNT_TYPE.equals(account.type); @@ -72,8 +72,8 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s - } } - @Override -@@ -171,24 +137,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { + protected boolean hasFeatures(Account account, String[] features) { +@@ -165,24 +131,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @SuppressLint("MissingPermission") @Override public void createAddAccountIntent(Callback callback) { @@ -98,7 +98,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s } // No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs -@@ -223,12 +171,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -217,12 +165,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @Nullable @Override public String getAccountGaiaId(String accountEmail) { diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index f48b462a..c368c9d3 100644 --- a/build/patches/kill-Vision.patch +++ b/build/patches/kill-Vision.patch @@ -15,15 +15,15 @@ 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 -@@ -354,8 +354,6 @@ if (current_toolchain == default_toolchain) { +@@ -355,8 +355,6 @@ if (current_toolchain == default_toolchain) { "$google_play_services_package:google_play_services_gcm_java", "$google_play_services_package:google_play_services_iid_java", "$google_play_services_package:google_play_services_tasks_java", - "$google_play_services_package:google_play_services_vision_common_java", - "$google_play_services_package:google_play_services_vision_java", + "//base:content_uri_utils_java", + "//base:service_loader_java", "//base/version_info/android:version_constants_java", - "//cc:cc_java", - "//cc/mojom:mojom_java", diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn --- a/services/shape_detection/BUILD.gn +++ b/services/shape_detection/BUILD.gn diff --git a/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch b/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch index 864f1ecc..4052fc75 100644 --- a/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch +++ b/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch @@ -13,12 +13,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/common/mime_util/mime_util.cc b/third_party/blink/common/mime_util/mime_util.cc --- a/third_party/blink/common/mime_util/mime_util.cc +++ b/third_party/blink/common/mime_util/mime_util.cc -@@ -83,6 +83,7 @@ static const char* const kUnsupportedTextTypes[] = { - "text/x-csv", - "text/x-vcf", - "text/rtf", -+ "text/x-suse-ymp", - "text/comma-separated-values", - "text/csv", - "text/tab-separated-values", +@@ -86,6 +86,7 @@ constexpr auto kUnsupportedTextTypes = + "text/x-csv", + "text/x-vcf", + "text/rtf", ++ "text/x-suse-ymp", + "text/comma-separated-values", + "text/csv", + "text/tab-separated-values", -- diff --git a/build/patches/prefs-always-prompt-for-download-directory.patch b/build/patches/prefs-always-prompt-for-download-directory.patch index 8612a361..79384c6a 100644 --- a/build/patches/prefs-always-prompt-for-download-directory.patch +++ b/build/patches/prefs-always-prompt-for-download-directory.patch @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc --- a/chrome/browser/download/download_prefs.cc +++ b/chrome/browser/download/download_prefs.cc -@@ -279,7 +279,7 @@ void DownloadPrefs::RegisterProfilePrefs( +@@ -275,7 +275,7 @@ void DownloadPrefs::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kPromptForDownload, diff --git a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch index d1b4ac73..01b33d2c 100644 --- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch +++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc --- a/components/network_time/network_time_tracker.cc +++ b/components/network_time/network_time_tracker.cc -@@ -279,7 +279,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, +@@ -282,7 +282,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, } bool NetworkTimeTracker::AreTimeFetchesEnabled() const { diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 7a76cbe3..adc6d6a2 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -14,15 +14,15 @@ 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 -@@ -1350,8 +1350,6 @@ static_library("browser") { - "profiles/profile_attributes_storage.cc", - "profiles/profile_attributes_storage.h", - "profiles/profile_attributes_storage_observer.h", +@@ -1327,8 +1327,6 @@ static_library("browser") { + "profiles/keep_alive/scoped_profile_keep_alive.h", + "profiles/off_the_record_profile_impl.cc", + "profiles/off_the_record_profile_impl.h", - "profiles/profile_avatar_downloader.cc", - "profiles/profile_avatar_downloader.h", - "profiles/profile_avatar_icon_util.cc", - "profiles/profile_avatar_icon_util.h", "profiles/profile_destroyer.cc", + "profiles/profile_destroyer.h", + "profiles/profile_downloader.cc", diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 797a8644..8caa9a63 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -81,7 +81,7 @@ diff --git a/chrome/browser/language/android/java/res/xml/languages_preferences. diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java -@@ -46,12 +46,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -48,12 +48,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment static final String APP_LANGUAGE_PREFERENCE_KEY = "app_language_preference"; static final String PREFERRED_LANGUAGES_KEY = "preferred_languages"; static final String CONTENT_LANGUAGES_KEY = "content_languages_preference"; @@ -94,7 +94,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse private static final String TAG = "LanguageSettings"; -@@ -92,35 +86,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -101,35 +95,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment ContentLanguagesPreference mLanguageListPref = (ContentLanguagesPreference) findPreference(PREFERRED_LANGUAGES_KEY); mLanguageListPref.initialize(this, getProfile(), getPrefService()); @@ -130,7 +130,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse } /** -@@ -135,8 +100,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -144,8 +109,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment ContentLanguagesPreference mLanguageListPref = (ContentLanguagesPreference) findPreference(CONTENT_LANGUAGES_KEY); mLanguageListPref.initialize(this, getProfile(), getPrefService()); @@ -139,7 +139,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse } /** Setup the App Language section with a title and preference to choose the app language. */ -@@ -167,7 +130,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -176,7 +139,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment * @param contentLanguagesPreference ContentLanguagesPreference reference to update about state * changes. */ @@ -148,7 +148,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse // Setup expandable advanced settings section. PreferenceCategory translationAdvancedSection = (PreferenceCategory) findPreference(TRANSLATION_ADVANCED_SECTION); -@@ -245,7 +208,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -254,7 +217,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment return getPrefService().isManagedPreference(Pref.OFFER_TRANSLATE_ENABLED); } }); @@ -157,7 +157,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse @Override public void onStart() { -@@ -284,12 +247,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -293,12 +256,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment // Set the default target language to match the new app language. TranslateBridge.setDefaultTargetLanguage(getProfile(), code); } else if (requestCode == REQUEST_CODE_CHANGE_TARGET_LANGUAGE) { @@ -173,7 +173,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2019,9 +2019,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2076,9 +2076,6 @@ Your Google account may have other forms of browsing history like searches and a Let websites know the languages you speak. They’ll show content in those languages, when possible. diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 330b1e1a..46d3c0cc 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -29,6 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../new_tab_page/promos/promo_service.cc | 6 +- .../from_gws_page_load_metrics_observer.cc | 6 +- .../page_load_metrics_initialize.cc | 5 - + .../profile_resetter/profile_resetter.cc | 3 +- chrome/browser/safe_browsing/BUILD.gn | 1 - chrome/browser/search_engines/BUILD.gn | 1 - .../ui_thread_search_terms_data.cc | 4 - @@ -37,7 +38,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../omnibox/LocationBarCoordinator.java | 2 - .../browser/omnibox/LocationBarMediator.java | 25 -- .../ui/webui/new_tab_page/new_tab_page_ui.cc | 5 - - .../webui/settings/reset_settings_handler.cc | 1 - .../upgrade_detector/upgrade_detector_impl.cc | 6 - chrome/common/BUILD.gn | 2 - .../google_accounts_private_api_util.cc | 3 + @@ -64,13 +64,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...gled-chromium-no-special-hosts-domains.inc | 1 + net/base/url_util.cc | 25 +- services/network/network_context.cc | 2 +- - 57 files changed, 57 insertions(+), 854 deletions(-) + 57 files changed, 58 insertions(+), 855 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -97,7 +97,6 @@ import org.chromium.chrome.browser.messages.MessageContainerObserver; +@@ -98,7 +98,6 @@ import org.chromium.chrome.browser.messages.MessageContainerObserver; import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer; import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; @@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; -@@ -1194,10 +1193,8 @@ public class RootUiCoordinator +@@ -1197,10 +1196,8 @@ public class RootUiCoordinator String url = TemplateUrlServiceFactory.getForProfile(tab.getProfile()) .getUrlForSearchQuery(query); @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -939,8 +939,6 @@ static_library("browser") { +@@ -929,8 +929,6 @@ static_library("browser") { "page_info/page_info_features.h", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.cc", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.h", @@ -101,7 +101,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/core/amp_page_load_metrics_observer.cc", "page_load_metrics/observers/core/amp_page_load_metrics_observer.h", "page_load_metrics/observers/core/ukm_page_load_metrics_observer.cc", -@@ -951,12 +949,6 @@ static_library("browser") { +@@ -941,12 +939,6 @@ static_library("browser") { "page_load_metrics/observers/foreground_duration_ukm_observer.h", "page_load_metrics/observers/formfill_page_load_metrics_observer.cc", "page_load_metrics/observers/formfill_page_load_metrics_observer.h", @@ -114,7 +114,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/histogram_suffixes.cc", "page_load_metrics/observers/histogram_suffixes.h", "page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.cc", -@@ -1624,8 +1616,6 @@ static_library("browser") { +@@ -1592,8 +1584,6 @@ static_library("browser") { "supervised_user/classify_url_navigation_throttle.h", "supervised_user/supervised_user_browser_utils.cc", "supervised_user/supervised_user_browser_utils.h", @@ -123,17 +123,17 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "supervised_user/supervised_user_interstitial_tab_closer.cc", "supervised_user/supervised_user_interstitial_tab_closer.h", "supervised_user/supervised_user_metrics_service_factory.cc", -@@ -1815,9 +1805,6 @@ static_library("browser") { - "//chrome/browser/autofill", +@@ -1784,9 +1774,6 @@ static_library("browser") { + "//chrome/browser/commerce:impl", "//chrome/browser/devtools", "//chrome/browser/favicon", - "//chrome/browser/feedback", - "//chrome/browser/feedback:feedback_impl", - "//chrome/browser/google", "//chrome/browser/media/webrtc", + "//chrome/browser/file_system_access:impl", "//chrome/browser/search", - -@@ -1871,7 +1858,6 @@ static_library("browser") { +@@ -1851,7 +1838,6 @@ static_library("browser") { # New dependencies inside of //chrome/browser that generate header files # should be added to browser_generated_files. ":browser_public_dependencies", @@ -164,7 +164,7 @@ diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browse diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/browser/android/signin/signin_manager_android.cc --- a/chrome/browser/android/signin/signin_manager_android.cc +++ b/chrome/browser/android/signin/signin_manager_android.cc -@@ -71,41 +71,10 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { +@@ -70,41 +70,10 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { origin_runner_(base::SingleThreadTaskRunner::GetCurrentDefault()), remover_(profile->GetBrowsingDataRemover()) { remover_->AddObserver(this); @@ -213,7 +213,7 @@ diff --git a/chrome/browser/android/signin/signin_manager_android.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 -@@ -1188,7 +1188,6 @@ BrowserProcessImpl::component_updater() { +@@ -1218,7 +1218,6 @@ BrowserProcessImpl::component_updater() { std::make_unique(); std::string brand; @@ -224,7 +224,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -559,11 +559,6 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -561,11 +561,6 @@ void ProcessSingletonNotificationCallbackImpl( StartupBrowserCreator::ProcessCommandLineAlreadyRunning( command_line, current_directory, startup_profile_path_info); @@ -236,7 +236,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows } #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON) -@@ -1815,11 +1810,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1837,11 +1832,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { upgrade_util::SaveLastModifiedTimeOfExe(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) @@ -251,7 +251,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -3014,7 +3014,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -3023,7 +3023,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForcePNaClSubzero, #endif switches::kForceUIDirection, @@ -259,7 +259,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5453,9 +5452,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5459,9 +5458,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( } #endif @@ -269,7 +269,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch if (base::FeatureList::IsEnabled( supervised_user::kClassifyUrlOnProcessResponseEvent)) { -@@ -6044,7 +6040,8 @@ GetClientDataHeader(int frame_tree_node_id) { +@@ -6056,7 +6052,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { } #endif @@ -279,7 +279,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(IS_ANDROID) const std::string& client_data_header, #endif -@@ -6084,7 +6081,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -6096,7 +6093,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( std::move(bound_session_request_throttled_handler), #endif std::move(dynamic_params)); @@ -288,7 +288,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch std::vector> ChromeContentBrowserClient::CreateURLLoaderThrottles( -@@ -6141,15 +6138,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -6153,15 +6150,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( GetClientDataHeader(frame_tree_node_id); #endif @@ -304,7 +304,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch { auto* factory = ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context); -@@ -6204,20 +6192,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -6216,20 +6204,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( } #endif @@ -374,7 +374,7 @@ diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/brows diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -832,7 +832,6 @@ source_set("extensions") { +@@ -796,7 +796,6 @@ source_set("extensions") { "//chrome/browser/devtools", "//chrome/browser/extensions:cws_item_service_proto", "//chrome/browser/favicon", @@ -631,7 +631,7 @@ diff --git a/chrome/browser/metrics/metrics_reporting_state.cc b/chrome/browser/ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -842,7 +842,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -856,7 +856,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); @@ -710,6 +710,19 @@ diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/ tracker->AddObserver(std::make_unique()); tracker->AddObserver( std::make_unique()); +diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc +--- a/chrome/browser/profile_resetter/profile_resetter.cc ++++ b/chrome/browser/profile_resetter/profile_resetter.cc +@@ -100,8 +100,7 @@ ProfileResetter::ProfileResetter(Profile* profile) + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(profile_); + +- google_brand::GetBrand(&brandcode_); +- if (brandcode_.empty()) { ++ if ((true)) { + return; + } + config_fetcher_ = std::make_unique( 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 @@ -749,9 +762,9 @@ diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chro 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 -@@ -451,7 +451,6 @@ static_library("ui") { - "//chrome/browser/favicon", +@@ -399,7 +399,6 @@ static_library("ui") { "//chrome/browser/feedback:feedback_impl", + "//chrome/browser/file_system_access", "//chrome/browser/fingerprinting_protection", - "//chrome/browser/google", "//chrome/browser/image_decoder", @@ -799,7 +812,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; -@@ -307,24 +306,6 @@ class LocationBarMediator +@@ -309,24 +308,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); @@ -824,7 +837,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -340,8 +321,6 @@ class LocationBarMediator +@@ -342,8 +323,6 @@ class LocationBarMediator templateUrlService.addObserver(this); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && templateUrlService.isDefaultSearchEngineGoogle()) { @@ -833,7 +846,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } }); -@@ -574,7 +553,6 @@ class LocationBarMediator +@@ -576,7 +555,6 @@ class LocationBarMediator LoadUrlParams loadUrlParams = new LoadUrlParams(url); try (TimingMetric record = TimingMetric.shortUptime("Android.Omnibox.SetGeolocationHeadersTime")) { @@ -841,7 +854,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); -@@ -1550,15 +1528,12 @@ class LocationBarMediator +@@ -1553,15 +1531,12 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && mProfileSupplier.hasValue() && mTemplateUrlServiceSupplier.hasValue()) { @@ -872,17 +885,6 @@ diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/br return source; } -diff --git a/chrome/browser/ui/webui/settings/reset_settings_handler.cc b/chrome/browser/ui/webui/settings/reset_settings_handler.cc ---- a/chrome/browser/ui/webui/settings/reset_settings_handler.cc -+++ b/chrome/browser/ui/webui/settings/reset_settings_handler.cc -@@ -98,7 +98,6 @@ bool ResetSettingsHandler::ShouldShowResetProfileBanner(Profile* profile) { - - ResetSettingsHandler::ResetSettingsHandler(Profile* profile) - : profile_(profile) { -- google_brand::GetBrand(&brandcode_); - } - - ResetSettingsHandler::~ResetSettingsHandler() {} diff --git a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc b/chrome/browser/upgrade_detector/upgrade_detector_impl.cc --- a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc +++ b/chrome/browser/upgrade_detector/upgrade_detector_impl.cc @@ -902,7 +904,7 @@ diff --git a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc b/chrome/b diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -146,8 +146,6 @@ static_library("common_lib") { +@@ -145,8 +145,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -948,8 +950,8 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6534,7 +6534,6 @@ test("unit_tests") { - "//chrome/browser/feedback:feedback_impl", +@@ -6635,7 +6635,6 @@ test("unit_tests") { + "//chrome/browser/file_system_access:unit_tests", "//chrome/browser/fingerprinting_protection", "//chrome/browser/first_party_sets", - "//chrome/browser/google:unit_tests", @@ -968,7 +970,7 @@ diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliabil visibility = [ ":*" ] script = "bake_in_configs.py" -@@ -73,12 +73,9 @@ component("domain_reliability") { +@@ -71,12 +71,9 @@ component("domain_reliability") { "util.cc", "util.h", ] @@ -1090,7 +1092,7 @@ diff --git a/components/domain_reliability/google_configs.h b/components/domain_ diff --git a/components/domain_reliability/monitor.cc b/components/domain_reliability/monitor.cc --- a/components/domain_reliability/monitor.cc +++ b/components/domain_reliability/monitor.cc -@@ -101,14 +101,6 @@ void DomainReliabilityMonitor::Shutdown() { +@@ -100,14 +100,6 @@ void DomainReliabilityMonitor::Shutdown() { } void DomainReliabilityMonitor::AddBakedInConfigs() { @@ -1616,7 +1618,7 @@ diff --git a/components/search_engines/search_terms_data.cc b/components/search_ diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -589,11 +589,7 @@ std::u16string TemplateURLRef::SearchTermToString16( +@@ -590,11 +590,7 @@ std::u16string TemplateURLRef::SearchTermToString16( bool TemplateURLRef::HasGoogleBaseURLs( const SearchTermsData& search_terms_data) const { ParseIfNecessary(search_terms_data); @@ -1811,7 +1813,7 @@ new file mode 100644 diff --git a/net/base/url_util.cc b/net/base/url_util.cc --- a/net/base/url_util.cc +++ b/net/base/url_util.cc -@@ -495,34 +495,11 @@ bool HasGoogleHost(const GURL& url) { +@@ -493,34 +493,11 @@ bool HasGoogleHost(const GURL& url) { } bool IsGoogleHost(std::string_view host) { diff --git a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch index 6a2f5637..1c70321d 100644 --- a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch +++ b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch @@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d } bool IsValidPortRange(uint16_t min_port, uint16_t max_port) { -@@ -907,7 +909,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -905,7 +907,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( break; } diff --git a/build/patches/webview-Hard-no-to-persistent-histograms.patch b/build/patches/webview-Hard-no-to-persistent-histograms.patch index 0f364fa1..7817dc26 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -27,7 +27,7 @@ diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browse - if (base::PathService::Get(base::DIR_ANDROID_APP_DATA, &metrics_dir)) { - InstantiatePersistentHistogramsWithFeaturesAndCleanup(metrics_dir); - } else { -- NOTREACHED_IN_MIGRATION(); +- NOTREACHED(); - } } From 0ccecacde8a9cd86e0285b0baeadd0aeff26c008 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 12 Oct 2024 13:06:06 +0200 Subject: [PATCH 3/7] Patches for v130 - to be checked (#1547) --- .../Content-settings-infrastructure.patch | 222 +++++------ .../Disable-omission-of-URL-elements.patch | 115 ++++-- build/patches/Disable-safety-check.patch | 120 ++++-- ...story-number-of-days-privacy-setting.patch | 54 +-- .../Restore-Simplified-NTP-launch.patch | 25 +- build/patches/Use-dummy-DFM-installer.patch | 356 ++---------------- 6 files changed, 327 insertions(+), 565 deletions(-) diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index e5ffba29..a945d2ea 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -72,8 +72,8 @@ Require: bromite-build-utils.patch .../common/content_settings_mojom_traits.cc | 12 +- .../common/content_settings_mojom_traits.h | 24 + .../core/common/content_settings_types.mojom | 1 + - .../renderer/content_settings_agent_impl.cc | 45 +- - .../renderer/content_settings_agent_impl.h | 9 +- + .../renderer/content_settings_agent_impl.cc | 43 ++ + .../renderer/content_settings_agent_impl.h | 7 + .../PageInfoPermissionsController.java | 9 + .../PermissionParamsListBuilder.java | 1 + .../android/page_info_controller_android.cc | 18 + @@ -83,7 +83,7 @@ Require: bromite-build-utils.patch .../platform/web_content_settings_client.h | 9 + .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + - 72 files changed, 1868 insertions(+), 95 deletions(-) + 72 files changed, 1866 insertions(+), 93 deletions(-) create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java @@ -97,7 +97,7 @@ Require: bromite-build-utils.patch diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java -@@ -59,6 +59,10 @@ import org.chromium.url.GURL; +@@ -62,6 +62,10 @@ import org.chromium.url.GURL; import java.util.Set; @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C /** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { public static final String EMBEDDED_CONTENT_HELP_CENTER_URL = -@@ -217,7 +221,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -227,7 +231,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { @Override public boolean isHelpAndFeedbackEnabled() { @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C } @Override -@@ -349,6 +353,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -359,6 +363,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return mPrivacySandboxBridge.getFirstPartySetOwner(memberOrigin); } @@ -138,7 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C diff --git a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc --- a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc +++ b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc -@@ -166,7 +166,7 @@ namespace { +@@ -162,7 +162,7 @@ namespace { void GetGuestViewDefaultContentSettingRules( bool incognito, RendererContentSettingRules* rules) { @@ -150,7 +150,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html -@@ -1474,4 +1474,5 @@ +@@ -1534,4 +1534,5 @@ @@ -159,7 +159,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ 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 -@@ -53,6 +53,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_ +@@ -54,6 +54,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_ import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_availability_mixin.js'; import {getTemplate} from './privacy_page.html.js'; @@ -167,7 +167,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch interface BlockAutoplayStatus { enabled: boolean; -@@ -76,8 +77,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -77,8 +78,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { return 'settings-privacy-page'; } @@ -262,9 +262,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc /** * Add all of the child routes that originate from the privacy route, -@@ -154,6 +155,7 @@ function addPrivacyChildRoutes(r: Partial) { - r.SITE_SETTINGS_AUTOMATIC_FULLSCREEN = - r.SITE_SETTINGS.createChild('automaticFullScreen'); +@@ -165,6 +166,7 @@ function addPrivacyChildRoutes(r: Partial) { + r.SITE_SETTINGS_WEB_APP_INSTALLATION = + r.SITE_SETTINGS.createChild('webApplications'); } + setupContentSettingsRoutes(r); } @@ -294,7 +294,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts --- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts +++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts -@@ -31,6 +31,7 @@ import {ContentSettingProvider} from './site_settings_prefs_browser_proxy.js'; +@@ -31,6 +31,7 @@ import {DefaultSettingSource} from './site_settings_prefs_browser_proxy.js'; export enum SiteContentRadioSetting { DISABLED = 0, ENABLED = 1, @@ -337,7 +337,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d private getAllowOptionForCategory_(): ContentSetting { switch (this.category) { case ContentSettingsTypes.ADS: -@@ -169,6 +184,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -172,6 +187,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends // "Ask" vs "Blocked". return ContentSetting.ASK; default: @@ -346,7 +346,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d assertNotReached('Invalid category: ' + this.category); } } -@@ -193,6 +210,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -196,6 +213,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends /** @type {!ContentSetting} */ (this.getAllowOptionForCategory_()); this.browserProxy.setDefaultValueForContentType( this.category, @@ -354,7 +354,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d this.categoryEnabled_ ? allowOption : ContentSetting.BLOCK); } -@@ -224,7 +242,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -227,7 +245,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends } const enabled = this.computeIsSettingEnabled(update.setting); @@ -369,11 +369,11 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html --- a/chrome/browser/resources/settings/site_settings/site_details.html +++ b/chrome/browser/resources/settings/site_settings/site_details.html -@@ -309,4 +309,5 @@ - label="$i18n{siteSettingsPointerLock}"> +@@ -322,4 +322,5 @@ + label="$i18n{siteSettingsWebAppInstallation}"> - -+
+ ++
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts --- a/chrome/browser/resources/settings/site_settings/site_details.ts @@ -588,7 +588,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ { route: routes.SITE_SETTINGS_ADS, id: Id.ADS, -@@ -435,10 +435,36 @@ function getCategoryItemMap(): Map { +@@ -463,10 +463,36 @@ function getCategoryItemMap(): Map { disabledLabel: 'trackingProtectionLinkRowSubLabel', }); } @@ -625,7 +625,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]): CategoryListItem[] { const map = getCategoryItemMap(); -@@ -524,7 +550,7 @@ export class SettingsSiteSettingsPageElement extends +@@ -554,7 +580,7 @@ export class SettingsSiteSettingsPageElement extends Id.IMAGES, Id.POPUPS, ]), @@ -692,8 +692,8 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ /** * Determine localization string for i18n for a given content settings type. * Sorted alphabetically by |ContentSettingsType|. -@@ -102,6 +150,13 @@ export function getLocalizationStringForContentType( - case ContentSettingsTypes.OFFER_WRITING_HELP: +@@ -107,6 +155,13 @@ export function getLocalizationStringForContentType( + case ContentSettingsTypes.SMART_CARD_READERS: return null; default: + for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) { @@ -709,7 +709,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -2041,6 +2041,7 @@ static_library("ui") { +@@ -1990,6 +1990,7 @@ static_library("ui") { "//components/commerce/core:shopping_service", "//components/commerce/core/webui", "//components/endpoint_fetcher:endpoint_fetcher", @@ -745,7 +745,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) -@@ -251,8 +252,20 @@ void PageInfoMainView::SetPermissionInfo( +@@ -252,8 +253,20 @@ void PageInfoMainView::SetPermissionInfo( scroll_view->SetDrawOverflowIndicator(false); auto* content_view = scroll_view->SetContents(std::make_unique()); @@ -768,7 +768,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); -@@ -267,11 +280,16 @@ void PageInfoMainView::SetPermissionInfo( +@@ -268,11 +281,16 @@ void PageInfoMainView::SetPermissionInfo( } } @@ -785,7 +785,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); -@@ -279,6 +297,8 @@ void PageInfoMainView::SetPermissionInfo( +@@ -280,6 +298,8 @@ void PageInfoMainView::SetPermissionInfo( } for (auto& object : chosen_object_info_list) { @@ -794,7 +794,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), -@@ -289,6 +309,10 @@ void PageInfoMainView::SetPermissionInfo( +@@ -290,6 +310,10 @@ void PageInfoMainView::SetPermissionInfo( content_view->AddChildView(std::move(object_view))); } @@ -817,7 +817,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" -@@ -246,7 +248,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -261,7 +263,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( ContentSetting setting = info.setting == CONTENT_SETTING_DEFAULT ? info.default_setting : info.setting; @@ -832,7 +832,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 = -@@ -528,6 +537,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -555,6 +564,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( icon = &vector_icons::kPointerLockIcon; break; default: @@ -853,7 +853,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 -@@ -87,6 +87,11 @@ class PageInfoViewFactory { +@@ -88,6 +88,11 @@ class PageInfoViewFactory { const PageInfo::PermissionInfo& info, bool blocked_on_system_level = false); @@ -1039,8 +1039,8 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c + choose_button_ = row_view_->AddControlUnderLabel(std::move(toggle_button)); const int icon_size = GetLayoutConstant(PAGE_INFO_ICON_SIZE); - // TODO(crbug.com/40101962): Update below code to only display the updated -@@ -250,9 +349,6 @@ void PermissionToggleRowView::InitForUserSource( + +@@ -226,9 +325,6 @@ void PermissionToggleRowView::InitForUserSource( auto spacer_view = std::make_unique(); spacer_view->SetPreferredSize(gfx::Size(icon_size, icon_size)); spacer_view_ = row_view_->AddControl(std::move(spacer_view)); @@ -1050,7 +1050,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c } } } -@@ -324,6 +420,33 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() { +@@ -300,6 +396,33 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() { } } } @@ -1109,7 +1109,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.h b/ch METADATA_HEADER(PermissionToggleRowView, views::View) public: -@@ -66,6 +72,12 @@ class PermissionToggleRowView : public views::View { +@@ -68,6 +74,12 @@ class PermissionToggleRowView : public views::View { private: friend class test::PageInfoBubbleViewTestApi; @@ -1122,7 +1122,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.h b/ch void OnToggleButtonPressed(); void InitForUserSource(bool should_show_spacer_view, const std::u16string& toggle_accessible_name); -@@ -82,6 +94,10 @@ class PermissionToggleRowView : public views::View { +@@ -84,6 +96,10 @@ class PermissionToggleRowView : public views::View { raw_ptr toggle_button_ = nullptr; raw_ptr spacer_view_ = nullptr; @@ -1144,7 +1144,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/buildflag.h" -@@ -75,6 +76,9 @@ +@@ -76,6 +77,9 @@ #include "components/google/core/common/google_util.h" #include "components/history/core/common/pref_names.h" #include "components/omnibox/common/omnibox_features.h" @@ -1154,7 +1154,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" -@@ -3756,6 +3760,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3693,6 +3697,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -1223,7 +1223,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/content_settings_types.h" -@@ -239,13 +241,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { +@@ -246,13 +248,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { {ContentSettingsType::STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, nullptr}, }; @@ -1244,7 +1244,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b struct SiteSettingSourceStringMapping { SiteSettingSource source; -@@ -477,6 +479,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -482,6 +484,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { return true; } } @@ -1258,7 +1258,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return false; } -@@ -490,11 +499,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { +@@ -495,11 +504,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { return entry.type; } } @@ -1284,7 +1284,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b for (const auto& entry : kContentSettingsTypeGroupNames) { if (type == entry.type) { // Content setting types that aren't represented in the settings UI -@@ -509,7 +531,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -514,7 +536,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { return entry.name ? entry.name : std::string_view(); } } @@ -1292,8 +1292,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b NOTREACHED_IN_MIGRATION() << static_cast(type) << " is not a recognized content settings type."; return std::string_view(); -@@ -609,6 +630,13 @@ std::vector GetVisiblePermissionCategories( - base_types->push_back(ContentSettingsType::POINTER_LOCK); +@@ -624,6 +645,13 @@ std::vector GetVisiblePermissionCategories( + base_types->push_back(ContentSettingsType::WEB_APP_INSTALLATION); } + content_settings::WebsiteSettingsRegistry* website_settings = @@ -1309,7 +1309,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn --- a/components/browser_ui/settings/android/BUILD.gn +++ b/components/browser_ui/settings/android/BUILD.gn -@@ -83,6 +83,7 @@ android_resources("java_resources") { +@@ -84,6 +84,7 @@ android_resources("java_resources") { "java/res/layout/managed_disclaimer_preference_for_radio_groups.xml", "java/res/layout/preference_chrome_image_view.xml", "java/res/layout/preference_spinner.xml", @@ -1507,7 +1507,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/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java -@@ -372,7 +372,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment +@@ -383,7 +383,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -1517,7 +1517,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -384,6 +385,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment +@@ -395,6 +396,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment getResources(), R.drawable.ic_help_and_feedback, getContext().getTheme())); @@ -2153,7 +2153,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c int icon, int title, @ContentSettingValues @Nullable Integer defaultEnabledValue, -@@ -415,6 +415,8 @@ public class ContentSettingsResources { +@@ -425,6 +425,8 @@ public class ContentSettingsResources { R.string.website_settings_category_vr_blocked, R.string.website_settings_category_vr_a11y); } @@ -2162,7 +2162,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c assert false; // NOTREACHED return null; } -@@ -573,6 +575,14 @@ public class ContentSettingsResources { +@@ -583,6 +585,14 @@ public class ContentSettingsResources { return getResourceItem(contentType).getDefaultDisabledValue(); } @@ -2177,7 +2177,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. * -@@ -736,6 +746,8 @@ public class ContentSettingsResources { +@@ -746,6 +756,8 @@ public class ContentSettingsResources { * Blocked states, in that order. */ public static int[] getTriStateSettingDescriptionIDs(int contentType) { @@ -2189,7 +2189,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 -@@ -331,6 +331,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -337,6 +337,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment website.site() .getContentSetting( browserContextHandle, mCategory.getContentSettingsType()); @@ -2200,7 +2200,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSetting != null) { return ContentSettingValues.BLOCK == contentSetting; } -@@ -495,6 +499,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -501,6 +505,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) : null; @@ -2208,7 +2208,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"); -@@ -525,7 +530,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -536,7 +541,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -2218,7 +2218,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -537,12 +543,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -548,12 +554,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getResources(), R.drawable.ic_help_and_feedback, getContext().getTheme())); @@ -2239,7 +2239,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) { getSiteSettingsDelegate() .launchProtectedContentHelpAndFeedbackActivity(getActivity()); -@@ -614,6 +628,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -625,6 +639,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment BrowserContextHandle browserContextHandle = getSiteSettingsDelegate().getBrowserContextHandle(); PrefService prefService = UserPrefs.get(browserContextHandle); @@ -2251,7 +2251,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (BINARY_TOGGLE_KEY.equals(preference.getKey())) { assert !mCategory.isManaged(); boolean toggleValue = (boolean) newValue; -@@ -808,6 +827,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -819,6 +838,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment .website_settings_allowed_group_heading_request_desktop_site; break; } @@ -2260,7 +2260,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c assert resource > 0; return getString(resource); } -@@ -923,6 +944,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -934,6 +955,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment default: break; } @@ -2269,7 +2269,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (allowSpecifyingExceptions) { getPreferenceScreen() .addPreference( -@@ -1109,8 +1132,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1120,8 +1143,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment private boolean isBlocked() { switch (mGlobalToggleLayout) { case GlobalToggleLayout.TRI_STATE_TOGGLE: @@ -2286,7 +2286,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 = -@@ -1177,7 +1208,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1188,7 +1219,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else if (mCategory.getType() == SiteSettingsCategory.Type.STORAGE_ACCESS) { infoText.setSummary(getStorageAccessSummary()); } else { @@ -2299,7 +2299,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Hide the anti-abuse text preferences, as needed. -@@ -1214,6 +1249,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1225,6 +1260,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else { screen.removePreference(mLocationTriStatePref); } @@ -2307,7 +2307,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (permissionBlockedByOs) { maybeShowOsWarning(screen); -@@ -1370,7 +1406,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1381,7 +1417,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getSiteSettingsDelegate().getBrowserContextHandle(), contentType); int[] descriptionIds = ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType); @@ -2316,7 +2316,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) { -@@ -1494,6 +1530,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1505,6 +1541,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment @ContentSettingValues Integer value = site.getContentSetting(browserContextHandle, contentSettingsType); @@ -2334,7 +2334,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 -@@ -48,6 +48,7 @@ import java.util.Collection; +@@ -51,6 +51,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -2342,7 +2342,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** Shows the permissions and other settings for a particular website. */ public class SingleWebsiteSettings extends BaseSiteSettingsFragment -@@ -166,7 +167,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -172,7 +173,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment case ContentSettingsType.CLIPBOARD_READ_WRITE: return "clipboard_permission_list"; default: @@ -2351,7 +2351,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -536,8 +537,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -549,8 +550,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setupContentSettingsPreferences() { mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder(); @@ -2375,7 +2375,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c preference.setKey(getPreferenceKey(type)); if (type == ContentSettingsType.ADS) { -@@ -1080,20 +1094,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1096,20 +1110,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @ContentSettingValues @Nullable Integer value, boolean isEmbargoed, boolean isOneTime) { @@ -2414,7 +2414,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c AppCompatResources.getColorStateList(getContext(), mHighlightColor) .getDefaultColor()); } -@@ -1309,14 +1335,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1325,14 +1351,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment permission = (Boolean) newValue ? ContentSettingValues.ALLOW : ContentSettingValues.BLOCK; } else { @@ -2440,15 +2440,15 @@ 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/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java -@@ -46,6 +46,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -51,6 +51,7 @@ public class SiteSettings extends BaseSiteSettingsFragment SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences); - getActivity().setTitle(getContext().getString(R.string.prefs_site_settings)); + mPageTitle.set(getContext().getString(R.string.prefs_site_settings)); + BromiteCustomContentSettingImpl.configurePreferences(this); configurePreferences(); updatePreferenceStates(); } -@@ -67,7 +68,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -77,7 +78,7 @@ public class SiteSettings extends BaseSiteSettingsFragment // Remove unsupported settings categories. for (@SiteSettingsCategory.Type int type = 0; @@ -2457,7 +2457,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c type++) { if (!getSiteSettingsDelegate().isCategoryVisible(type)) { getPreferenceScreen().removePreference(findPreference(type)); -@@ -89,7 +90,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -99,7 +100,7 @@ public class SiteSettings extends BaseSiteSettingsFragment @CookieControlsMode int cookieControlsMode = UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE); @@ -2466,7 +2466,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference p = findPreference(prefCategory); int contentType = SiteSettingsCategory.contentSettingsType(prefCategory); // p can be null if the Preference was removed in configurePreferences. -@@ -158,19 +159,21 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -169,19 +170,21 @@ public class SiteSettings extends BaseSiteSettingsFragment } else if (Type.ZOOM == prefCategory) { // Don't want to set a summary for Zoom because we don't want any message to display // under the Zoom row on site settings. @@ -2503,7 +2503,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/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 -@@ -70,7 +70,7 @@ public class SiteSettingsCategory { +@@ -73,7 +73,7 @@ public class SiteSettingsCategory { Type.ZOOM, Type.STORAGE_ACCESS, Type.TRACKING_PROTECTION, @@ -2512,16 +2512,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c }) @Retention(RetentionPolicy.SOURCE) public @interface Type { -@@ -109,7 +109,7 @@ public class SiteSettingsCategory { - int TRACKING_PROTECTION = 30; +@@ -113,7 +113,7 @@ public class SiteSettingsCategory { + int HAND_TRACKING = 31; /** Number of handled categories used for calculating array sizes. */ -- int NUM_ENTRIES = 31; -+ int NUM_ENTRIES_CHROMIUM = 31; +- int NUM_ENTRIES = 32; ++ int NUM_ENTRIES_CHROMIUM = 32; } private final BrowserContextHandle mBrowserContextHandle; -@@ -154,6 +154,9 @@ public class SiteSettingsCategory { +@@ -162,6 +162,9 @@ public class SiteSettingsCategory { } else { permission = ""; } @@ -2531,7 +2531,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return new SiteSettingsCategory(browserContextHandle, type, permission); } -@@ -162,7 +165,7 @@ public class SiteSettingsCategory { +@@ -170,7 +173,7 @@ public class SiteSettingsCategory { @ContentSettingsType.EnumType int contentSettingsType) { assert contentSettingsType != -1; assert Type.ALL_SITES == 0; @@ -2540,7 +2540,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSettingsType(i) == contentSettingsType) { return createFromType(browserContextHandle, i); } -@@ -173,7 +176,7 @@ public class SiteSettingsCategory { +@@ -181,7 +184,7 @@ public class SiteSettingsCategory { public static SiteSettingsCategory createFromPreferenceKey( BrowserContextHandle browserContextHandle, String preferenceKey) { assert Type.ALL_SITES == 0; @@ -2549,7 +2549,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (preferenceKey(i).equals(preferenceKey)) { return createFromType(browserContextHandle, i); } -@@ -244,8 +247,7 @@ public class SiteSettingsCategory { +@@ -254,8 +257,7 @@ public class SiteSettingsCategory { case Type.TRACKING_PROTECTION: return ContentSettingsType.DEFAULT; // Conversion unavailable. } @@ -2559,7 +2559,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } /** -@@ -330,8 +332,12 @@ public class SiteSettingsCategory { +@@ -342,8 +344,12 @@ public class SiteSettingsCategory { case Type.ZOOM: return "zoom"; default: @@ -2647,7 +2647,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java -@@ -107,7 +107,7 @@ public class WebsitePermissionsFetcher { +@@ -108,7 +108,7 @@ public class WebsitePermissionsFetcher { case ContentSettingsType.USB_GUARD: return WebsitePermissionsType.CHOSEN_OBJECT_INFO; default: @@ -2786,9 +2786,9 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -813,6 +814,7 @@ void ContentSettingsRegistry::Init() { +@@ -836,6 +837,7 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsRegistry::DESKTOP, - ContentSettingsInfo::DONT_INHERIT_IN_INCOGNITO, + ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +#include "components/content_settings/core/browser/bromite_content_settings.inc" } @@ -2797,7 +2797,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 -@@ -203,11 +203,7 @@ void RecordContentSettingsHistogram(const std::string& name, +@@ -205,11 +205,7 @@ void RecordContentSettingsHistogram(const std::string& name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -3129,17 +3129,17 @@ 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 -@@ -451,5 +451,6 @@ enum ContentSettingsType { - // origins to retry a request or load with storage access. - // BLOCK (default): no effect. - STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, +@@ -458,5 +458,6 @@ enum ContentSettingsType { + // Website setting to indicate whether user has opted in to allow web apps to + // install other web apps. + WEB_APP_INSTALLATION, +#include "components/content_settings/core/common/bromite_content_settings.inc" }; // LINT.ThenChange(//components/content_settings/core/browser/content_settings_uma_util.cc:kHistogramValue) diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -202,6 +202,49 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules( +@@ -200,6 +200,49 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules( std::move(renderer_settings)); } @@ -3189,19 +3189,10 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc void ContentSettingsAgentImpl::OnContentSettingsAgentRequest( mojo::PendingAssociatedReceiver receiver) { receivers_.Add(this, std::move(receiver)); -@@ -353,7 +396,7 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { - cached_storage_permissions_.clear(); - } - --bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const { -+bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const { - if (should_allowlist_) - return true; - diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h --- a/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h -@@ -80,6 +80,13 @@ class ContentSettingsAgentImpl +@@ -77,6 +77,13 @@ class ContentSettingsAgentImpl static mojom::ContentSettingsManager::StorageType ConvertToMojoStorageType( StorageType storage_type); @@ -3215,15 +3206,6 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h // blink::WebContentSettingsClient: void AllowStorageAccess(StorageType storage_type, base::OnceCallback callback) override; -@@ -135,7 +142,7 @@ class ContentSettingsAgentImpl - // Helpers. - // True if `render_frame()` contains content that is allowlisted for content - // settings. -- bool IsAllowlistedForContentSettings() const; -+ bool IsAllowlistedForContentSettingsCromite() const; - - // A getter for `content_settings_manager_` that ensures it is bound. - mojom::ContentSettingsManager& GetContentSettingsManager(); diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java @@ -3257,7 +3239,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -12,6 +12,7 @@ +@@ -13,6 +13,7 @@ #include "base/containers/contains.h" #include "base/feature_list.h" #include "components/content_settings/core/browser/host_content_settings_map.h" @@ -3265,7 +3247,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" -@@ -151,6 +152,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -162,6 +163,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( } permissions_to_display.push_back(ContentSettingsType::STORAGE_ACCESS); @@ -3281,7 +3263,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp std::map user_specified_settings_to_display; std::map -@@ -210,6 +220,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( +@@ -221,6 +231,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( return permission.setting; } @@ -3307,7 +3289,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" -@@ -1240,6 +1241,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1242,6 +1243,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { @@ -3322,7 +3304,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) { -@@ -1347,7 +1356,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1356,7 +1365,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); @@ -3354,7 +3336,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" -@@ -623,6 +624,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -625,6 +626,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -3367,7 +3349,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); -@@ -634,6 +641,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -636,6 +643,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -3380,7 +3362,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id_mid_sentence); -@@ -1079,6 +1092,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -1081,6 +1094,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } diff --git a/build/patches/Disable-omission-of-URL-elements.patch b/build/patches/Disable-omission-of-URL-elements.patch index 62d929c8..c55b91c7 100644 --- a/build/patches/Disable-omission-of-URL-elements.patch +++ b/build/patches/Disable-omission-of-URL-elements.patch @@ -6,28 +6,15 @@ Disabling some omissions of complete urls License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../ephemeraltab/EphemeralTabSheetContent.java | 3 +-- - .../share_sheet/ShareSheetBottomSheetContent.java | 4 +--- - .../toolbar/chrome_location_bar_model_delegate.cc | 2 +- - .../ui/views/page_info/page_info_main_view.cc | 15 ++++++++++----- - .../components/bookmarks/BookmarkItem.java | 1 + - .../omnibox/browser/titled_url_match_utils.cc | 2 +- - .../components/page_info/PageInfoController.java | 3 +-- - 7 files changed, 16 insertions(+), 14 deletions(-) + .../ShareSheetBottomSheetContent.java | 4 +- + .../EphemeralTabSheetContent.java | 3 +- + .../chrome_location_bar_model_delegate.cc | 2 +- + .../ui/views/page_info/page_info_main_view.cc | 67 ++++++++++--------- + .../components/bookmarks/BookmarkItem.java | 1 + + .../omnibox/browser/titled_url_match_utils.cc | 2 +- + .../page_info/PageInfoController.java | 3 +- + 7 files changed, 41 insertions(+), 41 deletions(-) -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabSheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabSheetContent.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabSheetContent.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabSheetContent.java -@@ -235,8 +235,7 @@ public class EphemeralTabSheetContent implements BottomSheetContent { - /** Sets the ephemeral tab URL. */ - public void updateURL(GURL url) { - TextView originView = mToolbarView.findViewById(R.id.origin); -- originView.setText( -- UrlFormatter.formatUrlForSecurityDisplay(url, SchemeDisplay.OMIT_HTTP_AND_HTTPS)); -+ originView.setText(url.getSpec()); - } - - /** Sets the security icon. */ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java --- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java +++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java @@ -42,6 +29,19 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s if (contentTypes.contains(ContentType.IMAGE) || contentTypes.contains(ContentType.IMAGE_AND_LINK)) { +diff --git a/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java b/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java +--- a/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java ++++ b/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java +@@ -234,8 +234,7 @@ public class EphemeralTabSheetContent implements BottomSheetContent { + /** Sets the ephemeral tab URL. */ + public void updateURL(GURL url) { + TextView originView = mToolbarView.findViewById(R.id.origin); +- originView.setText( +- UrlFormatter.formatUrlForSecurityDisplay(url, SchemeDisplay.OMIT_HTTP_AND_HTTPS)); ++ originView.setText(url.getSpec()); + } + + /** Sets the security icon. */ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc --- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc +++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc @@ -55,33 +55,76 @@ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc 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 -@@ -562,10 +562,14 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) { +@@ -562,38 +562,41 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) { } std::unique_ptr PageInfoMainView::CreateBubbleHeaderView() { -- auto header = std::make_unique(); -- header->SetLayoutManager(std::make_unique()) +- return views::Builder() +- .SetInteriorMargin(gfx::Insets::VH(0, 20)) +- .AddChildren( +- views::Builder( +- std::make_unique( +- std::u16string(), views::style::CONTEXT_DIALOG_TITLE, +- views::style::STYLE_HEADLINE_4, +- gfx::DirectionalityMode::DIRECTIONALITY_AS_URL)) +- .CopyAddressTo(&title_) +- .SetMultiLine(true) +- .SetAllowCharacterBreak(true) +- .SetHorizontalAlignment(gfx::ALIGN_LEFT) +- .SetProperty(views::kFlexBehaviorKey, +- views::FlexSpecification( +- views::LayoutOrientation::kHorizontal, +- views::MinimumFlexSizeRule::kScaleToZero, +- views::MaximumFlexSizeRule::kUnbounded) +- .WithWeight(1)), +- views::Builder( +- views::BubbleFrameView::CreateCloseButton( +- base::BindRepeating(&PageInfoNavigationHandler::CloseBubble, +- base::Unretained(navigation_handler_)))) +- .SetVisible(true) +- .SetProperty(views::kCrossAxisAlignmentKey, +- views::LayoutAlignment::kStart) +- .CustomConfigure(base::BindOnce([](views::View* button) { +- // Set views::kInternalPaddingKey for flex layout to account for +- // internal button padding when calculating margins. +- button->SetProperty(views::kInternalPaddingKey, +- button->GetInsets()); +- }))) +- .Build(); + auto cromite_header = std::make_unique(); + cromite_header->SetVerticalScrollBarMode(views::ScrollView::ScrollBarMode::kHiddenButEnabled); + cromite_header->SetHorizontalScrollBarMode(views::ScrollView::ScrollBarMode::kDisabled); + cromite_header->ClipHeightTo(0, 150); + auto scroll_contents = std::make_unique(); + scroll_contents->SetLayoutManager(std::make_unique()) - ->SetInteriorMargin(gfx::Insets::VH(0, 20)); -- title_ = header->AddChildView(std::make_unique( ++ ->SetInteriorMargin(gfx::Insets::VH(0, 20)); + title_ = scroll_contents->AddChildView(std::make_unique( - std::u16string(), views::style::CONTEXT_DIALOG_TITLE, - views::style::STYLE_HEADLINE_4, - gfx::DirectionalityMode::DIRECTIONALITY_AS_URL)); -@@ -589,9 +593,10 @@ std::unique_ptr PageInfoMainView::CreateBubbleHeaderView() { - // button padding when calculating margins. - close_button->SetProperty(views::kInternalPaddingKey, - close_button->GetInsets()); -- header->AddChildView(close_button.release()); ++ std::u16string(), views::style::CONTEXT_DIALOG_TITLE, ++ views::style::STYLE_HEADLINE_4, ++ gfx::DirectionalityMode::DIRECTIONALITY_AS_URL)); ++ title_->SetMultiLine(true); ++ title_->SetAllowCharacterBreak(true); ++ title_->SetHorizontalAlignment(gfx::ALIGN_LEFT); ++ title_->SetProperty( ++ views::kFlexBehaviorKey, ++ views::FlexSpecification(views::MinimumFlexSizeRule::kScaleToZero, ++ views::MaximumFlexSizeRule::kUnbounded, ++ /*adjust_height_for_width =*/true) ++ .WithWeight(1)); ++ auto close_button = views::BubbleFrameView::CreateCloseButton( ++ base::BindRepeating(&PageInfoNavigationHandler::CloseBubble, ++ base::Unretained(navigation_handler_))); ++ ++ close_button->SetVisible(true); ++ close_button->SetProperty(views::kCrossAxisAlignmentKey, ++ views::LayoutAlignment::kStart); ++ // Set views::kInternalPaddingKey for flex layout to account for internal ++ // button padding when calculating margins. ++ close_button->SetProperty(views::kInternalPaddingKey, ++ close_button->GetInsets()); + scroll_contents->AddChildView(close_button.release()); + cromite_header->SetContents(std::move(scroll_contents)); - -- return header; ++ + return cromite_header; } diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index b93ae4b5..027ed83c 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -4,19 +4,19 @@ Subject: Disable safety check License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/android/BUILD.gn | 5 ----- - chrome/android/chrome_java_sources.gni | 1 - - .../android/java/res/xml/main_preferences.xml | 5 ----- - .../browser/settings/SettingsActivity.java | 18 ------------------ - .../browser/settings/SettingsLauncherImpl.java | 8 ++------ - chrome/browser/BUILD.gn | 1 - - .../suggestions/action/OmniboxPedal.java | 3 --- - 7 files changed, 2 insertions(+), 39 deletions(-) + chrome/android/BUILD.gn | 5 --- + chrome/android/chrome_java_sources.gni | 1 - + .../android/java/res/xml/main_preferences.xml | 10 ----- + .../settings/FragmentDependencyProvider.java | 37 ------------------- + .../settings/SettingsLauncherImpl.java | 13 +------ + chrome/browser/BUILD.gn | 1 - + .../suggestions/action/OmniboxPedal.java | 3 -- + 7 files changed, 2 insertions(+), 68 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -465,7 +465,6 @@ if (current_toolchain == default_toolchain) { +@@ -475,7 +475,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/recent_tabs:helper_java", "//chrome/browser/recent_tabs:java", "//chrome/browser/safe_browsing/android:java", @@ -24,7 +24,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", -@@ -1122,8 +1121,6 @@ if (current_toolchain == default_toolchain) { +@@ -1139,8 +1138,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/recent_tabs:java", "//chrome/browser/recent_tabs:junit", "//chrome/browser/recent_tabs/internal:junit", @@ -33,7 +33,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/safety_hub/android:java", "//chrome/browser/safety_hub/android:junit", "//chrome/browser/screenshot_monitor:java", -@@ -1778,8 +1775,6 @@ if (current_toolchain == default_toolchain) { +@@ -1803,8 +1800,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/readaloud/android:java", "//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:javatests", @@ -56,33 +56,41 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java 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 -@@ -73,11 +73,6 @@ found in the LICENSE file. +@@ -56,16 +56,6 @@ for the previous order (main_preferences_legacy). --> android:key="privacy" - android:order="12" + android:order="8" android:title="@string/prefs_privacy_security"/> - - + + Profile::CreateProfile(const base::FilePath& path, +@@ -379,6 +379,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, void ProfileImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); @@ -218,7 +218,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ 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 -@@ -82,6 +82,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -83,6 +83,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { static get properties() { return { @@ -245,7 +245,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 -@@ -1329,6 +1329,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1383,6 +1383,18 @@ Your Google account may have other forms of browsing history like searches and a Browsing history @@ -267,7 +267,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 -@@ -1849,6 +1849,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1770,6 +1770,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}, @@ -455,16 +455,7 @@ diff --git a/components/history/core/browser/expire_history_backend.h b/componen diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc --- a/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc -@@ -165,7 +165,7 @@ const int kMaxRedirectCount = 32; - - // The number of days old a history entry can be before it is considered "old" - // and is deleted. --constexpr int kExpireDaysThreshold = 90; -+int kExpireDaysThreshold = 90; - - // The maximum number of days for which domain visit metrics are computed - // each time HistoryBackend::GetDomainDiversity() is called. -@@ -1312,6 +1312,19 @@ void HistoryBackend::InitImpl( +@@ -1320,6 +1320,19 @@ void HistoryBackend::InitImpl( expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } @@ -487,7 +478,16 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h --- a/components/history/core/browser/history_backend.h +++ b/components/history/core/browser/history_backend.h -@@ -233,6 +233,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, +@@ -208,7 +208,7 @@ class HistoryBackend : public base::RefCountedThreadSafe, + + // The number of days old a history entry can be before it is considered "old" + // and is deleted. +- static constexpr int kExpireDaysThreshold = 90; ++ static int kExpireDaysThreshold = 90; + + // Init must be called to complete object creation. This object can be + // constructed on any thread, but all other functions including Init() must +@@ -237,6 +237,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, void Init(bool force_fail, const HistoryDatabaseParams& history_database_params); @@ -509,7 +509,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his #include "components/history/core/browser/download_row.h" #include "components/history/core/browser/features.h" #include "components/history/core/browser/history_backend.h" -@@ -568,6 +571,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask( +@@ -564,6 +567,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask( return task_id; } @@ -543,7 +543,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his void HistoryService::ScheduleDBTaskForUI( base::OnceCallback callback) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -1492,6 +1522,9 @@ void HistoryService::Cleanup() { +@@ -1493,6 +1523,9 @@ void HistoryService::Cleanup() { return; } diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index 48e80251..62c5afa2 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -25,12 +25,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../tile/MostVisitedTilesMediator.java | 9 +- .../engagement/important_sites_util.cc | 2 +- .../flags/android/chrome_feature_list.cc | 1 + - .../browser/flags/ChromeFeatureList.java | 5 +- + .../browser/flags/ChromeFeatureList.java | 3 +- .../history/core/browser/top_sites_impl.h | 2 +- .../Restore-Simplified-NTP-launch.inc | 12 ++ .../Restore-Simplified-NTP-launch.inc | 6 + .../Restore-Simplified-NTP-launch.inc | 1 + - 24 files changed, 396 insertions(+), 30 deletions(-) + 24 files changed, 395 insertions(+), 29 deletions(-) create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java @@ -41,7 +41,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 -@@ -543,6 +543,7 @@ chrome_java_resources = [ +@@ -544,6 +544,7 @@ chrome_java_resources = [ "java/res/layout/new_tab_page_layout.xml", "java/res/layout/new_tab_page_tile_grid_placeholder.xml", "java/res/layout/open_full_chrome_history_header.xml", @@ -60,7 +60,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java", -@@ -1042,6 +1043,7 @@ chrome_java_sources = [ +@@ -1045,6 +1046,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java", @@ -194,7 +194,7 @@ diff --git a/chrome/android/java/res/values/attrs.xml b/chrome/android/java/res/ 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 -@@ -127,6 +127,8 @@ found in the LICENSE file. +@@ -124,6 +124,8 @@ found in the LICENSE file. 62dp @@ -692,7 +692,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -254,6 +254,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -257,6 +257,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kGtsCloseTabAnimation, &kIncognitoReauthenticationForAndroid, &kIncognitoScreenshot, @@ -703,7 +703,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 -@@ -360,6 +360,7 @@ public abstract class ChromeFeatureList { +@@ -366,6 +366,7 @@ public abstract class ChromeFeatureList { public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION = "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked"; @@ -711,7 +711,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect"; public static final String MUlTI_INSTANCE_APPLICATION_STATUS_CLEANUP = -@@ -640,7 +641,7 @@ public abstract class ChromeFeatureList { +@@ -658,7 +659,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sLogoPolish = newCachedFlag(LOGO_POLISH, true); public static final CachedFlag sLogoPolishAnimationKillSwitch = newCachedFlag(LOGO_POLISH_ANIMATION_KILL_SWITCH, true); @@ -720,15 +720,6 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sMayLaunchurlUsesSeparateStoragePartition = newCachedFlag(MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION, false); public static final CachedFlag sMostVisitedTilesReselect = newCachedFlag(MOST_VISITED_TILES_RESELECT, false); -@@ -676,7 +677,7 @@ public abstract class ChromeFeatureList { - newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, true); - public static final CachedFlag sStartSurfaceReturnTime = - newCachedFlag(START_SURFACE_RETURN_TIME, true); -- public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, true); -+ public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, false); - public static final CachedFlag sTabDragDropAsWindowAndroid = - newCachedFlag(TAB_DRAG_DROP_ANDROID, false); - public static final CachedFlag sTabGroupCreationDialogAndroid = diff --git a/components/history/core/browser/top_sites_impl.h b/components/history/core/browser/top_sites_impl.h --- a/components/history/core/browser/top_sites_impl.h +++ b/components/history/core/browser/top_sites_impl.h diff --git a/build/patches/Use-dummy-DFM-installer.patch b/build/patches/Use-dummy-DFM-installer.patch index f14d7c2f..9cb5346d 100644 --- a/build/patches/Use-dummy-DFM-installer.patch +++ b/build/patches/Use-dummy-DFM-installer.patch @@ -4,42 +4,31 @@ Subject: Use dummy DFM installer License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - components/module_installer/android/BUILD.gn | 2 - - .../engine/SplitCompatEngine.java | 77 +------------------ - .../engine/SplitCompatEngineFacade.java | 29 ++----- - .../module_installer/logger/Logger.java | 16 +--- - .../logger/PlayCoreLogger.java | 50 ++---------- - .../logger/SplitAvailabilityLogger.java | 40 ---------- - .../logger/SplitInstallStatusLogger.java | 30 +------- - .../module_installer/util/ModuleUtil.java | 5 -- + components/module_installer/android/BUILD.gn | 1 - + .../engine/SplitCompatEngine.java | 64 +------------------ + .../engine/SplitCompatEngineFacade.java | 26 +------- + .../module_installer/util/ModuleUtil.java | 3 - .../util/SplitCompatInitializer.java | 6 -- - 9 files changed, 19 insertions(+), 236 deletions(-) + 5 files changed, 3 insertions(+), 97 deletions(-) diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn --- a/components/module_installer/android/BUILD.gn +++ b/components/module_installer/android/BUILD.gn -@@ -21,13 +21,11 @@ android_library("module_installer_java") { - "java/src/org/chromium/components/module_installer/logger/Logger.java", - "java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java", - "java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java", -- "java/src/org/chromium/components/module_installer/logger/SplitInstallFailureLogger.java", - "java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java", - "java/src/org/chromium/components/module_installer/observer/ActivityObserver.java", +@@ -22,7 +22,6 @@ android_library("module_installer_java") { "java/src/org/chromium/components/module_installer/observer/ActivityObserverFacade.java", "java/src/org/chromium/components/module_installer/observer/InstallerObserver.java", "java/src/org/chromium/components/module_installer/util/ActivityObserverUtil.java", - "java/src/org/chromium/components/module_installer/util/CrashKeyRecorder.java", "java/src/org/chromium/components/module_installer/util/ModuleUtil.java", "java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java", - "java/src/org/chromium/components/module_installer/util/Timer.java", + ] diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java --- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java +++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java -@@ -8,11 +8,6 @@ import android.app.Activity; +@@ -8,10 +8,6 @@ import android.app.Activity; import androidx.annotation.VisibleForTesting; --import com.google.android.play.core.splitinstall.SplitInstallException; -import com.google.android.play.core.splitinstall.SplitInstallRequest; -import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener; -import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; @@ -47,7 +36,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component import org.chromium.base.ThreadUtils; import java.util.ArrayList; -@@ -25,7 +20,6 @@ import java.util.Set; +@@ -24,7 +20,6 @@ import java.util.Set; /** Install engine that uses Play Core and SplitCompat to install modules. */ class SplitCompatEngine implements InstallEngine { private final SplitCompatEngineFacade mFacade; @@ -55,7 +44,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component private static final Map> sSessions = new HashMap<>(); public SplitCompatEngine() { -@@ -43,83 +37,20 @@ class SplitCompatEngine implements InstallEngine { +@@ -42,70 +37,19 @@ class SplitCompatEngine implements InstallEngine { @Override public boolean isInstalled(String moduleName) { @@ -67,7 +56,6 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component @Override public void installDeferred(String moduleName) { - mFacade.getSplitManager().deferredInstall(Collections.singletonList(moduleName)); - mFacade.getLogger().logRequestDeferredStart(moduleName); } @Override @@ -92,18 +80,8 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component - .startInstall(request) - .addOnFailureListener( - ex -> { -- int errorCode = -- ex instanceof SplitInstallException -- ? ((SplitInstallException) ex).getErrorCode() -- : mFacade.getLogger().getUnknownRequestErrorCode(); -- -- // TODO(fredmello): look into potential issues with mixing split error -- // code with our logger codes - fix accordingly. -- mFacade.getLogger().logRequestFailure(moduleName, errorCode); - notifyListeners(moduleName, false); - }); -- -- mFacade.getLogger().logRequestStart(moduleName); - } - - private SplitInstallStateUpdatedListener getStatusUpdateListener() { @@ -124,10 +102,8 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component - break; - case SplitInstallSessionStatus.FAILED: - notifyListeners(moduleName, false); -- mFacade.getLogger().logStatusFailure(moduleName, state.errorCode()); - break; - } -- mFacade.getLogger().logStatus(moduleName, status); - } - }; } @@ -140,7 +116,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component sSessions.remove(moduleName); unregisterUpdateListener(); -@@ -134,15 +65,9 @@ class SplitCompatEngine implements InstallEngine { +@@ -120,15 +64,9 @@ class SplitCompatEngine implements InstallEngine { } private void registerUpdateListener() { @@ -159,52 +135,39 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java --- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java +++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java -@@ -6,32 +6,28 @@ package org.chromium.components.module_installer.engine; +@@ -6,48 +6,26 @@ package org.chromium.components.module_installer.engine; import android.app.Activity; -import com.google.android.play.core.splitcompat.SplitCompat; -+/*import com.google.android.play.core.splitcompat.SplitCompat; - import com.google.android.play.core.splitinstall.SplitInstallManager; - import com.google.android.play.core.splitinstall.SplitInstallManagerFactory; +-import com.google.android.play.core.splitinstall.SplitInstallManager; +-import com.google.android.play.core.splitinstall.SplitInstallManagerFactory; -import com.google.android.play.core.splitinstall.SplitInstallRequest; -+import com.google.android.play.core.splitinstall.SplitInstallRequest;*/ - +- import org.chromium.base.ContextUtils; - import org.chromium.components.module_installer.logger.Logger; - import org.chromium.components.module_installer.logger.PlayCoreLogger; -import org.chromium.components.module_installer.util.ModuleUtil; -+//import org.chromium.components.module_installer.util.ModuleUtil; /** - * PlayCore SplitCompatEngine Context. Class used to segregate external dependencies that - * cannot be easily mocked and simplify the engine's design. + * PlayCore SplitCompatEngine Context. Class used to segregate external dependencies that cannot be + * easily mocked and simplify the engine's design. */ class SplitCompatEngineFacade { - private final SplitInstallManager mSplitManager; - private final Logger mLogger; - +- public SplitCompatEngineFacade() { -- this( -- SplitInstallManagerFactory.create(ContextUtils.getApplicationContext()), -- new PlayCoreLogger()); -+ this(new PlayCoreLogger()); - } - -- public SplitCompatEngineFacade(SplitInstallManager manager, Logger umaLogger) { +- this(SplitInstallManagerFactory.create(ContextUtils.getApplicationContext())); +- } +- +- public SplitCompatEngineFacade(SplitInstallManager manager) { - mSplitManager = manager; -+ public SplitCompatEngineFacade(Logger umaLogger) { - mLogger = umaLogger; - } - -@@ -39,25 +35,14 @@ class SplitCompatEngineFacade { - return mLogger; ++ this(null); } - public SplitInstallManager getSplitManager() { - return mSplitManager; -- } -- ++ public SplitCompatEngineFacade(Logger umaLogger) { + } + public void installActivity(Activity activity) { - // Note that SplitCompat (install) needs to be called on the Application Context prior - // to calling this method - this is guaranteed by the behavior of SplitCompatEngine. @@ -217,281 +180,22 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component - - public SplitInstallRequest createSplitInstallRequest(String moduleName) { - return SplitInstallRequest.newBuilder().addModule(moduleName).build(); -+ //ModuleUtil.notifyModuleInstalled(); } public void updateCrashKeys() { - ModuleUtil.updateCrashKeys(); -+ //ModuleUtil.updateCrashKeys(); } } -diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java ---- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java -+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java -@@ -4,9 +4,6 @@ - - package org.chromium.components.module_installer.logger; - --import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode; --import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; -- - /** Logger for SplitCompat Engine. */ - public interface Logger { - /** -@@ -15,7 +12,7 @@ public interface Logger { - * @param moduleName The module name. - * @param errorCode The error code. - */ -- void logRequestFailure(String moduleName, @SplitInstallErrorCode int errorCode); -+ void logRequestFailure(String moduleName, int errorCode); - - /** - * Logs exceptions that happen during the installation process. -@@ -23,7 +20,7 @@ public interface Logger { - * @param moduleName The module name. - * @param errorCode The error code. - */ -- void logStatusFailure(String moduleName, @SplitInstallErrorCode int errorCode); -+ void logStatusFailure(String moduleName, int errorCode); - - /** - * Logs the status count and duration during a module installation process. -@@ -31,7 +28,7 @@ public interface Logger { - * @param moduleName The module name - * @param status The status code - */ -- void logStatus(String moduleName, @SplitInstallSessionStatus int status); -+ void logStatus(String moduleName, int status); - - /** - * Logs the request start time. -@@ -46,11 +43,4 @@ public interface Logger { - * @param moduleName The module name. - */ - void logRequestDeferredStart(String moduleName); -- -- /** -- * Gets the error code for an unknown error thrown at module request time. -- * -- * @return The error code. -- */ -- int getUnknownRequestErrorCode(); - } -diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java ---- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java -+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java -@@ -4,74 +4,38 @@ - - package org.chromium.components.module_installer.logger; - --import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode; --import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; -- - /** Concrete Logger for SplitCompat Installers (proxy to specific loggers). */ - public class PlayCoreLogger implements Logger { -- private final SplitInstallFailureLogger mFailureLogger; -- private final SplitInstallStatusLogger mStatusLogger; -- private final SplitAvailabilityLogger mAvailabilityLogger; -- - public PlayCoreLogger() { - this( -- new SplitInstallFailureLogger(), -- new SplitInstallStatusLogger(), -- new SplitAvailabilityLogger()); -+ null, -+ null, -+ null); - } - - public PlayCoreLogger( -- SplitInstallFailureLogger failureLogger, -+ Object failureLogger, - SplitInstallStatusLogger statusLogger, - SplitAvailabilityLogger availabilityLogger) { -- mFailureLogger = failureLogger; -- mStatusLogger = statusLogger; -- mAvailabilityLogger = availabilityLogger; - } - - @Override -- public void logRequestFailure(String moduleName, @SplitInstallErrorCode int errorCode) { -- mFailureLogger.logRequestFailure(moduleName, errorCode); -+ public void logRequestFailure(String moduleName, int errorCode) { - } - - @Override -- public void logStatusFailure(String moduleName, @SplitInstallErrorCode int errorCode) { -- mFailureLogger.logStatusFailure(moduleName, errorCode); -+ public void logStatusFailure(String moduleName, int errorCode) { - } - - @Override -- public void logStatus(String moduleName, @SplitInstallSessionStatus int status) { -- mStatusLogger.logStatusChange(moduleName, status); -- -- if (status == SplitInstallSessionStatus.INSTALLED) { -- mAvailabilityLogger.storeModuleInstalled(moduleName, status); -- mAvailabilityLogger.logInstallTimes(moduleName); -- -- // Keep old behavior where we log a 'success' bit with all other failures. -- mFailureLogger.logStatusSuccess(moduleName); -- } else if (status == SplitInstallSessionStatus.CANCELED) { -- // Keep old behavior where we log a 'canceled' bit with all other failures. -- mFailureLogger.logStatusCanceled(moduleName); -- } else if (status == SplitInstallSessionStatus.DOWNLOADED) { -- // Keep old behavior where we log a 'no split compat' bit with all other failures. -- mFailureLogger.logStatusNoSplitCompat(moduleName); -- } -+ public void logStatus(String moduleName, int status) { - } - - @Override - public void logRequestStart(String moduleName) { -- mStatusLogger.logRequestStart(moduleName); -- mAvailabilityLogger.storeRequestStart(moduleName); - } - - @Override - public void logRequestDeferredStart(String moduleName) { -- mStatusLogger.logRequestDeferredStart(moduleName); -- mAvailabilityLogger.storeRequestDeferredStart(moduleName); -- } -- -- @Override -- public int getUnknownRequestErrorCode() { -- return SplitInstallFailureLogger.UNKNOWN_REQUEST_ERROR; - } - } -diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java ---- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java -+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java -@@ -9,10 +9,6 @@ import android.content.SharedPreferences; - import android.os.SystemClock; - import android.util.SparseLongArray; - --import com.google.android.play.core.splitinstall.SplitInstallManager; --import com.google.android.play.core.splitinstall.SplitInstallManagerFactory; --import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; -- - import org.chromium.base.ContextUtils; - import org.chromium.base.metrics.RecordHistogram; - -@@ -50,21 +46,6 @@ public class SplitAvailabilityLogger { - Set requestedModules = new HashSet<>(); - requestedModules.addAll(prefs.getStringSet(ONDEMAND_REQ_PREV, new HashSet<>())); - requestedModules.addAll(prefs.getStringSet(DEFERRED_REQ_PREV, new HashSet<>())); -- -- Context context = ContextUtils.getApplicationContext(); -- SplitInstallManager manager = SplitInstallManagerFactory.create(context); -- Set installedModules = manager.getInstalledModules(); -- -- for (String name : requestedModules) { -- recordAvailabilityStatus( -- name, installedModules.contains(name) ? INSTALLED_REQUESTED : REQUESTED); -- } -- -- for (String name : installedModules) { -- if (!requestedModules.contains(name)) { -- recordAvailabilityStatus(name, INSTALLED_UNREQUESTED); -- } -- } - } - - private static void recordAvailabilityStatus(String moduleName, int status) { -@@ -78,26 +59,6 @@ public class SplitAvailabilityLogger { - * @param moduleName The module name. - */ - public void logInstallTimes(String moduleName) { -- recordInstallTime( -- moduleName, -- "", -- SplitInstallSessionStatus.UNKNOWN, -- SplitInstallSessionStatus.INSTALLED); -- recordInstallTime( -- moduleName, -- ".PendingDownload", -- SplitInstallSessionStatus.UNKNOWN, -- SplitInstallSessionStatus.DOWNLOADING); -- recordInstallTime( -- moduleName, -- ".Download", -- SplitInstallSessionStatus.DOWNLOADING, -- SplitInstallSessionStatus.INSTALLING); -- recordInstallTime( -- moduleName, -- ".Installing", -- SplitInstallSessionStatus.INSTALLING, -- SplitInstallSessionStatus.INSTALLED); - } - - /** -@@ -184,7 +145,6 @@ public class SplitAvailabilityLogger { - - public InstallTimes(boolean isCached) { - mIsCached = isCached; -- mInstallTimes.put(SplitInstallSessionStatus.UNKNOWN, SystemClock.uptimeMillis()); - } - } - } -diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java ---- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java -+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java -@@ -4,8 +4,6 @@ - - package org.chromium.components.module_installer.logger; - --import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; -- - import org.chromium.base.metrics.RecordHistogram; - - class SplitInstallStatusLogger { -@@ -28,33 +26,7 @@ class SplitInstallStatusLogger { - // Keep this one at the end and increment appropriately when adding new status. - private static final int COUNT = 12; - -- private int getHistogramCode(@SplitInstallSessionStatus int code) { -- switch (code) { -- case SplitInstallSessionStatus.PENDING: -- return PENDING; -- case SplitInstallSessionStatus.DOWNLOADING: -- return DOWNLOADING; -- case SplitInstallSessionStatus.DOWNLOADED: -- return DOWNLOADED; -- case SplitInstallSessionStatus.INSTALLING: -- return INSTALLING; -- case SplitInstallSessionStatus.INSTALLED: -- return INSTALLED; -- case SplitInstallSessionStatus.FAILED: -- return FAILED; -- case SplitInstallSessionStatus.CANCELING: -- return CANCELING; -- case SplitInstallSessionStatus.CANCELED: -- return CANCELED; -- case SplitInstallSessionStatus.REQUIRES_USER_CONFIRMATION: -- return REQUIRES_USER_CONFIRMATION; -- } -- -- return UNKNOWN_CODE; -- } -- -- public void logStatusChange(String moduleName, @SplitInstallSessionStatus int status) { -- recordInstallStatus(moduleName, getHistogramCode(status)); -+ public void logStatusChange(String moduleName, int status) { - } - - public void logRequestStart(String moduleName) { diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java --- a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java +++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java -@@ -23,11 +23,6 @@ public class ModuleUtil { - +@@ -10,9 +10,6 @@ import org.chromium.build.BuildConfig; + public class ModuleUtil { /** Updates the CrashKey report containing modules currently present. */ public static void updateCrashKeys() { -- if (!BundleUtils.isBundle()) return; +- if (!BuildConfig.IS_BUNDLE) return; - -- try (Timer timer = new Timer()) { -- CrashKeyRecorder.updateCrashKeys(); -- } +- CrashKeyRecorder.updateCrashKeys(); } /** Initializes the PlayCore SplitCompat framework. */ From 24a8567895389c741ab6f5e9cb13412b92034819 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Tue, 15 Oct 2024 16:39:47 +0200 Subject: [PATCH 4/7] Patches for v130 - final --- .../Add-an-always-incognito-mode.patch | 32 +-- build/patches/Add-cromite-flags-support.patch | 171 +++++++++------ build/patches/Add-exit-menu-item.patch | 36 +-- ...Add-lifetime-options-for-permissions.patch | 15 +- .../Add-option-to-disable-snapshots.patch | 34 +-- ...Ask-for-restart-on-connection-change.patch | 2 +- build/patches/Bromite-auto-updater.patch | 4 +- .../Bromite-subresource-adblocker.patch | 33 ++- .../patches/Disable-all-predictors-code.patch | 207 ++++++++++++++++-- build/patches/Disable-safety-check.patch | 27 +-- .../Enable-Global-Privacy-Control.patch | 28 ++- ...Enable-HighEfficiencyMode-by-default.patch | 21 +- .../Enable-native-Android-autofill.patch | 40 ++-- ...le-search-engine-settings-desktop-ui.patch | 25 ++- .../Experimental-user-scripts-support.patch | 51 +++-- build/patches/Eyeo-Adblock-for-Cromite.patch | 56 ++++- build/patches/Fix-chromium-build-bugs.patch | 26 ++- ...story-number-of-days-privacy-setting.patch | 55 ++++- .../patches/Modify-default-preferences.patch | 13 +- .../Move-navigation-bar-to-bottom.patch | 107 +++++---- ...ning-all-cookies-by-top-frame-domain.patch | 30 ++- .../Remove-binary-blob-integrations.patch | 31 ++- .../Restore-Simplified-NTP-launch.patch | 7 +- ...-button-in-top-toolbar-customization.patch | 7 +- ...script-content-setting-secondary-url.patch | 28 ++- build/patches/Show-NTP-at-startup.patch | 2 +- build/patches/Site-setting-for-images.patch | 13 +- build/patches/Use-dummy-DFM-installer.patch | 18 +- build/patches/Welcome-screen.patch | 2 +- build/patches/add-browser-policy.patch | 13 +- ...ed-chromium-no-special-hosts-domains.patch | 14 +- 31 files changed, 782 insertions(+), 366 deletions(-) diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index bd5795d3..c0de729c 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -37,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/history/HistoryPage.java | 16 ++ .../native_page/NativePageFactory.java | 4 +- .../chrome/browser/ntp/RecentTabsManager.java | 28 ++- - .../privacy/settings/IncognitoSettings.java | 161 ++++++++++++++++++ + .../privacy/settings/IncognitoSettings.java | 162 ++++++++++++++++++ .../settings/FragmentDependencyProvider.java | 4 + .../HistoricalTabModelObserver.java | 5 +- .../tab/tab_restore/HistoricalTabSaver.java | 2 +- @@ -70,7 +70,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../strings/android_chrome_strings.grd | 25 +++ .../browser/toolbar/LocationBarModel.java | 5 +- chrome/browser/ui/messages/android/BUILD.gn | 1 + - .../snackbar/INeedSnackbarManager.java | 27 +++ + .../snackbar/INeedSnackbarManager.java | 28 +++ chrome/common/pref_names.h | 6 + .../browser/content_settings_pref_provider.cc | 6 +- .../browser/content_settings_pref_provider.h | 2 + @@ -84,7 +84,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../add-an-always-incognito-mode.inc | 1 + .../add-an-always-incognito-mode.inc | 3 + .../add-an-always-incognito-mode.inc | 1 + - 65 files changed, 782 insertions(+), 111 deletions(-) + 65 files changed, 784 insertions(+), 111 deletions(-) create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java @@ -746,7 +746,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting new file mode 100644 --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java -@@ -0,0 +1,161 @@ +@@ -0,0 +1,162 @@ +/* + This file is part of Bromite. + @@ -779,6 +779,7 @@ new file mode 100644 +import androidx.preference.PreferenceFragmentCompat; +import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat; + ++import org.chromium.base.supplier.Supplier; +import org.chromium.chrome.R; +import org.chromium.chrome.browser.preferences.Pref; +import org.chromium.chrome.browser.profiles.Profile; @@ -787,7 +788,7 @@ new file mode 100644 +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; +import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; +import org.chromium.components.browser_ui.settings.SettingsUtils; +import org.chromium.components.prefs.PrefService; @@ -799,7 +800,7 @@ new file mode 100644 +public class IncognitoSettings + extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener, + INeedSnackbarManager { -+ private SnackbarManager mSnackbarManager; ++ private Supplier mSnackbarManagerSupplier; + private Snackbar mSnackbar; + + private static final String PREF_ALWAYS_INCOGNITO = "always_incognito"; @@ -871,8 +872,8 @@ new file mode 100644 + } else if (PREF_INCOGNITO_SAVE_SITE_SETTING.equals(key)) { + prefService.setBoolean(Pref.INCOGNITO_SAVE_SITE_SETTING_ENABLED, (boolean) newValue); + } -+ if (!mSnackbarManager.isShowing()) { -+ mSnackbarManager.showSnackbar(mSnackbar); ++ if (!mSnackbarManagerSupplier.get().isShowing()) { ++ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); + } + return true; + } @@ -904,14 +905,14 @@ new file mode 100644 + } + + @Override -+ public void setSnackbarManager(SnackbarManager manager) { -+ mSnackbarManager = manager; ++ public void setSnackbarManagerSupplier(Supplier manager) { ++ mSnackbarManagerSupplier = manager; + } +} 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 -@@ -57,6 +57,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; +@@ -58,6 +58,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; @@ -919,12 +920,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment; -@@ -296,6 +297,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -270,6 +271,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl safetyHubFragment.setCustomTabIntentHelper( LaunchIntentDispatcher::createCustomTabActivityIntent); } + if (fragment instanceof INeedSnackbarManager) { -+ ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); ++ ((INeedSnackbarManager)fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier); + } if (fragment instanceof AccountManagementFragment) { ((AccountManagementFragment) fragment) @@ -1971,7 +1972,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro new file mode 100644 --- /dev/null +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java -@@ -0,0 +1,27 @@ +@@ -0,0 +1,28 @@ +/* + This file is part of Bromite. + @@ -1991,13 +1992,14 @@ new file mode 100644 + +package org.chromium.chrome.browser.ui.messages.snackbar; + ++import org.chromium.base.supplier.Supplier; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; + +/** + * An interface that allows using snackbars in the settings + */ +public interface INeedSnackbarManager { -+ void setSnackbarManager(SnackbarManager manager); ++ void setSnackbarManagerSupplier(Supplier manager); +} diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 3d06cee1..4d007ab5 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -24,8 +24,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../settings/AccessibilitySettings.java | 5 +- .../homepage/settings/HomepageSettings.java | 2 +- .../privacy/settings/PrivacySettings.java | 2 +- - .../settings/FragmentDependencyProvider.java | 34 ++++ - .../browser/settings/SettingsActivity.java | 32 ++++ + .../settings/FragmentDependencyProvider.java | 10 +- + .../browser/settings/SettingsActivity.java | 42 ++++- chrome/browser/about_flags.cc | 11 ++ chrome/browser/browser_features.cc | 1 + chrome/browser/flags/BUILD.gn | 13 ++ @@ -35,7 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../flags/cromite/include_all_directory.java | 1 + .../java_template/CromiteCachedFlag.java.tmpl | 47 +++++ chrome/browser/settings/BUILD.gn | 1 + - .../settings/ChromeBaseSettingsFragment.java | 47 +++++ + .../settings/ChromeBaseSettingsFragment.java | 50 ++++++ .../strings/android_chrome_strings.grd | 1 + .../Add-cromite-flags-support.grdp | 9 + .../placeholder.txt | 1 + @@ -97,7 +97,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 + - 84 files changed, 800 insertions(+), 20 deletions(-) + 84 files changed, 787 insertions(+), 22 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 @@ -506,50 +506,44 @@ 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 -@@ -69,6 +69,36 @@ import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment; + import androidx.fragment.app.FragmentManager; - /** Provides dependencies to fragments in the settings activity. */ - public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycleCallbacks { -+ private static class RequestRestartDelegate implements ChromeBaseSettingsFragment.RequireRestartDelegate { -+ private SnackbarManager mSnackbarManager; -+ private Activity mActivity; -+ -+ RequestRestartDelegate(SnackbarManager snackbarManager, Activity activity) { -+ mSnackbarManager = snackbarManager; -+ mActivity = activity; -+ } -+ -+ @Override -+ public void RequireRestart() { -+ Snackbar mSnackbar = Snackbar.make(mActivity.getString(R.string.ui_relaunch_notice), -+ new SnackbarManager.SnackbarController() { -+ @Override -+ public void onDismissNoAction(Object actionData) { } -+ -+ @Override -+ public void onAction(Object actionData) { -+ ApplicationLifetime.terminate(true); -+ } -+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN) -+ .setSingleLine(false) -+ .setAction(mActivity.getString(R.string.relaunch), -+ /*actionData*/null) -+ .setDuration(/*durationMs*/70000); -+ if (!mSnackbarManager.isShowing()) -+ mSnackbarManager.showSnackbar(mSnackbar); -+ } -+ } -+ - private final Context mContext; - private final Profile mProfile; + 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; +@@ -78,18 +79,21 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + private final OneshotSupplier mSnackbarManagerSupplier; + private final OneshotSupplier mBottomSheetControllerSupplier; + private final ObservableSupplier mModalDialogManagerSupplier; ++ private final Supplier mRequireRestartDelegateSupplier; -@@ -98,6 +128,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + public FragmentDependencyProvider( + Context context, + Profile profile, + OneshotSupplier snackbarManagerSupplier, + OneshotSupplier bottomSheetControllerSupplier, +- ObservableSupplier modalDialogManagerSupplier) { ++ ObservableSupplier modalDialogManagerSupplier, ++ Supplier requireRestartDelegateSupplier) { + mContext = context; + mProfile = profile; + mSnackbarManagerSupplier = snackbarManagerSupplier; + mBottomSheetControllerSupplier = bottomSheetControllerSupplier; + mModalDialogManagerSupplier = modalDialogManagerSupplier; ++ mRequireRestartDelegateSupplier = requireRestartDelegateSupplier; + } + + @Override +@@ -98,6 +102,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl @NonNull Fragment fragment, @NonNull Context unusedContext) { // Common dependencies attachments. + if (fragment instanceof ChromeBaseSettingsFragment) { -+ ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate( -+ new RequestRestartDelegate(mSnackbarManager, this)); ++ ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegateSupplier( ++ mRequireRestartDelegateSupplier); + } if (fragment instanceof ProfileDependentSetting) { ((ProfileDependentSetting) fragment).setProfile(mProfile); @@ -565,7 +559,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -@@ -46,6 +47,7 @@ import org.chromium.chrome.browser.profiles.ProfileManagerUtils; +@@ -31,7 +32,9 @@ import org.chromium.base.BuildInfo; + import org.chromium.base.Callback; + import org.chromium.base.Log; + import org.chromium.base.metrics.RecordHistogram; ++import org.chromium.base.supplier.Supplier; + import org.chromium.base.supplier.ObservableSupplier; ++import org.chromium.base.supplier.OneshotSupplier; + import org.chromium.base.supplier.OneshotSupplierImpl; + import org.chromium.chrome.R; + import org.chromium.chrome.browser.ChromeBaseAppCompatActivity; +@@ -40,12 +43,14 @@ import org.chromium.chrome.browser.back_press.SecondaryActivityBackPressUma.Seco + import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; + import org.chromium.chrome.browser.flags.ChromeFeatureList; + import org.chromium.chrome.browser.init.ChromeBrowserInitializer; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + import org.chromium.chrome.browser.profiles.Profile; + import org.chromium.chrome.browser.profiles.ProfileManager; + import org.chromium.chrome.browser.profiles.ProfileManagerUtils; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; @@ -573,43 +584,57 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; -@@ -82,6 +84,36 @@ import java.util.Locale; +@@ -82,6 +87,40 @@ import java.util.Locale; */ public class SettingsActivity extends ChromeBaseAppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable { + private static class RequestRestartDelegate implements ChromeBaseSettingsFragment.RequireRestartDelegate { -+ private SnackbarManager mSnackbarManager; ++ private OneshotSupplier mSnackbarManagerSupplier; + private Activity mActivity; + -+ RequestRestartDelegate(SnackbarManager snackbarManager, Activity activity) { -+ mSnackbarManager = snackbarManager; ++ RequestRestartDelegate(OneshotSupplier snackbarManagerSupplier, ++ Activity activity) { ++ mSnackbarManagerSupplier = snackbarManagerSupplier; + mActivity = activity; + } + + @Override + public void RequireRestart() { -+ Snackbar mSnackbar = Snackbar.make(mActivity.getString(R.string.ui_relaunch_notice), -+ new SnackbarManager.SnackbarController() { -+ @Override -+ public void onDismissNoAction(Object actionData) { } ++ mSnackbarManagerSupplier.onAvailable( ++ (snackbarManager) -> { ++ Snackbar mSnackbar = Snackbar.make(mActivity.getString(R.string.ui_relaunch_notice), ++ new SnackbarManager.SnackbarController() { ++ @Override ++ public void onDismissNoAction(Object actionData) { } + -+ @Override -+ public void onAction(Object actionData) { -+ ApplicationLifetime.terminate(true); -+ } -+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN) -+ .setSingleLine(false) -+ .setAction(mActivity.getString(R.string.relaunch), -+ /*actionData*/null) -+ .setDuration(/*durationMs*/70000); -+ if (!mSnackbarManager.isShowing()) -+ mSnackbarManager.showSnackbar(mSnackbar); ++ @Override ++ public void onAction(Object actionData) { ++ ApplicationLifetime.terminate(true); ++ } ++ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN) ++ .setSingleLine(false) ++ .setAction(mActivity.getString(R.string.relaunch), ++ /*actionData*/null) ++ .setDuration(/*durationMs*/70000); ++ if (!snackbarManager.isShowing()) ++ snackbarManager.showSnackbar(mSnackbar); ++ }); + } + } + @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; +@@ -135,7 +174,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity + mProfile, + mSnackbarManagerSupplier, + mBottomSheetControllerSupplier, +- getModalDialogManagerSupplier()), ++ getModalDialogManagerSupplier(), ++ () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)), + true /* recursive */); + fragmentManager.registerFragmentLifecycleCallbacks( + new WideDisplayPaddingApplier(), false /* recursive */); 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 @@ -823,7 +848,13 @@ diff --git a/chrome/browser/settings/BUILD.gn b/chrome/browser/settings/BUILD.gn diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java --- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java +++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java -@@ -12,6 +12,12 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory; +@@ -7,11 +7,18 @@ package org.chromium.chrome.browser.settings; + import androidx.annotation.NonNull; + import androidx.preference.PreferenceFragmentCompat; + ++import org.chromium.base.supplier.Supplier; + import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher; + import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.components.browser_ui.settings.SettingsPage; @@ -836,18 +867,19 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse /** * Base class for settings in Chrome. * -@@ -22,6 +28,47 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa +@@ -22,6 +29,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa implements SettingsPage, ProfileDependentSetting { private Profile mProfile; -+ private RequireRestartDelegate mRequireRestartDelegate; ++ private Supplier mRequireRestartDelegateSupplier; + + public interface RequireRestartDelegate { + void RequireRestart(); + } + -+ public void setRequestRestartDelegate(RequireRestartDelegate delegate) { -+ mRequireRestartDelegate = delegate; ++ public void setRequestRestartDelegateSupplier( ++ Supplier delegate) { ++ mRequireRestartDelegateSupplier = delegate; + } + + public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { @@ -873,8 +905,9 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse + + switchPref.setOnPreferenceChangeListener((preference, newValue) -> { + CromiteNativeUtils.setFlagEnabled(featureName, (boolean)newValue); -+ if (switchPref.needRestart()) -+ mRequireRestartDelegate.RequireRestart(); ++ if (switchPref.needRestart()) { ++ mRequireRestartDelegateSupplier.get().RequireRestart(); ++ } + return true; + }); + } diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index f8cbc7a5..5ea8e34b 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -9,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/android/java/res/menu/main_menu.xml | 6 ++++++ .../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++ .../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++ - .../chrome/browser/lifetime/ApplicationLifetime.java | 2 ++ + .../chrome/browser/init/ChromeLifetimeController.java | 2 ++ .../browser/ui/android/strings/android_chrome_strings.grd | 3 +++ 5 files changed, 21 insertions(+) @@ -43,7 +43,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.DoubleConsumer; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + /** * This is the main activity for ChromeMobile when not running in document mode. All the tabs are @@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityUtils; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; import org.chromium.chrome.browser.ChromeActivitySessionTracker; import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; @@ -80,25 +80,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv if (id == R.id.update_menu_id) { UpdateMenuItemHelper.getInstance( getProfileProviderSupplier().get().getOriginalProfile()) -diff --git a/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java b/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java ---- a/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java -+++ b/chrome/browser/lifetime/android/java/src/org/chromium/chrome/browser/lifetime/ApplicationLifetime.java -@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.lifetime; - import org.jni_zero.CalledByNative; - - import org.chromium.base.ObserverList; +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java +@@ -18,6 +18,7 @@ import org.chromium.base.ContextUtils; + import org.chromium.base.ThreadUtils; + import org.chromium.chrome.browser.BrowserRestartActivity; + import org.chromium.chrome.browser.lifetime.ApplicationLifetime; +import org.chromium.chrome.browser.incognito.IncognitoNotificationManager; - /** Watches for when Chrome is told to restart itself. */ - public class ApplicationLifetime { -@@ -39,6 +40,7 @@ public class ApplicationLifetime { + /** + * Answers requests to kill and (potentially) restart Chrome's main browser process. +@@ -73,6 +74,7 @@ class ChromeLifetimeController - @CalledByNative - public static void terminate(boolean restart) { + @Override + public void onTerminate(boolean restart) { + IncognitoNotificationManager.dismissIncognitoNotification(); - for (Observer observer : sObservers) { - observer.onTerminate(restart); - } + mRestartChromeOnDestroy = restart; + + // Tell all Chrome Activities to finish themselves. 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 diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 0c8de227..b3f4df8a 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -56,6 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../one_time_permissions_tracker.cc | 33 +++++++- .../one_time_permissions_tracker.h | 5 +- .../one_time_permissions_tracker_factory.cc | 2 +- + .../views/permissions/chip/chip_controller.cc | 2 +- .../permissions/embedded_permission_prompt.cc | 2 +- ...exclusive_access_permission_prompt_view.cc | 2 +- .../permission_prompt_bubble_base_view.cc | 2 +- @@ -87,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/permissions/permission_request.h | 16 +++- .../permissions/permission_request_manager.cc | 45 ++++++---- .../permissions/permission_request_manager.h | 11 ++- - 35 files changed, 489 insertions(+), 62 deletions(-) + 36 files changed, 490 insertions(+), 63 deletions(-) diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc --- a/chrome/browser/permissions/last_tab_standing_tracker.cc @@ -226,6 +227,18 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc - return std::make_unique(); + return std::make_unique(context); } +diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc +--- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc ++++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc +@@ -234,7 +234,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) { + active_chip_permission_request_manager_.value()->Accept(); + break; + case permissions::PermissionAction::GRANTED_ONCE: +- active_chip_permission_request_manager_.value()->AcceptThisTime(); ++ active_chip_permission_request_manager_.value()->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME); + break; + case permissions::PermissionAction::DENIED: + active_chip_permission_request_manager_.value()->Deny(); diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc --- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc +++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index beb0b3dd..0d37f652 100644 --- a/build/patches/Add-option-to-disable-snapshots.patch +++ b/build/patches/Add-option-to-disable-snapshots.patch @@ -8,9 +8,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../tasks/tab_management/TabProperties.java | 5 +++ .../java/res/xml/privacy_preferences.xml | 5 +++ .../chrome/browser/app/ChromeActivity.java | 3 +- - .../privacy/settings/PrivacySettings.java | 43 ++++++++++++++++++- + .../privacy/settings/PrivacySettings.java | 44 ++++++++++++++++++- .../strings/android_chrome_strings.grd | 8 ++++ - 6 files changed, 69 insertions(+), 3 deletions(-) + 6 files changed, 70 insertions(+), 3 deletions(-) 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 @@ -104,14 +104,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -74,12 +74,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -19,6 +19,7 @@ import androidx.preference.Preference; + + import org.chromium.base.metrics.RecordHistogram; + import org.chromium.base.metrics.RecordUserAction; ++import org.chromium.base.supplier.Supplier; + import org.chromium.base.supplier.ObservableSupplier; + import org.chromium.base.supplier.ObservableSupplierImpl; + import org.chromium.base.ContextUtils; +@@ -74,12 +75,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + import java.util.ArrayList; import java.util.List; @@ -121,18 +129,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting - implements Preference.OnPreferenceChangeListener { + implements Preference.OnPreferenceChangeListener, INeedSnackbarManager { + -+ private SnackbarManager mSnackbarManager; ++ private Supplier mSnackbarManagerSupplier; + private Snackbar mSnackbar; + + @Override -+ public void setSnackbarManager(SnackbarManager manager) { -+ mSnackbarManager = manager; ++ public void setSnackbarManagerSupplier(Supplier manager) { ++ mSnackbarManagerSupplier = manager; + } + private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_PRELOAD_PAGES = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; -@@ -165,6 +179,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -165,6 +180,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } } @@ -154,7 +162,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE); // Record the launch of PG from the S&P link-row entry point privacyGuidePreference.setOnPreferenceClickListener( -@@ -376,6 +405,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -376,6 +406,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito"; @@ -162,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { -@@ -418,6 +448,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -418,6 +449,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); sharedPreferencesEditor.apply(); @@ -170,13 +178,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); + sharedPreferencesEditor.putBoolean(PREF_TABGRID_USE_ICONS, (boolean)newValue); + sharedPreferencesEditor.apply(); -+ if (!mSnackbarManager.isShowing()) { -+ mSnackbarManager.showSnackbar(mSnackbar); ++ if (!mSnackbarManagerSupplier.get().isShowing()) { ++ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); + } } return true; } -@@ -474,6 +511,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -474,6 +512,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 81941d79..5e568f22 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in +import org.chromium.chrome.browser.tabmodel.TabModelUtils; +import org.chromium.chrome.browser.tabmodel.TabModelSelector; +import org.chromium.chrome.browser.tabmodel.TabWindowManager; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; +import org.chromium.content_public.browser.WebContentsObserver; +import org.chromium.content_public.browser.WebContents; +import org.chromium.net.NetworkChangeNotifier; diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 655ae090..c0111268 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -60,7 +60,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j public static boolean IS_CRONET_BUILD; #endif -+ public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU; ++ public static String BUILD_TARGET_CPU = QUOTE(_BUILD_TARGET_CPU); + #if defined(_WRITE_CLANG_PROFILING_DATA) public static boolean WRITE_CLANG_PROFILING_DATA = true; @@ -73,7 +73,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni defines = [] + # add arch to org.chromium.build.BuildConfig -+ defines += [ "_BUILD_TARGET_CPU=\"${target_cpu}\"" ] ++ defines += [ "_BUILD_TARGET_CPU=${target_cpu}" ] + if ((defined(invoker.assertions_implicitly_enabled) && invoker.assertions_implicitly_enabled) || enable_java_asserts) { diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index 944c23b4..afaf722a 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -37,10 +37,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../strings/android_chrome_strings.grd | 14 + chrome/common/pref_names.h | 5 + .../strings/android/site_settings.grdp | 3 + - components/component_updater/BUILD.gn | 7 + + components/component_updater/BUILD.gn | 8 + .../adblock_updater_service.cc | 281 ++++++++++++++++++ .../adblock_updater_service.h | 103 +++++++ - .../download_filters_task.cc | 239 +++++++++++++++ + .../download_filters_task.cc | 250 ++++++++++++++++ .../component_updater/download_filters_task.h | 129 ++++++++ ...ent_subresource_filter_throttle_manager.cc | 15 + ...tent_subresource_filter_throttle_manager.h | 2 + @@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/subresource_filter_features.cc | 116 +------- .../core/browser/verified_ruleset_dealer.cc | 4 + .../core/common/indexed_ruleset.cc | 5 +- - 39 files changed, 1261 insertions(+), 129 deletions(-) + 39 files changed, 1273 insertions(+), 129 deletions(-) create mode 100644 chrome/android/java/res/layout/adblock_editor.xml create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java @@ -775,7 +775,7 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update "component_updater_service.cc", "component_updater_service.h", "component_updater_service_internal.h", -@@ -49,6 +55,7 @@ static_library("component_updater") { +@@ -49,9 +55,11 @@ static_library("component_updater") { "//components/update_client", "//components/version_info", "//net", @@ -783,6 +783,10 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update "//third_party/boringssl", "//ui/base", "//url", ++ "//content/common:buildflags" + ] + } + diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc new file mode 100644 --- /dev/null @@ -1181,7 +1185,7 @@ diff --git a/components/component_updater/download_filters_task.cc b/components/ new file mode 100644 --- /dev/null +++ b/components/component_updater/download_filters_task.cc -@@ -0,0 +1,239 @@ +@@ -0,0 +1,250 @@ +/* + This file is part of Bromite. + @@ -1351,10 +1355,21 @@ new file mode 100644 + final_url_ = final_url; + response_code_ = response_head.headers ? response_head.headers->response_code() : -1; + -+ if (!response_head.headers->GetLastModifiedValue(&last_modified_)) -+ LOG(WARNING) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD") << " (no Last-Modified header)"; -+ else -+ LOG(INFO) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD"); ++ std::optional last_modified_value = ++ response_head.headers->GetLastModifiedValue(); ++ if (last_modified_value) { ++ last_modified_ = last_modified_value.value(); ++ LOG(INFO) << "DownloadFiltersTask: fetching URL '" ++ << final_url.spec() ++ << "' with method " ++ << (min_last_modified_.is_null() ? "GET" : "HEAD"); ++ } else { ++ LOG(WARNING) << "DownloadFiltersTask: fetching URL '" ++ << final_url.spec() ++ << "' with method " ++ << (min_last_modified_.is_null() ? "GET" : "HEAD") ++ << " (no Last-Modified header)"; ++ } +} + +void DownloadFiltersTask::OnDownloadComplete(base::FilePath file_path) { diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 767aa80f..b29cbac2 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -16,6 +16,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/predictors/predictors_features.cc | 3 +-- chrome/browser/ui/tab_helpers.cc | 1 - .../ui/webui/omnibox/omnibox_page_handler.cc | 2 ++ + .../accessibility/read_aloud_app_model.cc | 8 ++++++++ + .../renderer/accessibility/read_aloud_app_model.h | 7 +++++++ + .../accessibility/read_anything_app_controller.cc | 12 ++++++++++++ + .../accessibility/read_anything_app_controller.h | 4 ++++ chrome/utility/BUILD.gn | 2 +- chrome/utility/services.cc | 8 -------- .../core/browser/autofill_optimization_guide.cc | 5 +++-- @@ -27,7 +31,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/prediction_model_fetcher_impl.cc | 1 + components/optimization_guide/features.gni | 3 +-- .../core/page_content_annotations_features.cc | 5 +++++ - components/search/ntp_features.cc | 3 +++ .../Disable-all-predictors-code.inc | 3 +++ .../Disable-all-predictors-code.inc | 1 + .../Disable-all-predictors-code.inc | 1 + @@ -37,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html services/webnn/features.gni | 2 +- .../document_speculation_rules.cc | 1 + .../platform/runtime_enabled_features.json5 | 2 +- - 32 files changed, 69 insertions(+), 35 deletions(-) + 35 files changed, 97 insertions(+), 35 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 @@ -231,6 +234,195 @@ diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/br #include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "components/search_engines/template_url.h" #include "content/public/browser/web_ui.h" +diff --git a/chrome/renderer/accessibility/read_aloud_app_model.cc b/chrome/renderer/accessibility/read_aloud_app_model.cc +--- a/chrome/renderer/accessibility/read_aloud_app_model.cc ++++ b/chrome/renderer/accessibility/read_aloud_app_model.cc +@@ -6,7 +6,9 @@ + + #include "base/strings/utf_string_conversions.h" + #include "base/values.h" ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" ++#endif + #include "chrome/renderer/accessibility/phrase_segmentation/dependency_tree.h" + #include "chrome/renderer/accessibility/phrase_segmentation/phrase_segmenter.h" + #include "chrome/renderer/accessibility/phrase_segmentation/token_boundaries.h" +@@ -16,6 +18,7 @@ + + namespace { + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + std::vector GetDependencyHeads( + DependencyParserModel& dependency_parser_model, + std::vector input) { +@@ -25,6 +28,7 @@ std::vector GetDependencyHeads( + return {}; + } + } ++#endif + + } // namespace + +@@ -131,6 +135,7 @@ void ReadAloudAppModel::PreprocessTextForSpeech( + } + } + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + void ReadAloudAppModel::PreprocessPhrasesForText( + DependencyParserModel& dependency_parser_model) { + if (features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) { +@@ -145,7 +150,9 @@ void ReadAloudAppModel::PreprocessPhrasesForText( + DLOG(WARNING) << "Phrase calculation done."; + } + } ++#endif + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + void ReadAloudAppModel::CalculatePhrases( + DependencyParserModel& dependency_parser_model, + a11y::ReadAloudCurrentGranularity& granularity) { +@@ -200,6 +207,7 @@ void ReadAloudAppModel::CalculatePhrases( + smart_highlight, tokenized_sentence, token_boundaries, Strategy::kWords, + /* max_words_per_phrase=*/5); + } ++#endif + + // TODO(crbug.com/40927698): Update to use AXRange to better handle multiple + // nodes. This may require updating GetText in ax_range.h to return AXNodeIds. +diff --git a/chrome/renderer/accessibility/read_aloud_app_model.h b/chrome/renderer/accessibility/read_aloud_app_model.h +--- a/chrome/renderer/accessibility/read_aloud_app_model.h ++++ b/chrome/renderer/accessibility/read_aloud_app_model.h +@@ -9,7 +9,10 @@ + #include "base/values.h" + #include "chrome/common/accessibility/read_anything.mojom.h" + #include "chrome/common/accessibility/read_anything_constants.h" ++#include "components/optimization_guide/machine_learning_tflite_buildflags.h" ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" ++#endif + #include "chrome/renderer/accessibility/read_aloud_traversal_utils.h" + #include "ui/accessibility/ax_node_position.h" + +@@ -87,7 +90,9 @@ class ReadAloudAppModel { + bool is_docs, + const std::set* current_nodes); + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + void PreprocessPhrasesForText(DependencyParserModel& dependency_parser_model); ++#endif + + // Increments the processed_granularity_index_, updating ReadAloud's state of + // the current granularity to refer to the next granularity. The current +@@ -241,9 +246,11 @@ class ReadAloudAppModel { + // still needs to be read. + bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const; + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + // Segment the given granularity into phrases with the given model. + void CalculatePhrases(DependencyParserModel& dependency_parser_model, + a11y::ReadAloudCurrentGranularity& granularity); ++#endif + + // Whether Read Aloud speech is currently playing or not. + bool speech_playing_ = false; +diff --git a/chrome/renderer/accessibility/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything_app_controller.cc +--- a/chrome/renderer/accessibility/read_anything_app_controller.cc ++++ b/chrome/renderer/accessibility/read_anything_app_controller.cc +@@ -20,7 +20,9 @@ + #include "base/strings/utf_string_conversions.h" + #include "chrome/common/accessibility/read_anything_constants.h" + #include "chrome/renderer/accessibility/ax_tree_distiller.h" ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" ++#endif + #include "chrome/renderer/accessibility/read_aloud_traversal_utils.h" + #include "chrome/renderer/accessibility/read_anything_node_utils.h" + #include "components/language/core/common/locale_util.h" +@@ -362,11 +364,13 @@ SkBitmap CorrectColorOfBitMap(SkBitmap& originalBitmap) { + return converted; + } + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + // Returns the dependency parser model for this renderer process. + DependencyParserModel& GetDependencyParserModel() { + static base::NoDestructor instance; + return *instance; + } ++#endif + + } // namespace + +@@ -1474,6 +1478,7 @@ void ReadAnythingAppController::OnConnected() { + render_frame()->GetBrowserInterfaceBroker().GetInterface( + std::move(page_handler_factory_receiver)); + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + // Get the dependency parser model used by phrase-based highlighting. + DependencyParserModel& dependency_parser_model = GetDependencyParserModel(); + if (dependency_parser_model.IsAvailable()) { +@@ -1483,6 +1488,7 @@ void ReadAnythingAppController::OnConnected() { + page_handler_->GetDependencyParserModel( + base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, + weak_ptr_factory_.GetWeakPtr())); ++#endif + } + + void ReadAnythingAppController::OnCopy() const { +@@ -1692,6 +1698,7 @@ std::vector ReadAnythingAppController::GetCurrentText() { + } + + void ReadAnythingAppController::PreprocessTextForSpeech() { ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + const std::set* node_ids = model_.selection_node_ids().empty() + ? &model_.display_node_ids() + : &model_.selection_node_ids(); +@@ -1701,6 +1708,7 @@ void ReadAnythingAppController::PreprocessTextForSpeech() { + DependencyParserModel& model = GetDependencyParserModel(); + read_aloud_model_.PreprocessPhrasesForText(model); + } ++#endif + } + + void ReadAnythingAppController::MovePositionToNextGranularity() { +@@ -1874,11 +1882,15 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { + + void ReadAnythingAppController::UpdateDependencyParserModel( + base::File model_file) { ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + DependencyParserModel& dependency_parser_model = GetDependencyParserModel(); + dependency_parser_model.UpdateWithFile(std::move(model_file)); ++#endif + } + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + DependencyParserModel& + ReadAnythingAppController::GetDependencyParserModelForTesting() { + return GetDependencyParserModel(); + } ++#endif +diff --git a/chrome/renderer/accessibility/read_anything_app_controller.h b/chrome/renderer/accessibility/read_anything_app_controller.h +--- a/chrome/renderer/accessibility/read_anything_app_controller.h ++++ b/chrome/renderer/accessibility/read_anything_app_controller.h +@@ -44,7 +44,9 @@ class MojoUkmRecorder; + } // namespace ukm + + class AXTreeDistiller; ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + class DependencyParserModel; ++#endif + class ReadAnythingAppControllerTest; + class ReadAnythingAppControllerScreen2xDataCollectionModeTest; + +@@ -366,7 +368,9 @@ class ReadAnythingAppController + // available. + void UpdateDependencyParserModel(base::File model_file); + ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + DependencyParserModel& GetDependencyParserModelForTesting(); ++#endif + + std::unique_ptr distiller_; + mojo::Remote diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn @@ -479,17 +671,6 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f +SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation); +SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata); } // namespace page_content_annotations::features -diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc ---- a/components/search/ntp_features.cc -+++ b/components/search/ntp_features.cc -@@ -424,4 +424,7 @@ int GetWallpaperSearchButtonHideCondition() { - kNtpWallpaperSearchButtonHideCondition, - kNtpWallpaperSearchButtonHideConditionParam, 0); - } -+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule); -+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad); -+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleUseModelRanking); - } // namespace ntp_features diff --git a/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index 027ed83c..82ffe23c 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -6,12 +6,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- chrome/android/BUILD.gn | 5 --- chrome/android/chrome_java_sources.gni | 1 - - .../android/java/res/xml/main_preferences.xml | 10 ----- + .../android/java/res/xml/main_preferences.xml | 5 --- .../settings/FragmentDependencyProvider.java | 37 ------------------- .../settings/SettingsLauncherImpl.java | 13 +------ chrome/browser/BUILD.gn | 1 - .../suggestions/action/OmniboxPedal.java | 3 -- - 7 files changed, 2 insertions(+), 68 deletions(-) + 7 files changed, 2 insertions(+), 63 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn @@ -56,7 +56,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java 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 -@@ -56,16 +56,6 @@ for the previous order (main_preferences_legacy). --> +@@ -56,11 +56,6 @@ for the previous order (main_preferences_legacy). --> android:key="privacy" android:order="8" android:title="@string/prefs_privacy_security"/> @@ -65,18 +65,13 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j - android:key="safety_check" - android:order="9" - android:title="@string/prefs_safety_check"/> -- - - mPageTitle = new ObservableSupplierImpl<>(); ++ ++ @Override ++ public void onActivityCreated(Bundle savedInstanceState) { ++ super.onActivityCreated(savedInstanceState); ++ ++ mPageTitle.set(getString(R.string.gpc_title)); ++ } ++ + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + SettingsUtils.addPreferencesFromResource(this, R.xml.gpc_preferences); -+ getActivity().setTitle(R.string.gpc_title); + + ChromeSwitchPreference switchPreference = + (ChromeSwitchPreference) findPreference(PREF_SWITCH); @@ -152,11 +163,16 @@ new file mode 100644 + return true; + }); + } ++ ++ @Override ++ public ObservableSupplier getPageTitle() { ++ return mPageTitle; ++ } +} diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -100,6 +100,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -101,6 +101,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_SECURE_DNS = "secure_dns"; private static final String PREF_USAGE_STATS = "usage_stats_reporting"; private static final String PREF_DO_NOT_TRACK = "do_not_track"; @@ -164,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_REFERER_POLICY = "referers_policy"; -@@ -495,6 +496,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -496,6 +497,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } diff --git a/build/patches/Enable-HighEfficiencyMode-by-default.patch b/build/patches/Enable-HighEfficiencyMode-by-default.patch index 5e56f123..09aefda1 100644 --- a/build/patches/Enable-HighEfficiencyMode-by-default.patch +++ b/build/patches/Enable-HighEfficiencyMode-by-default.patch @@ -14,9 +14,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../performance_manager/freezing/freezing_policy.cc | 4 ++-- components/performance_manager/public/features.h | 3 +++ components/performance_manager/user_tuning/prefs.cc | 6 +++--- - .../browser/renderer_host/page_lifecycle_state_manager.cc | 8 ++++++++ .../Enable-freeze-high-cpu-background-usage.inc | 8 ++++++++ - 6 files changed, 30 insertions(+), 5 deletions(-) + 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Enable-freeze-high-cpu-background-usage.inc diff --git a/components/performance_manager/features.cc b/components/performance_manager/features.cc @@ -100,24 +99,6 @@ diff --git a/components/performance_manager/user_tuning/prefs.cc b/components/pe registry->RegisterTimePref(kLastBatteryUseTimestamp, base::Time()); registry->RegisterBooleanPref(kDiscardRingTreatmentEnabled, true); registry->RegisterBooleanPref(kPerformanceInterventionNotificationEnabled, -diff --git a/content/browser/renderer_host/page_lifecycle_state_manager.cc b/content/browser/renderer_host/page_lifecycle_state_manager.cc ---- a/content/browser/renderer_host/page_lifecycle_state_manager.cc -+++ b/content/browser/renderer_host/page_lifecycle_state_manager.cc -@@ -88,6 +88,14 @@ void PageLifecycleStateManager::SetFrameTreeVisibility( - frozen_explicitly_ = false; - } - -+ if (visibility == blink::mojom::PageVisibilityState::kVisible) { -+ // Unset `frozen_explicitly_` when the page is shown, to reflect that the -+ // Blink page scheduler unfreezes the page in that situation. This ensures -+ // that the page is frozen if SetIsFrozen(true) is called while the page is -+ // hidden in the future (SetIsFrozen(true) no-ops if `frozen_explicitly_` is -+ // true). -+ is_set_frozen_called_ = false; -+ } - SendUpdatesToRendererIfNeeded( - /*page_restore_params=*/nullptr, base::NullCallback()); - // TODO(yuzus): When a page is frozen and made visible, the page should diff --git a/cromite_flags/chrome/browser/about_flags_cc/Enable-freeze-high-cpu-background-usage.inc b/cromite_flags/chrome/browser/about_flags_cc/Enable-freeze-high-cpu-background-usage.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 74d02ed7..d84ed3e6 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -15,9 +15,9 @@ See also: https://github.com/bromite/bromite/issues/547 Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../settings/PasswordSettings.java | 82 ++++++++++++++++++- + .../settings/PasswordSettings.java | 83 ++++++++++++++++++- .../chrome/browser/settings/MainSettings.java | 3 +- - .../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++++-- + .../chromium/chrome/browser/tab/TabImpl.java | 41 +++++++-- chrome/browser/about_flags.cc | 31 ------- chrome/browser/android/tab_android.cc | 3 +- chrome/browser/autofill/android/BUILD.gn | 2 +- @@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/flag_descriptions.cc | 6 -- chrome/browser/flag_descriptions.h | 3 - .../strings/android_chrome_strings.grd | 6 ++ - .../ui/autofill/autofill_client_provider.cc | 78 +----------------- + .../ui/autofill/autofill_client_provider.cc | 78 +---------------- .../ui/autofill/autofill_client_provider.h | 6 -- chrome/browser/ui/tab_helpers.cc | 4 +- components/android_autofill/browser/BUILD.gn | 1 + @@ -48,33 +48,35 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../autofill/core/common/autofill_features.h | 22 ----- .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 ++ - 33 files changed, 270 insertions(+), 165 deletions(-) + 33 files changed, 271 insertions(+), 165 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java -@@ -28,6 +28,7 @@ import androidx.preference.PreferenceCategory; +@@ -28,7 +28,9 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; import org.chromium.base.BuildInfo; +import org.chromium.base.StrictModeContext; import org.chromium.base.metrics.RecordHistogram; ++import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; -@@ -61,6 +62,11 @@ import java.lang.annotation.Retention; + import org.chromium.base.supplier.OneshotSupplier; +@@ -61,6 +63,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Locale; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + /** * The "Passwords" screen in Settings, which allows the user to enable or disable password saving, * to view saved passwords (just the username and URL), and to delete saved passwords. -@@ -68,7 +74,7 @@ import java.util.Locale; +@@ -68,7 +75,7 @@ import java.util.Locale; public class PasswordSettings extends ChromeBaseSettingsFragment implements PasswordListObserver, Preference.OnPreferenceClickListener, @@ -83,20 +85,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage @IntDef({ TrustedVaultBannerState.NOT_SHOWN, TrustedVaultBannerState.OFFER_OPT_IN, -@@ -98,6 +104,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -98,6 +105,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment public static final String PREF_TRUSTED_VAULT_BANNER = "trusted_vault_banner"; public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link"; + public static final String PREF_ANDROID_AUTOFILL_SWITCH = "android_autofill_switch"; + public static final String PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH = "android_autofill_incognito_switch"; + -+ private SnackbarManager mSnackbarManager; ++ private Supplier mSnackbarManagerSupplier; + private Snackbar mSnackbar; + private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords"; private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions"; private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text"; -@@ -130,6 +142,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -130,6 +143,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment private Preference mLinkPref; private Menu mMenu; @@ -105,7 +107,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage private @ManagePasswordsReferrer int mManagePasswordsReferrer; private OneshotSupplier mBottomSheetControllerSupplier; private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); -@@ -315,6 +329,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -315,6 +330,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment } createSavePasswordsSwitch(); @@ -113,7 +115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage if (shouldShowAutoSigninOption()) { createAutoSignInCheckbox(); } -@@ -587,6 +602,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment +@@ -587,6 +603,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE)); } @@ -151,8 +153,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage + + mEnableAndroidAutofillSwitch.setOnPreferenceChangeListener((preference, newValue) -> { + getPrefService().setBoolean(Pref.AUTOFILL_ANDROID_ENABLED, (boolean) newValue); -+ if (!mSnackbarManager.isShowing()) -+ mSnackbarManager.showSnackbar(mSnackbar); ++ if (!mSnackbarManagerSupplier.get().isShowing()) ++ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); + return true; + }); + @@ -172,14 +174,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage + + mEnableAndroidAutofillIncognitoSwitch.setOnPreferenceChangeListener((preference, newValue) -> { + getPrefService().setBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED, (boolean) newValue); -+ if (!mSnackbarManager.isShowing()) -+ mSnackbarManager.showSnackbar(mSnackbar); ++ if (!mSnackbarManagerSupplier.get().isShowing()) ++ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); + return true; + }); + } + -+ public void setSnackbarManager(SnackbarManager manager) { -+ mSnackbarManager = manager; ++ public void setSnackbarManagerSupplier(Supplier manager) { ++ mSnackbarManagerSupplier = manager; + } + private void createAutoSignInCheckbox() { diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch index 3c79d89a..b2816c07 100644 --- a/build/patches/Enable-search-engine-settings-desktop-ui.patch +++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch @@ -44,6 +44,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../settings_localized_strings_provider.cc | 8 + ...ings_localized_strings_provider_android.cc | 198 +++++++++++++ ...tings_localized_strings_provider_android.h | 19 ++ + .../browser/ui/webui/settings/settings_ui.cc | 4 +- .../ui/webui/settings/settings_ui_android.cc | 126 +++++++++ .../ui/webui/settings/settings_ui_android.h | 103 +++++++ chrome/chrome_paks.gni | 11 + @@ -70,7 +71,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ui/webui/resources/include_polymer.gni | 2 +- ui/webui/resources/js/BUILD.gn | 2 +- ui/webui/resources/js/load_time_data.ts | 17 +- - 63 files changed, 1093 insertions(+), 61 deletions(-) + 64 files changed, 1095 insertions(+), 63 deletions(-) create mode 100644 chrome/app/settings_strings_android.grdp create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc @@ -1577,6 +1578,24 @@ new file mode 100644 +} // namespace settings + +#endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_LOCALIZED_STRINGS_PROVIDER_ANDROID_H_ +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 +@@ -460,12 +460,12 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) + web_ui->AddMessageHandler(std::make_unique()); + + webui::SetupWebUIDataSource( +- html_source, base::make_span(kSettingsResources, kSettingsResourcesSize), ++ html_source, base::span(kSettingsResources), + IDR_SETTINGS_SETTINGS_HTML); + + #if !BUILDFLAG(OPTIMIZE_WEBUI) + html_source->AddResourcePaths( +- base::make_span(kSettingsSharedResources, kSettingsSharedResourcesSize)); ++ base::span(kSettingsSharedResources)); + #endif + + AddLocalizedStrings(html_source, profile, web_ui->GetWebContents()); diff --git a/chrome/browser/ui/webui/settings/settings_ui_android.cc b/chrome/browser/ui/webui/settings/settings_ui_android.cc new file mode 100644 --- /dev/null @@ -1657,7 +1676,7 @@ new file mode 100644 + web_ui->DoNotCrashOnUnhandledMessage(); + + webui::SetupWebUIDataSource( -+ html_source, base::make_span(kSettingsResources, kSettingsResourcesSize), ++ html_source, base::span(kSettingsResources), + IDR_SETTINGS_SETTINGS_HTML); + + html_source->AddBoolean( @@ -1666,7 +1685,7 @@ new file mode 100644 + +#if !BUILDFLAG(OPTIMIZE_WEBUI) + html_source->AddResourcePaths( -+ base::make_span(kSettingsSharedResources, kSettingsSharedResourcesSize)); ++ base::span(kSettingsSharedResources)); +#endif + + AddLocalizedStringsAndroid(html_source, profile, web_ui->GetWebContents()); diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 21f2dd40..963efb9e 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../renderer/chrome_render_thread_observer.cc | 5 + components/components_strings.grd | 1 + components/user_scripts/README.md | 150 ++++ - components/user_scripts/android/BUILD.gn | 84 ++ + components/user_scripts/android/BUILD.gn | 86 ++ .../java/res/layout/accept_script_item.xml | 160 ++++ .../java/res/layout/accept_script_list.xml | 10 + .../java/res/layout/scripts_preference.xml | 40 + @@ -93,7 +93,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/host_id.cc | 31 + components/user_scripts/common/host_id.h | 35 + .../user_scripts/common/script_constants.h | 33 + - components/user_scripts/common/url_pattern.cc | 808 ++++++++++++++++++ + components/user_scripts/common/url_pattern.cc | 809 ++++++++++++++++++ components/user_scripts/common/url_pattern.h | 302 +++++++ .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 160 ++++ @@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Experimental-user-scripts-support.inc | 13 + ipc/ipc_message_start.h | 1 + tools/gritsettings/resource_ids.spec | 6 + - 108 files changed, 9480 insertions(+), 2 deletions(-) + 108 files changed, 9483 insertions(+), 2 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 @@ -858,7 +858,7 @@ diff --git a/components/user_scripts/android/BUILD.gn b/components/user_scripts/ new file mode 100755 --- /dev/null +++ b/components/user_scripts/android/BUILD.gn -@@ -0,0 +1,84 @@ +@@ -0,0 +1,86 @@ +# This file is part of Bromite. + +# Bromite is free software: you can redistribute it and/or modify @@ -878,17 +878,18 @@ new file mode 100755 +import("//third_party/jni_zero/jni_zero.gni") + +generate_jni("user_scripts_jni_headers") { -+ sources = [ "java/src/org/chromium/components/user_scripts/UserScriptsBridge.java" ] ++ sources = ++ [ "java/src/org/chromium/components/user_scripts/UserScriptsBridge.java" ] +} + +android_resources("java_resources") { + sources = [ -+ "java/res/xml/userscripts_preferences.xml", + "java/res/layout/accept_script_item.xml", + "java/res/layout/accept_script_list.xml", + "java/res/layout/scripts_preference.xml", -+ "java/res/values/dimens.xml" -+ ] ++ "java/res/values/dimens.xml", ++ "java/res/xml/userscripts_preferences.xml", ++ ] + + deps = [ + "//components/browser_ui/strings/android:browser_ui_strings_grd", @@ -901,29 +902,30 @@ new file mode 100755 +android_library("java") { + sources = [ + "java/src/org/chromium/components/user_scripts/FragmentWindowAndroid.java", -+ "java/src/org/chromium/components/user_scripts/UserScriptsPreferences.java", -+ "java/src/org/chromium/components/user_scripts/UserScriptsBridge.java", + "java/src/org/chromium/components/user_scripts/IUserScriptsUtils.java", ++ "java/src/org/chromium/components/user_scripts/ScriptInfo.java", + "java/src/org/chromium/components/user_scripts/ScriptListBaseAdapter.java", + "java/src/org/chromium/components/user_scripts/ScriptListPreference.java", -+ "java/src/org/chromium/components/user_scripts/ScriptInfo.java", ++ "java/src/org/chromium/components/user_scripts/UserScriptsBridge.java", ++ "java/src/org/chromium/components/user_scripts/UserScriptsPreferences.java", + ] + deps = [ + ":java_resources", + "//base:base_java", -+ "//third_party/jni_zero:jni_zero_java", -+ "//components/embedder_support/android:browser_context_java", ++ "//base:content_uri_utils_java", ++ "//build/android:build_java", + "//components/browser_ui/settings/android:java", + "//components/browser_ui/widget/android:java", -+ "//content/public/android:content_java", ++ "//components/embedder_support/android:browser_context_java", + "//components/prefs/android:java", -+ "//build/android:build_java", -+ "//third_party/androidx:androidx_fragment_fragment_java", -+ "//third_party/androidx:androidx_recyclerview_recyclerview_java", ++ "//content/public/android:content_java", + "//third_party/androidx:androidx_annotation_annotation_java", + "//third_party/androidx:androidx_appcompat_appcompat_resources_java", -+ "//third_party/androidx:androidx_preference_preference_java", + "//third_party/androidx:androidx_core_core_java", ++ "//third_party/androidx:androidx_fragment_fragment_java", ++ "//third_party/androidx:androidx_preference_preference_java", ++ "//third_party/androidx:androidx_recyclerview_recyclerview_java", ++ "//third_party/jni_zero:jni_zero_java", + "//ui/android:ui_java", + ] + srcjar_deps = [ ":user_scripts_jni_headers" ] @@ -938,8 +940,8 @@ new file mode 100755 + deps = [ + ":user_scripts_jni_headers", + "//base", -+ "//components/user_scripts/browser", + "//components/permissions", ++ "//components/user_scripts/browser", + "//content/public/browser", + ] +} @@ -4770,7 +4772,7 @@ diff --git a/components/user_scripts/common/url_pattern.cc b/components/user_scr new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern.cc -@@ -0,0 +1,808 @@ +@@ -0,0 +1,809 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -4861,18 +4863,19 @@ new file mode 100755 +} + +bool IsValidPortForScheme(std::string_view scheme, std::string_view port) { -+ if (port == "*") ++ if (port == "*") { + return true; ++ } + + // Only accept non-wildcard ports if the scheme uses ports. -+ if (url::DefaultPortForScheme(scheme.data(), scheme.length()) == -+ url::PORT_UNSPECIFIED) { ++ if (url::DefaultPortForScheme(scheme) == url::PORT_UNSPECIFIED) { + return false; + } + + int parsed_port = url::PORT_UNSPECIFIED; -+ if (!base::StringToInt(port, &parsed_port)) ++ if (!base::StringToInt(port, &parsed_port)) { + return false; ++ } + return (parsed_port >= 0) && (parsed_port < 65536); +} + diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index 076e5dbf..56d2225a 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -33,6 +33,7 @@ deactivation of all pop-ups (default disabled) .../settings/settings_menu/settings_menu.html | 5 + chrome/browser/ui/tab_helpers.cc | 6 +- .../adblock_internals_page_handler_impl.cc | 23 +- + .../adblock_internals/adblock_internals_ui.cc | 3 +- .../common/extensions/api/_api_features.json | 4 +- .../extensions/api/_permission_features.json | 8 - .../common/extensions/api/adblock_private.idl | 8 + @@ -55,7 +56,7 @@ deactivation of all pop-ups (default disabled) .../browser/adblock_url_loader_factory.h | 7 +- .../browser/adblock_webcontents_observer.cc | 25 +- .../browser/adblock_webcontents_observer.h | 5 +- - .../content/browser/element_hider_impl.cc | 10 +- + .../content/browser/element_hider_impl.cc | 9 +- .../browser/frame_hierarchy_builder.cc | 3 +- .../browser/resource_classification_runner.h | 9 + .../resource_classification_runner_impl.cc | 83 +- @@ -100,7 +101,7 @@ deactivation of all pop-ups (default disabled) .../subscription_collection_impl.cc | 1 + .../core/subscription/subscription_config.cc | 26 +- .../core/subscription/subscription_config.h | 6 +- - .../subscription_downloader_impl.cc | 21 +- + .../subscription_downloader_impl.cc | 29 +- .../subscription_persistent_metadata.h | 1 + .../subscription_persistent_metadata_impl.cc | 7 + .../subscription_persistent_metadata_impl.h | 1 + @@ -129,7 +130,7 @@ deactivation of all pop-ups (default disabled) .../blink/renderer/core/css/style_engine.h | 1 + .../renderer/core/exported/web_document.cc | 15 +- .../definitions/adblock_private.d.ts | 14 + - 119 files changed, 6725 insertions(+), 1311 deletions(-) + 120 files changed, 6731 insertions(+), 1315 deletions(-) create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.ts rename components/adblock/android/java/res/xml/{adblock_preferences.xml => eyeo_adblock_preferences.xml} (56%) @@ -161,7 +162,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j -@@ -120,6 +111,11 @@ for the previous order (main_preferences_legacy). --> +@@ -125,6 +116,11 @@ for the previous order (main_preferences_legacy). --> android:key="adblock" android:order="13" android:title="@string/prefs_adblock"/> @@ -173,7 +174,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j +@@ -139,11 +135,6 @@ for the previous order (main_preferences_legacy). --> android:key="accessibility" android:order="24" android:title="@string/prefs_accessibility"/> @@ -1747,6 +1748,19 @@ diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_page_ha } void AdblockInternalsPageHandlerImpl::OnTelemetryServiceInfoArrived( +diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals_ui.cc b/chrome/browser/ui/webui/adblock_internals/adblock_internals_ui.cc +--- a/chrome/browser/ui/webui/adblock_internals/adblock_internals_ui.cc ++++ b/chrome/browser/ui/webui/adblock_internals/adblock_internals_ui.cc +@@ -30,8 +30,7 @@ AdblockInternalsUI::AdblockInternalsUI(content::WebUI* web_ui) + content::WebUIDataSource* source = content::WebUIDataSource::CreateAndAdd( + profile_, chrome::kChromeUIAdblockInternalsHost); + webui::SetupWebUIDataSource(source, +- base::make_span(kAdblockInternalsResources, +- kAdblockInternalsResourcesSize), ++ base::span(kAdblockInternalsResources), + IDR_ADBLOCK_INTERNALS_ADBLOCK_INTERNALS_HTML); + } + diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/extensions/api/_api_features.json --- a/chrome/common/extensions/api/_api_features.json +++ b/chrome/common/extensions/api/_api_features.json @@ -2912,7 +2926,7 @@ diff --git a/components/adblock/content/browser/element_hider_impl.cc b/componen return; } auto* info = ElementHiderInfo::GetOrCreateForCurrentDocument(frame_host); -@@ -239,13 +239,9 @@ void InsertUserCSSAndApplyElemHidingEmuJS( +@@ -239,13 +239,10 @@ void InsertUserCSSAndApplyElemHidingEmuJS( } if (!input.snippet_js.empty()) { @@ -2922,9 +2936,9 @@ diff --git a/components/adblock/content/browser/element_hider_impl.cc b/componen - frame_host->ExecuteJavaScriptInIsolatedWorld( + frame_host->ExecuteJavaScriptForTests( base::UTF8ToUTF16(input.snippet_js), -- content::RenderFrameHost::JavaScriptResultCallback(), + content::RenderFrameHost::JavaScriptResultCallback(), - content::ISOLATED_WORLD_ID_ADBLOCK); -+ content::RenderFrameHost::JavaScriptResultCallback()); ++ content::ISOLATED_WORLD_ID_GLOBAL); DVLOG(1) << "[eyeo] Snippet - executed JS in frame" << " '" << frame_host->GetFrameName() << "'"; @@ -5141,7 +5155,25 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c if (!subscription_url.SchemeIs("https") && !subscription_url.SchemeIs("data")) { return false; -@@ -192,11 +191,11 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( +@@ -156,12 +155,14 @@ void SubscriptionDownloaderImpl::OnHeadersOnlyDownloaded( + scoped_refptr headers) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(ongoing_ping_.has_value()); +- base::Time date; ++ + std::string version(""); + + // Parse date or Date from response headers. +- if (headers && headers->GetDateValue(&date)) { +- version = utils::ConvertBaseTimeToABPFilterVersionFormat(date); ++ if (headers) { ++ if (auto date = headers->GetDateValue()) { ++ version = utils::ConvertBaseTimeToABPFilterVersionFormat(date.value()); ++ } + } + + std::move(std::get(*ongoing_ping_)) +@@ -192,11 +193,11 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( persistent_metadata_->IncrementDownloadErrorCount(subscription_url); if (std::get(download_it->second) == RetryPolicy::RetryUntilSucceeded) { @@ -5155,7 +5187,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c << subscription_url << ", will abort"; std::move(std::get(download_it->second)) .Run(nullptr); -@@ -213,8 +212,10 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( +@@ -213,8 +214,10 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( TRACE_ID_LOCAL(GenerateTraceId(subscription_url)), "url", subscription_url.spec()); @@ -5167,7 +5199,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c base::BindOnce(&SubscriptionDownloaderImpl::OnConversionFinished, weak_ptr_factory_.GetWeakPtr(), subscription_url)); } -@@ -228,14 +229,14 @@ void SubscriptionDownloaderImpl::OnConversionFinished( +@@ -228,14 +231,14 @@ void SubscriptionDownloaderImpl::OnConversionFinished( TRACE_ID_LOCAL(GenerateTraceId(subscription_url))); const auto download_it = ongoing_downloads_.find(subscription_url); if (download_it == ongoing_downloads_.end()) { @@ -5184,7 +5216,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c << " successfully"; std::move(std::get(download_it->second)) .Run(std::move( -@@ -278,7 +279,7 @@ void SubscriptionDownloaderImpl::AbortWithWarning( +@@ -278,7 +281,7 @@ void SubscriptionDownloaderImpl::AbortWithWarning( if (ongoing_download_it == ongoing_downloads_.end()) { return; } diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index fdc164b9..c53d8cea 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -6,11 +6,13 @@ because of https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10 --- BUILD.gn | 1 - + chrome/browser/extensions/api/BUILD.gn | 1 - .../navigation_predictor_metrics_document_data.h | 2 ++ chrome/browser/safe_browsing/BUILD.gn | 1 + chrome/browser/ui/browser_commands.cc | 1 + chrome/browser/ui/lens/lens_overlay_controller.cc | 1 + .../webid/fedcm_account_selection_view_desktop.cc | 1 + + .../ui/webui/searchbox/searchbox_handler.cc | 1 + .../component_updater/installer_policies/BUILD.gn | 1 + .../omnibox/browser/autocomplete_classifier.cc | 4 ++-- components/omnibox/browser/omnibox_field_trial.cc | 4 ++-- @@ -18,7 +20,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10 .../phishing_classifier/phishing_image_embedder.cc | 14 +++----------- content/browser/browser_interface_binders.cc | 1 + net/BUILD.gn | 1 + - 13 files changed, 17 insertions(+), 16 deletions(-) + 15 files changed, 18 insertions(+), 17 deletions(-) diff --git a/BUILD.gn b/BUILD.gn --- a/BUILD.gn @@ -31,6 +33,17 @@ diff --git a/BUILD.gn b/BUILD.gn "//android_webview/tools/sdk_sandbox", "//android_webview/tools/system_webview_shell", "//chrome/android:chrome_junit_tests", +diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/api/BUILD.gn +--- a/chrome/browser/extensions/api/BUILD.gn ++++ b/chrome/browser/extensions/api/BUILD.gn +@@ -34,7 +34,6 @@ group("api_implementations") { + "//chrome/browser/extensions/api/downloads_internal", + "//chrome/browser/extensions/api/experimental_ai_data", + "//chrome/browser/extensions/api/font_settings", +- "//chrome/browser/extensions/api/mdns", + "//chrome/browser/extensions/api/module", + "//chrome/browser/extensions/api/networking_private", + "//chrome/browser/extensions/api/omnibox", diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h --- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h +++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h @@ -87,6 +100,17 @@ diff --git a/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop. #include "chrome/browser/accessibility/accessibility_state_utils.h" #include "chrome/browser/net/system_network_context_manager.h" #include "chrome/browser/ui/browser_finder.h" +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 ++++ b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc +@@ -6,6 +6,7 @@ + + #include "base/base64.h" + #include "base/base64url.h" ++#include "base/containers/contains.h" + #include "build/branding_buildflags.h" + #include "chrome/browser/bookmarks/bookmark_model_factory.h" + #include "chrome/browser/browser_process.h" diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn --- a/components/component_updater/installer_policies/BUILD.gn +++ b/components/component_updater/installer_policies/BUILD.gn diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 41ab56e4..57f69938 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -26,13 +26,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...istory-number-of-days-privacy-setting.grdp | 18 ++++++ .../core/browser/expire_history_backend.cc | 13 +++- .../core/browser/expire_history_backend.h | 2 + - .../history/core/browser/history_backend.cc | 13 ++++ - .../history/core/browser/history_backend.h | 4 +- + .../history/core/browser/history_backend.cc | 17 +++++ + .../history/core/browser/history_backend.h | 6 +- .../history/core/browser/history_service.cc | 33 ++++++++++ .../history/core/browser/history_service.h | 8 +++ components/history/core/common/pref_names.cc | 4 ++ components/history/core/common/pref_names.h | 1 + - 22 files changed, 254 insertions(+), 8 deletions(-) + .../omnibox/browser/shortcuts_backend.cc | 4 +- + 23 files changed, 259 insertions(+), 13 deletions(-) create mode 100644 components/cromite_components_strings_grd/History-number-of-days-privacy-setting.grdp diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml @@ -455,7 +456,18 @@ diff --git a/components/history/core/browser/expire_history_backend.h b/componen diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc --- a/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc -@@ -1320,6 +1320,19 @@ void HistoryBackend::InitImpl( +@@ -163,6 +163,10 @@ const int kCommitIntervalSeconds = 10; + // deleting some. + const int kMaxRedirectCount = 32; + ++// The number of days old a history entry can be before it is considered "old" ++// and is deleted. ++int kExpireDaysThreshold = 90; ++ + // The maximum number of days for which domain visit metrics are computed + // each time HistoryBackend::GetDomainDiversity() is called. + constexpr int kDomainDiversityMaxBacktrackedDays = 7; +@@ -1320,6 +1324,19 @@ void HistoryBackend::InitImpl( expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } @@ -478,16 +490,18 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h --- a/components/history/core/browser/history_backend.h +++ b/components/history/core/browser/history_backend.h -@@ -208,7 +208,7 @@ class HistoryBackend : public base::RefCountedThreadSafe, +@@ -206,10 +206,6 @@ class HistoryBackend : public base::RefCountedThreadSafe, + // Check if the transition should increment the typed_count of a visit. + static bool IsTypedIncrement(ui::PageTransition transition); - // The number of days old a history entry can be before it is considered "old" - // and is deleted. +- // The number of days old a history entry can be before it is considered "old" +- // and is deleted. - static constexpr int kExpireDaysThreshold = 90; -+ static int kExpireDaysThreshold = 90; - +- // Init must be called to complete object creation. This object can be // constructed on any thread, but all other functions including Init() must -@@ -237,6 +237,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, + // be called on the history thread. +@@ -237,6 +233,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, void Init(bool force_fail, const HistoryDatabaseParams& history_database_params); @@ -610,4 +624,25 @@ diff --git a/components/history/core/common/pref_names.h b/components/history/co extern const char kAllowDeletingBrowserHistory[]; } // namespace prefs +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 +@@ -505,7 +505,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 > +- base::Days(history::HistoryBackend::kExpireDaysThreshold)) { ++ base::Days(90)) { + num_old_shortcuts++; + } + } +@@ -623,7 +623,7 @@ bool ShortcutsBackend::DeleteOldShortcuts() { + const base::Time now(base::Time::Now()); + for (const auto& guid_pair : guid_map_) { + if (now - guid_pair.second->second.last_access_time > +- base::Days(history::HistoryBackend::kExpireDaysThreshold)) { ++ base::Days(90)) { + shortcut_ids.push_back(guid_pair.first); + } + } -- diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index a7776361..c3b31c50 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -15,14 +15,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/bookmarks/browser/bookmark_utils.cc | 7 +++++-- components/bookmarks/browser/features.cc | 17 +++++++++++++++++ components/bookmarks/browser/features.h | 18 ++++++++++++++++++ - .../core/browser/content_settings_registry.cc | 4 ++-- + .../core/browser/content_settings_registry.cc | 6 +++--- .../core/browser/cookie_settings.cc | 2 +- components/payments/core/payment_prefs.cc | 2 +- .../core/common/safe_browsing_prefs.cc | 4 ++-- .../primary_account_manager.cc | 2 +- .../Modify-default-preferences.inc | 8 ++++++++ .../features_cc/Modify-default-preferences.inc | 1 + - 18 files changed, 67 insertions(+), 17 deletions(-) + 18 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 components/bookmarks/browser/features.cc create mode 100644 components/bookmarks/browser/features.h create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc @@ -218,6 +218,15 @@ 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 +@@ -150,7 +150,7 @@ void ContentSettingsRegistry::Init() { + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); + + Register(ContentSettingsType::NOTIFICATIONS, "notifications", +- CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, ++ CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE, + /*allowlisted_primary_schemes=*/{}, + /*valid_settings=*/ + {CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK}, @@ -238,7 +238,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index 5bf24353..99ae5d98 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -18,21 +18,22 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html cc/input/browser_controls_offset_manager.cc | 6 + cc/trees/layer_tree_host_impl.cc | 3 + .../tab_management/TabGroupUiCoordinator.java | 7 +- - .../tab_management/TabGroupUiMediator.java | 49 +++++- + .../tab_management/TabGroupUiMediator.java | 50 +++++- .../tab_management/TabGroupUiProperties.java | 5 + .../tab_management/TabGroupUiToolbarView.java | 17 ++ .../tab_management/TabGroupUiViewBinder.java | 3 + .../tab_management/TabListCoordinator.java | 162 +++++++++++++++++- .../TabListEmptyCoordinator.java | 17 +- + .../browser/feed/FeedSurfaceCoordinator.java | 4 + .../settings/AccessibilitySettings.java | 26 +++ - .../ChromeAccessibilitySettingsDelegate.java | 69 ++++++++ + .../ChromeAccessibilitySettingsDelegate.java | 70 ++++++++ .../chrome/browser/app/ChromeActivity.java | 3 + .../compositor/CompositorViewHolder.java | 7 + .../layouts/LayoutManagerChrome.java | 19 +- .../layouts/LayoutManagerChromeTablet.java | 4 +- .../layouts/ToolbarSwipeLayout.java | 14 +- .../overlays/strip/ScrollDelegate.java | 2 +- - .../strip/StripLayoutHelperManager.java | 37 +++- + .../strip/StripLayoutHelperManager.java | 38 +++- .../scene_layer/StaticTabSceneLayer.java | 7 +- .../scene_layer/TabListSceneLayer.java | 8 + .../scene_layer/TabStripSceneLayer.java | 20 ++- @@ -41,7 +42,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../messages/MessageContainerCoordinator.java | 16 +- .../modaldialog/ChromeTabModalPresenter.java | 2 +- .../chrome/browser/ntp/NewTabPage.java | 14 +- - .../chrome/browser/ntp/NewTabPageLayout.java | 12 +- + .../chrome/browser/ntp/NewTabPageLayout.java | 10 +- .../chrome/browser/ntp/RecentTabsPage.java | 30 +++- .../browser/searchwidget/SearchActivity.java | 11 ++ .../settings/FragmentDependencyProvider.java | 5 + @@ -90,7 +91,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AccessibilitySettingsDelegate.java | 7 + .../render_widget_host_view_android.cc | 3 + .../Move-navigation-bar-to-bottom.inc | 17 ++ - 77 files changed, 1004 insertions(+), 78 deletions(-) + 78 files changed, 1009 insertions(+), 78 deletions(-) create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc @@ -219,17 +220,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser TabGroupUiMediator( Context context, BottomControlsVisibilityController visibilityController, -@@ -125,7 +136,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -125,7 +136,9 @@ public class TabGroupUiMediator implements BackPressHandler { LazyOneshotSupplier dialogControllerSupplier, ObservableSupplier omniboxFocusStateSupplier, - SharedImageTilesCoordinator sharedImageTilesCoordinator) { + SharedImageTilesCoordinator sharedImageTilesCoordinator, + TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier tabSupplier) { ++ mTopUiThemeColorProvider = topUiThemeColorProvider; mContext = context; mResetHandler = resetHandler; mModel = model; -@@ -153,11 +165,30 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -153,11 +166,30 @@ public class TabGroupUiMediator implements BackPressHandler { mIsShowingOverViewMode = true; } @@ -260,7 +262,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser if (getTabsToShowForId(lastId).contains(tab)) { return; } -@@ -217,6 +248,7 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -217,6 +249,7 @@ public class TabGroupUiMediator implements BackPressHandler { return; } resetTabStripWithRelatedTabsForId(currentTab.getId()); @@ -268,7 +270,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @Override -@@ -339,6 +371,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -339,6 +372,8 @@ public class TabGroupUiMediator implements BackPressHandler { resetTabStripWithRelatedTabsForId(tab.getId()); } @@ -277,7 +279,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mHandleBackPressChangedSupplier = handleBackPressChangedSupplier; if (mTabGridDialogControllerSupplier != null) { mTabGridDialogControllerSupplier.onAvailable( -@@ -362,6 +396,18 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -362,6 +397,18 @@ public class TabGroupUiMediator implements BackPressHandler { mModel.set(TabGroupUiProperties.BACKGROUND_COLOR, backgroundColor); } @@ -296,7 +298,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser private void setupToolbarButtons() { View.OnClickListener showGroupDialogOnClickListener = view -> { -@@ -524,6 +570,7 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -524,6 +571,7 @@ public class TabGroupUiMediator implements BackPressHandler { } public void destroy() { @@ -670,6 +672,27 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } setEmptyViewVisibility(View.GONE); } +diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java +--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java ++++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java +@@ -13,6 +13,7 @@ import android.os.Handler; + import android.os.Looper; + import android.os.SystemClock; + import android.view.LayoutInflater; ++import android.view.Gravity; + import android.view.MotionEvent; + import android.view.View; + import android.view.ViewGroup; +@@ -537,6 +538,9 @@ public class FeedSurfaceCoordinator + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + layoutParams.setMarginStart(margin); + layoutParams.setMarginEnd(margin); ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { ++ layoutParams.gravity = Gravity.BOTTOM; ++ } + mNtpHeader.setLayoutParams(layoutParams); + } + diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java @@ -730,34 +753,35 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java -@@ -15,6 +15,13 @@ import org.chromium.chrome.browser.flags.CromiteNativeUtils; +@@ -15,6 +15,14 @@ import org.chromium.chrome.browser.flags.CromiteNativeUtils; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +import org.chromium.chrome.R; +import android.app.Activity; ++import org.chromium.base.supplier.Supplier; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; -+import org.chromium.chrome.browser.ApplicationLifetime; ++import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + /** The Chrome implementation of AccessibilitySettingsDelegate. */ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySettingsDelegate { private static class TextSizeContrastAccessibilityDelegate -@@ -57,6 +64,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting +@@ -57,6 +65,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting return new ForceTabletUIDelegate(); } -+ private SnackbarManager mSnackbarManager; ++ private Supplier mSnackbarManagerSupplier; + -+ public void setSnackbarManager(SnackbarManager snackbarManager) { -+ mSnackbarManager = snackbarManager; ++ public void setSnackbarManagerSupplier(Supplier snackbarManager) { ++ mSnackbarManagerSupplier = snackbarManager; + } + private final Profile mProfile; /** -@@ -67,6 +80,62 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting +@@ -67,6 +81,62 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting mProfile = profile; } @@ -813,8 +837,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s + .setAction(activity.getString(R.string.relaunch), + /*actionData*/null) + .setDuration(/*durationMs*/70000); -+ if (!mSnackbarManager.isShowing()) -+ mSnackbarManager.showSnackbar(mSnackbar); ++ if (!mSnackbarManagerSupplier.get().isShowing()) ++ mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); + } + @Override @@ -997,7 +1021,15 @@ 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 -@@ -101,6 +101,8 @@ import org.chromium.ui.interpolators.Interpolators; +@@ -32,6 +32,7 @@ import androidx.appcompat.content.res.AppCompatResources; + + import org.chromium.base.Callback; + import org.chromium.base.metrics.RecordUserAction; ++import org.chromium.base.supplier.Supplier; + import org.chromium.base.supplier.ObservableSupplier; + import org.chromium.base.supplier.ObservableSupplierImpl; + import org.chromium.cc.input.BrowserControlsOffsetTagsInfo; +@@ -101,6 +102,8 @@ import org.chromium.ui.interpolators.Interpolators; import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.util.ColorUtils; import org.chromium.url.GURL; @@ -1006,7 +1038,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -@@ -267,12 +269,16 @@ public class StripLayoutHelperManager +@@ -267,12 +270,16 @@ public class StripLayoutHelperManager // Drag-Drop @Nullable private TabDragSource mTabDragSource; @@ -1023,7 +1055,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over if (mModelSelectorButton != null && mModelSelectorButton.onDown(x, y, fromMouse, buttons)) { return; -@@ -298,6 +304,7 @@ public class StripLayoutHelperManager +@@ -298,6 +305,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1031,7 +1063,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over if (mModelSelectorButton != null) { mModelSelectorButton.drag(x, y); } -@@ -309,6 +316,7 @@ public class StripLayoutHelperManager +@@ -309,6 +317,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1039,7 +1071,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over long time = time(); if (mModelSelectorButton != null && mModelSelectorButton.click(x, y, fromMouse, buttons)) { -@@ -323,6 +331,7 @@ public class StripLayoutHelperManager +@@ -323,6 +332,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1047,7 +1079,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().fling(time(), x, y, velocityX, velocityY); } -@@ -331,6 +340,7 @@ public class StripLayoutHelperManager +@@ -331,6 +341,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1055,7 +1087,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().onLongPress(time(), x, y); } -@@ -437,7 +447,8 @@ public class StripLayoutHelperManager +@@ -437,7 +448,8 @@ public class StripLayoutHelperManager // implement an interface to manage strip transition states. @NonNull ToolbarManager toolbarManager, @Nullable DesktopWindowStateProvider desktopWindowStateProvider, @@ -1065,7 +1097,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over Resources res = context.getResources(); mUpdateHost = updateHost; mLayerTitleCacheSupplier = layerTitleCacheSupplier; -@@ -538,6 +549,8 @@ public class StripLayoutHelperManager +@@ -538,6 +550,8 @@ public class StripLayoutHelperManager !mTabStripObscured && getStripVisibilityState() == StripVisibilityState.VISIBLE); @@ -1074,7 +1106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over tabHoverCardViewStub.setOnInflateListener( (viewStub, view) -> { -@@ -773,6 +786,10 @@ public class StripLayoutHelperManager +@@ -773,6 +787,10 @@ public class StripLayoutHelperManager // layer should be a negative value. yOffset -= getHeight(); } @@ -1085,7 +1117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over mTabStripTreeProvider.pushAndUpdateStrip( this, mLayerTitleCacheSupplier.get(), -@@ -786,7 +803,9 @@ public class StripLayoutHelperManager +@@ -786,7 +804,9 @@ public class StripLayoutHelperManager mStripTransitionScrimOpacity, mLeftPadding, mRightPadding, @@ -1096,7 +1128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over return mTabStripTreeProvider; } -@@ -845,11 +864,21 @@ public class StripLayoutHelperManager +@@ -845,11 +865,21 @@ public class StripLayoutHelperManager mLeftPadding, mRightPadding); @@ -1376,7 +1408,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; -@@ -174,10 +177,17 @@ public class NewTabPageLayout extends LinearLayout { +@@ -174,7 +177,12 @@ public class NewTabPageLayout extends LinearLayout { mMiddleSpacer = findViewById(R.id.ntp_middle_spacer); mFakeSearchBoxLayout = findViewById(R.id.search_box); insertSiteSectionView(); @@ -1390,11 +1422,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL Log.i(TAG, "NewTabPageLayout.onFinishInflate after insertSiteSectionView"); } -+ /** -+ - /** - * Initializes the NewTabPageLayout. This must be called immediately after inflation, before - * this object is used in any other way. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java @@ -1501,14 +1528,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/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 -@@ -266,6 +266,11 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -240,6 +240,11 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl if (fragment instanceof INeedSnackbarManager) { - ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); + ((INeedSnackbarManager)fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier); } + if (fragment instanceof AccessibilitySettings) { + ((ChromeAccessibilitySettingsDelegate) + ((AccessibilitySettings) fragment) -+ .getDelegate()).setSnackbarManager(mSnackbarManager); ++ .getDelegate()).setSnackbarManagerSupplier(mSnackbarManagerSupplier); + } if (fragment instanceof AccountManagementFragment) { ((AccountManagementFragment) fragment) 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 e64acbe5..0129b3ab 100644 --- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch @@ -16,12 +16,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ...storage_access_grant_permission_context.cc | 12 +++++ .../experiment/experiment_manager_impl.cc | 1 + .../strings/android/site_settings.grdp | 4 +- - .../core/browser/cookie_settings.cc | 2 + + .../core/browser/cookie_settings.cc | 4 +- .../core/common/cookie_settings_base.cc | 52 +------------------ ...ioning-all-cookies-by-top-frame-domain.inc | 3 ++ ...ioning-all-cookies-by-top-frame-domain.inc | 1 + ...ioning-all-cookies-by-top-frame-domain.inc | 1 + ...ioning-all-cookies-by-top-frame-domain.inc | 16 ++++++ + ...ioning-all-cookies-by-top-frame-domain.inc | 1 + net/cookies/canonical_cookie.cc | 3 -- net/cookies/cookie_deletion_info.cc | 3 +- net/cookies/cookie_monster.cc | 1 + @@ -35,11 +36,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../modules/cookie_store/cookie_store.cc | 3 ++ .../cookie_store_delete_options.idl | 2 +- ui/webui/webui_allowlist.cc | 1 + - 26 files changed, 85 insertions(+), 78 deletions(-) + 27 files changed, 86 insertions(+), 80 deletions(-) create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc create mode 100644 cromite_flags/net/base/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc + create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc 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 @@ -169,14 +171,16 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo if (url.is_empty() || first_party_url.is_empty()) { return; } -@@ -385,6 +386,7 @@ bool CookieSettings::ShouldBlockThirdPartyCookiesInternal() const { - DCHECK(thread_checker_.CalledOnValidThread()); - DCHECK(pref_change_registrar_); +@@ -411,8 +412,7 @@ bool CookieSettings::ShouldBlockThirdPartyCookiesInternal() const { + } -+ if ((true)) return false; - if (net::cookie_util::IsForceThirdPartyCookieBlockingEnabled()) { - return true; - } + bool CookieSettings::MitigationsEnabledFor3pcdInternal() const { +- return AreThirdPartyCookiesLimited() || +- net::cookie_util::IsForceThirdPartyCookieBlockingEnabled(); ++ return false; + } + + void CookieSettings::OnContentSettingChanged( 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 @@ -296,7 +300,13 @@ new file mode 100644 + +// Implement `Activate-Storage-Access: retry` header semantics +// https://source.chromium.org/chromium/chromium/src/+/ca4775cd3edadea0c3e756e772c3afc766e46fd1 -+SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeaderRetry); ++// SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeaderRetry); +diff --git a/cromite_flags/services/network/public/cpp/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc b/cromite_flags/services/network/public/cpp/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc +new file mode 100644 +--- /dev/null ++++ b/cromite_flags/services/network/public/cpp/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc +@@ -0,0 +1 @@ ++SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeaders); 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 diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 46e4e79e..26a9c29d 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -105,11 +105,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html services/BUILD.gn | 9 - services/device/geolocation/BUILD.gn | 4 - services/shape_detection/BUILD.gn | 2 - - third_party/android_deps/BUILD.gn | 723 +----------------- + third_party/android_deps/BUILD.gn | 720 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- third_party/cardboard/BUILD.gn | 4 - - 85 files changed, 116 insertions(+), 2309 deletions(-) + 85 files changed, 116 insertions(+), 2306 deletions(-) create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected @@ -3800,11 +3800,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. } # The section below is generated by running -@@ -314,255 +305,6 @@ if (!limit_android_deps) { - "//third_party/hamcrest:hamcrest_core_java", +@@ -315,253 +306,6 @@ if (!limit_android_deps) { "//third_party/hamcrest:hamcrest_library_java", ] -- } + } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { @@ -4052,11 +4051,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - } - -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(material_design_target)) { android_aar_prebuilt("com_google_android_material_material_java") { - aar_path = "cipd/libs/com_google_android_material_material/material-1.11.0-beta01.aar" -@@ -609,24 +351,6 @@ if (!limit_android_deps) { +@@ -609,24 +353,6 @@ if (!limit_android_deps) { } } @@ -4081,7 +4079,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(dagger_java_target)) { java_prebuilt("com_google_dagger_dagger_java") { -@@ -667,56 +391,6 @@ if (!limit_android_deps) { +@@ -667,56 +393,6 @@ if (!limit_android_deps) { ] } @@ -4138,7 +4136,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(guava_android_target)) { java_prebuilt("com_google_guava_guava_android_java") { -@@ -842,20 +516,6 @@ if (!limit_android_deps) { +@@ -842,20 +518,6 @@ if (!limit_android_deps) { requires_android = true } @@ -4159,11 +4157,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("io_grpc_grpc_context_java") { jar_path = "cipd/libs/io_grpc_grpc_context/grpc-context-1.49.0.jar" -@@ -1123,357 +783,6 @@ if (!limit_android_deps) { - "//third_party/androidx:androidx_test_monitor_java", +@@ -1124,356 +786,6 @@ if (!limit_android_deps) { ] is_robolectric = true -- } + } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - java_prebuilt("com_google_android_annotations_java") { @@ -4517,7 +4514,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_squareup_javawriter_java") { jar_path = "cipd/libs/com_squareup_javawriter/javawriter-2.1.1.jar" -@@ -1510,33 +819,6 @@ if (!limit_android_deps) { +@@ -1510,33 +822,6 @@ if (!limit_android_deps) { ] } @@ -4551,7 +4548,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("io_perfmark_perfmark_api_java") { jar_path = "cipd/libs/io_perfmark_perfmark_api/perfmark-api-0.25.0.jar" -@@ -1775,7 +1057,6 @@ if (!limit_android_deps) { +@@ -1775,7 +1060,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ @@ -4559,7 +4556,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. ":org_robolectric_pluginapi_java", ":org_robolectric_utils_java", "//third_party/android_deps:guava_android_java", -@@ -1797,7 +1078,6 @@ if (!limit_android_deps) { +@@ -1797,7 +1081,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ @@ -4567,7 +4564,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. ":org_robolectric_annotations_java", ":org_robolectric_pluginapi_java", ":org_robolectric_utils_java", -@@ -1867,7 +1147,6 @@ if (!limit_android_deps) { +@@ -1867,7 +1150,6 @@ if (!limit_android_deps) { ] testonly = true deps = [ diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index 62c5afa2..f29b5489 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -28,9 +28,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/flags/ChromeFeatureList.java | 3 +- .../history/core/browser/top_sites_impl.h | 2 +- .../Restore-Simplified-NTP-launch.inc | 12 ++ - .../Restore-Simplified-NTP-launch.inc | 6 + + .../Restore-Simplified-NTP-launch.inc | 5 + .../Restore-Simplified-NTP-launch.inc | 1 + - 24 files changed, 395 insertions(+), 29 deletions(-) + 24 files changed, 394 insertions(+), 29 deletions(-) create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java @@ -753,12 +753,11 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-Simplified-NTP-launch.inc -@@ -0,0 +1,6 @@ +@@ -0,0 +1,5 @@ +CROMITE_FEATURE(kSimplifiedNTP, + "SimplifiedNTP", + base::FEATURE_ENABLED_BY_DEFAULT); + -+SET_CROMITE_FEATURE_DISABLED(kSurfacePolish); +SET_CROMITE_FEATURE_DISABLED(kMagicStackAndroid); diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc new file mode 100644 diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch index 62690515..47566987 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -17,8 +17,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AdaptiveToolbarStatePredictor.java | 9 ++- .../AdaptiveToolbarStatePredictorTest.java | 15 +++++ ...oButtonGroupAdaptiveToolbarPreference.java | 1 + - ...ve-button-in-top-toolbar-customization.inc | 3 + - 11 files changed, 109 insertions(+), 6 deletions(-) + ...ve-button-in-top-toolbar-customization.inc | 2 + + 11 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java @@ -277,8 +277,7 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc -@@ -0,0 +1,3 @@ +@@ -0,0 +1,2 @@ +SET_CROMITE_FEATURE_ENABLED(kAdaptiveButtonInTopToolbarCustomizationV2); + -+SET_CROMITE_FEATURE_DISABLED(kAdaptiveButtonInTopToolbarTranslate); -- diff --git a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch index 7f383ccb..fc3152e0 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -4,22 +4,22 @@ Subject: Revert remove AllowScript content settings per secondary url https://chromium-review.googlesource.com/c/chromium/src/+/5307559 --- - .../worker_content_settings_client.cc | 35 +++++++++++++++++ - .../renderer/worker_content_settings_client.h | 2 + - .../renderer/content_settings_agent_impl.cc | 38 ++++++++++++++++++- - .../renderer/content_settings_agent_impl.h | 6 +++ - .../platform/web_content_settings_client.h | 12 ++++++ - .../renderer/core/frame/local_dom_window.cc | 6 ++- + .../worker_content_settings_client.cc | 35 ++++++++++++++++++ + .../renderer/worker_content_settings_client.h | 2 ++ + .../renderer/content_settings_agent_impl.cc | 36 ++++++++++++++++++- + .../renderer/content_settings_agent_impl.h | 6 ++++ + .../platform/web_content_settings_client.h | 12 +++++++ + .../renderer/core/frame/local_dom_window.cc | 6 +++- .../blink/renderer/core/frame/local_frame.cc | 13 ------- - .../blink/renderer/core/frame/local_frame.h | 6 --- - .../renderer/core/html/html_meta_element.cc | 4 +- + .../blink/renderer/core/frame/local_frame.h | 6 ---- + .../renderer/core/html/html_meta_element.cc | 4 ++- .../core/loader/base_fetch_context.cc | 2 +- .../renderer/core/loader/base_fetch_context.h | 2 +- - .../core/loader/frame_fetch_context.cc | 30 ++++++++++----- + .../core/loader/frame_fetch_context.cc | 30 +++++++++++----- .../core/loader/frame_fetch_context.h | 13 ++++++- - .../core/loader/worker_fetch_context.cc | 12 ++++-- + .../core/loader/worker_fetch_context.cc | 12 ++++--- .../core/loader/worker_fetch_context.h | 2 +- - 15 files changed, 144 insertions(+), 39 deletions(-) + 15 files changed, 142 insertions(+), 39 deletions(-) diff --git a/chrome/renderer/worker_content_settings_client.cc b/chrome/renderer/worker_content_settings_client.cc --- a/chrome/renderer/worker_content_settings_client.cc @@ -90,7 +90,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); if (frame->Parent()) -@@ -349,6 +349,41 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings, +@@ -348,6 +348,39 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings, return allow; } @@ -108,7 +108,6 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc + // allowing all scripts, it's quicker this way. + bool allow = AllowContentSetting( + ContentSettingsType::JAVASCRIPT, enabled_per_settings); -+ allow = allow || IsAllowlistedForContentSettingsCromite(); + + cached_script_permissions_[frame] = allow; + return allow; @@ -125,14 +124,13 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc + allow = AllowContentSetting( + ContentSettingsType::JAVASCRIPT, script_url, enabled_per_settings); + } -+ allow = allow || IsAllowlistedForContentSettingsCromite(); + return allow; +} + bool ContentSettingsAgentImpl::AllowReadFromClipboard() { return delegate_->AllowReadFromClipboard(); } -@@ -407,6 +442,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() { +@@ -406,6 +439,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() { void ContentSettingsAgentImpl::ClearBlockedContentSettings() { content_blocked_.clear(); cached_storage_permissions_.clear(); diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index e071c8da..116859c5 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct new ChromeInactivityTracker( ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF); + mInactivityTracker.setIsStartup( -+ !CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState())); ++ !CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState())); TabUsageTracker.initialize(this.getLifecycleDispatcher(), tabModelSelector); TabGroupUsageTracker.initialize( this.getLifecycleDispatcher(), tabModelSelector, this::isWarmOnResume); diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch index 503ad669..cd51f038 100644 --- a/build/patches/Site-setting-for-images.patch +++ b/build/patches/Site-setting-for-images.patch @@ -15,7 +15,7 @@ Require: Content-settings-infrastructure.patch .../bromite_content_settings/images.grdp | 23 +++++ .../bromite_content_settings/images.inc | 6 ++ .../core/browser/content_settings_registry.cc | 2 +- - .../renderer/content_settings_agent_impl.cc | 15 +++ + .../renderer/content_settings_agent_impl.cc | 14 +++ .../renderer/content_settings_agent_impl.h | 2 + .../platform/web_content_settings_client.h | 5 + .../blink/renderer/core/frame/local_frame.cc | 13 --- @@ -27,7 +27,7 @@ Require: Content-settings-infrastructure.patch .../platform/loader/fetch/fetch_context.h | 2 +- .../platform/loader/fetch/resource_fetcher.cc | 17 +++- .../platform/loader/fetch/resource_fetcher.h | 2 + - 21 files changed, 178 insertions(+), 36 deletions(-) + 21 files changed, 177 insertions(+), 36 deletions(-) create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png @@ -271,7 +271,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -334,6 +334,21 @@ bool ContentSettingsAgentImpl::AllowStorageAccessSync( +@@ -334,6 +334,20 @@ bool ContentSettingsAgentImpl::AllowStorageAccessSync( return result; } @@ -279,7 +279,6 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc + const WebURL& image_url) { + bool allow = enabled_per_settings; + if (enabled_per_settings) { -+ allow = allow || IsAllowlistedForContentSettingsCromite(); + if (content_setting_rules_) { + allow = AllowContentSetting(ContentSettingsType::IMAGES, + image_url, enabled_per_settings); @@ -459,7 +458,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c allow_stale_resources_(false), image_fetched_(false), transparent_image_optimization_enabled_(base::FeatureList::IsEnabled( -@@ -1920,7 +1921,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( +@@ -1918,7 +1919,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( if (existing_resource.GetType() != ResourceType::kImage) return false; @@ -468,7 +467,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2163,8 +2164,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2161,8 +2162,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } @@ -501,7 +500,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h FetchContext& Context() const; void ClearContext(); -@@ -686,6 +687,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -688,6 +689,7 @@ class PLATFORM_EXPORT ResourceFetcher // 27 bits left bool auto_load_images_ : 1; diff --git a/build/patches/Use-dummy-DFM-installer.patch b/build/patches/Use-dummy-DFM-installer.patch index 9cb5346d..6c47f122 100644 --- a/build/patches/Use-dummy-DFM-installer.patch +++ b/build/patches/Use-dummy-DFM-installer.patch @@ -6,10 +6,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- components/module_installer/android/BUILD.gn | 1 - .../engine/SplitCompatEngine.java | 64 +------------------ - .../engine/SplitCompatEngineFacade.java | 26 +------- + .../engine/SplitCompatEngineFacade.java | 25 -------- .../module_installer/util/ModuleUtil.java | 3 - .../util/SplitCompatInitializer.java | 6 -- - 5 files changed, 3 insertions(+), 97 deletions(-) + 5 files changed, 1 insertion(+), 98 deletions(-) diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn --- a/components/module_installer/android/BUILD.gn @@ -135,7 +135,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java --- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java +++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java -@@ -6,48 +6,26 @@ package org.chromium.components.module_installer.engine; +@@ -6,48 +6,23 @@ package org.chromium.components.module_installer.engine; import android.app.Activity; @@ -156,17 +156,15 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component - public SplitCompatEngineFacade() { - this(SplitInstallManagerFactory.create(ContextUtils.getApplicationContext())); -- } -- -- public SplitCompatEngineFacade(SplitInstallManager manager) { -- mSplitManager = manager; -+ this(null); } +- public SplitCompatEngineFacade(SplitInstallManager manager) { +- mSplitManager = manager; +- } +- - public SplitInstallManager getSplitManager() { - return mSplitManager; -+ public SplitCompatEngineFacade(Logger umaLogger) { - } +- } public void installActivity(Activity activity) { - // Note that SplitCompat (install) needs to be called on the Application Context prior diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch index 9b91696a..be6ad971 100644 --- a/build/patches/Welcome-screen.patch +++ b/build/patches/Welcome-screen.patch @@ -262,7 +262,7 @@ diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res + -+ + diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 15e9e016..96567b96 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ...ccount_consistency_mode_manager_factory.cc | 2 +- .../throttled_gaia_auth_fetcher.cc | 5 + chrome/browser/signin/chrome_signin_client.cc | 7 +- - .../browser/signin/dice_response_handler.cc | 2 + + .../browser/signin/dice_response_handler.cc | 4 +- .../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++- .../ui/webui/policy/policy_ui_handler.h | 2 + .../strings/android/browser_ui_strings.grd | 2 +- @@ -36,7 +36,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../gaia_cookie_manager_service.cc | 4 + google_apis/gaia/gaia_auth_fetcher.cc | 1 + net/socket/ssl_client_socket_impl.cc | 3 + - 32 files changed, 323 insertions(+), 150 deletions(-) + 32 files changed, 324 insertions(+), 151 deletions(-) diff --git a/base/win/win_util.cc b/base/win/win_util.cc --- a/base/win/win_util.cc @@ -344,6 +344,15 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/signin/dice_response_handler.cc --- a/chrome/browser/signin/dice_response_handler.cc +++ b/chrome/browser/signin/dice_response_handler.cc +@@ -64,7 +64,7 @@ namespace { + // The UMA histograms that logs events related to Dice responses. + const char kDiceResponseHeaderHistogram[] = "Signin.DiceResponseHeader"; + const char kDiceTokenFetchResultHistogram[] = "Signin.DiceTokenFetchResult"; +-const char kDiceTokenBindingOutcomeHistogram[] = ++[[maybe_unused]] const char kDiceTokenBindingOutcomeHistogram[] = + "Signin.DiceTokenBindingOutcome"; + + // Used for UMA. Do not reorder, append new values at the end. @@ -526,8 +526,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( // - If there is a policy restriction on removing the primary account. bool invalidate_only_primary_account = diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 46d3c0cc..9ca2cb92 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -29,6 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../new_tab_page/promos/promo_service.cc | 6 +- .../from_gws_page_load_metrics_observer.cc | 6 +- .../page_load_metrics_initialize.cc | 5 - + chrome/browser/profile_resetter/BUILD.gn | 1 - .../profile_resetter/profile_resetter.cc | 3 +- chrome/browser/safe_browsing/BUILD.gn | 1 - chrome/browser/search_engines/BUILD.gn | 1 - @@ -64,7 +65,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...gled-chromium-no-special-hosts-domains.inc | 1 + net/base/url_util.cc | 25 +- services/network/network_context.cc | 2 +- - 57 files changed, 58 insertions(+), 855 deletions(-) + 58 files changed, 58 insertions(+), 856 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java @@ -710,6 +711,17 @@ diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/ tracker->AddObserver(std::make_unique()); tracker->AddObserver( std::make_unique()); +diff --git a/chrome/browser/profile_resetter/BUILD.gn b/chrome/browser/profile_resetter/BUILD.gn +--- a/chrome/browser/profile_resetter/BUILD.gn ++++ b/chrome/browser/profile_resetter/BUILD.gn +@@ -18,7 +18,6 @@ if (!is_android) { + deps = [ + "//chrome/browser:browser", + "//chrome/browser/browsing_data:constants", +- "//chrome/browser/google:google", + "//chrome/browser/search/background:background", + "//chrome/browser/search_engines:search_engines", + "//chrome/test:test_support", diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc --- a/chrome/browser/profile_resetter/profile_resetter.cc +++ b/chrome/browser/profile_resetter/profile_resetter.cc From b7f393a245ab3b9580f706597c52dcd6af46a620 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Tue, 15 Oct 2024 16:40:22 +0200 Subject: [PATCH 5/7] Patches for v130 - final (#1554) --- .../Partition-Blink-memory-cache.patch | 46 +++++++++++-------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch index d229d8c0..011b30be 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -16,13 +16,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../core/html/parser/html_srcset_parser.cc | 2 +- .../core/inspector/inspector_network_agent.cc | 2 +- - .../core/inspector/inspector_page_agent.cc | 4 ++-- + .../core/inspector/inspector_page_agent.cc | 4 +-- .../renderer/core/loader/image_loader.cc | 3 ++- - .../platform/loader/fetch/memory_cache.cc | 8 ++------ - .../platform/loader/fetch/memory_cache.h | 5 ++--- - .../platform/loader/fetch/resource_fetcher.cc | 19 +++++++++++++------ - .../platform/loader/fetch/resource_fetcher.h | 3 ++- - 8 files changed, 25 insertions(+), 21 deletions(-) + .../platform/loader/fetch/memory_cache.cc | 8 ++---- + .../platform/loader/fetch/memory_cache.h | 5 ++-- + .../platform/loader/fetch/resource_fetcher.cc | 27 ++++++++++++++----- + .../platform/loader/fetch/resource_fetcher.h | 5 +++- + 8 files changed, 35 insertions(+), 21 deletions(-) diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc --- a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc @@ -129,43 +129,51 @@ 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 -@@ -992,7 +992,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( +@@ -992,7 +992,7 @@ Resource* ResourceFetcher::CreateResourceForStaticData( if (!archive_ && factory.GetType() == ResourceType::kRaw) return nullptr; - const String cache_identifier = GetCacheIdentifier(url); -+ const String cache_identifier = GetCacheIdentifier(url, -+ params.GetResourceRequest().TopFrameOrigin()); ++ const String cache_identifier = GetCacheIdentifier(url, params.GetResourceRequest()); // Most off-main-thread resource fetches use Resource::kRaw and don't reach // this point, but off-main-thread module fetches might. if (IsMainThread()) { -@@ -1408,7 +1409,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, +@@ -1408,7 +1408,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, MakePreloadedResourceBlockOnloadIfNeeded(resource, params); } else if (IsMainThread()) { resource = MemoryCache::Get()->ResourceForURL( - params.Url(), GetCacheIdentifier(params.Url())); + params.Url(), -+ GetCacheIdentifier(params.Url(), -+ params.GetResourceRequest().TopFrameOrigin())); ++ GetCacheIdentifier(params.Url(), params.GetResourceRequest())); if (resource) { policy = DetermineRevalidationPolicy(resource_type, params, *resource, is_static_data); -@@ -1719,7 +1722,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( +@@ -1719,7 +1720,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( const FetchParameters& params, const ResourceFactory& factory) { const String cache_identifier = - GetCacheIdentifier(params.GetResourceRequest().Url()); + GetCacheIdentifier(params.GetResourceRequest().Url(), -+ params.GetResourceRequest().TopFrameOrigin()); ++ params.GetResourceRequest()); DCHECK(!IsMainThread() || params.IsStaleRevalidation() || !MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(), cache_identifier)); -@@ -2788,10 +2792,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() { +@@ -2788,10 +2790,23 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() { to_be_removed.clear(); } -String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { +String ResourceFetcher::GetCacheIdentifier(const KURL& url, ++ const ResourceRequest& resource_request) const { ++ if (const scoped_refptr top_origin = resource_request.TopFrameOrigin()) { ++ return ResourceFetcher::GetCacheIdentifier(url, top_origin); ++ } else if (const scoped_refptr requestor_origin = resource_request.RequestorOrigin()) { ++ return ResourceFetcher::GetCacheIdentifier(url, requestor_origin); ++ } ++ NOTREACHED(); ++} ++ ++String ResourceFetcher::GetCacheIdentifier(const KURL& url, + scoped_refptr origin) const { + String origin_url = origin ? origin->ToRawString() : ""; + @@ -176,7 +184,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 -@@ -2804,7 +2811,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { +@@ -2804,7 +2819,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { if (bundle) return bundle->GetCacheIdentifier(); @@ -188,13 +196,15 @@ 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 -@@ -278,7 +278,8 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -278,7 +278,10 @@ class PLATFORM_EXPORT ResourceFetcher uint32_t inflight_keepalive_bytes); blink::mojom::ControllerServiceWorkerMode IsControlledByServiceWorker() const; - String GetCacheIdentifier(const KURL& url) const; + String GetCacheIdentifier(const KURL& url, -+ scoped_refptr cache_identifier) const; ++ const ResourceRequest& resource_request) const; ++ String GetCacheIdentifier(const KURL& url, ++ scoped_refptr origin) const; // If `url` exists as a resource in a subresource bundle in this frame, // returns its UnguessableToken; otherwise, returns std::nullopt. From de68c0d5ad10c9876d6aab79a97e61f13f19e836 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Tue, 15 Oct 2024 16:40:55 +0200 Subject: [PATCH 6/7] Patches for v130 - only context change --- build/patches/Add-setting-to-invert-tap-and-long-tap.patch | 4 ++-- build/patches/Add-support-for-ISupportHelpAndFeedback.patch | 4 ++-- build/patches/Cromite-Branding--improve-settings-ui.patch | 2 +- build/patches/Disable-speechSynthesis-getVoices-API.patch | 4 ++-- build/patches/Keep-disabled-FetchLaterAPI.patch | 2 +- build/patches/Remove-help-menu-item.patch | 2 +- build/patches/Timezone-customization.patch | 2 +- build/patches/eyeo-beta-118.0.5993.48-android_settings.patch | 2 +- build/patches/eyeo-beta-118.0.5993.48-extension_api.patch | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) 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 01df7154..548798c0 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 @@ -106,8 +106,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java -@@ -136,6 +136,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting - mSnackbarManager.showSnackbar(mSnackbar); +@@ -137,6 +137,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting + mSnackbarManagerSupplier.get().showSnackbar(mSnackbar); } + private static class ShowAlwaysContextMenuOnLinksDelegate implements BooleanPreferenceDelegate { diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 7a0fed13..9d4f1b72 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -51,6 +51,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.browser_ui.settings.SettingsPage; import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat; -@@ -411,8 +412,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -419,8 +420,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity } return true; } else if (item.getItemId() == R.id.menu_id_general_help) { diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index 93ea13e8..628e17da 100644 --- a/build/patches/Cromite-Branding--improve-settings-ui.patch +++ b/build/patches/Cromite-Branding--improve-settings-ui.patch @@ -245,7 +245,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -141,7 +141,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -142,7 +142,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); diff --git a/build/patches/Disable-speechSynthesis-getVoices-API.patch b/build/patches/Disable-speechSynthesis-getVoices-API.patch index 63352d25..7b135e1f 100644 --- a/build/patches/Disable-speechSynthesis-getVoices-API.patch +++ b/build/patches/Disable-speechSynthesis-getVoices-API.patch @@ -43,7 +43,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc --- a/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -448,6 +448,14 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { +@@ -445,6 +445,14 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { cached_script_permissions_.clear(); } @@ -58,7 +58,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc bool ContentSettingsAgentImpl::UpdateOverrides() { // Evaluate the content setting rules ContentSetting setting = CONTENT_SETTING_ALLOW; -@@ -458,7 +466,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() { +@@ -455,7 +463,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() { } return UpdateTimeZoneOverride( setting, content_setting_rules_->timezone_override_value); diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index 1e6fc499..9f50ece5 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -159,7 +159,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 -@@ -2917,7 +2917,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -2925,7 +2925,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. diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index 728ed151..a824aaad 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.patch @@ -151,7 +151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -380,6 +380,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -388,6 +388,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getTheme())); diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index 73f56084..96514606 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -847,7 +847,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); if (frame->Parent()) -@@ -445,4 +448,78 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { +@@ -442,4 +445,78 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { cached_script_permissions_.clear(); } diff --git a/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch b/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch index a6c169f5..bc8e496e 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-android_settings.patch @@ -278,7 +278,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j --> +@@ -136,6 +139,11 @@ for the previous order (main_preferences_legacy). --> android:key="accessibility" android:order="24" android:title="@string/prefs_accessibility"/> diff --git a/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch b/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch index 463a2229..4bfcc472 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-extension_api.patch @@ -96,7 +96,7 @@ diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/ import("//chrome/common/extensions/api/api_sources.gni") import("//chrome/common/features.gni") -@@ -107,6 +111,7 @@ function_registration("api_registration") { +@@ -106,6 +110,7 @@ function_registration("api_registration") { # include generated headers from these targets. # TODO(brettw) this should be made unnecessary if possible. "//chrome/common/extensions/api", From 1269b9f2c96f2f78835b070d9b77148ce19bcd08 Mon Sep 17 00:00:00 2001 From: uazo <29201891+uazo@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:43:39 +0000 Subject: [PATCH 7/7] [AUTO] Patches auto-rebase --- ...tore-adaptive-button-in-top-toolbar-customization.patch | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch index 47566987..d7ff4964 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -17,8 +17,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AdaptiveToolbarStatePredictor.java | 9 ++- .../AdaptiveToolbarStatePredictorTest.java | 15 +++++ ...oButtonGroupAdaptiveToolbarPreference.java | 1 + - ...ve-button-in-top-toolbar-customization.inc | 2 + - 11 files changed, 108 insertions(+), 6 deletions(-) + ...ve-button-in-top-toolbar-customization.inc | 1 + + 11 files changed, 107 insertions(+), 6 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java @@ -277,7 +277,6 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc -@@ -0,0 +1,2 @@ +@@ -0,0 +1 @@ +SET_CROMITE_FEATURE_ENABLED(kAdaptiveButtonInTopToolbarCustomizationV2); -+ --