From 871d99a7f5416d2d8509f139008598bdfb60e400 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Tue, 6 Aug 2024 17:05:26 +0200 Subject: [PATCH 01/18] Bump to 128.0.6613.23 --- build/RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/RELEASE b/build/RELEASE index f2b07521..7ad2b19f 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -127.0.6533.94 \ No newline at end of file +128.0.6613.23 \ No newline at end of file From f24eefec85ea075e10e3f198f73445793419c712 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 7 Aug 2024 14:10:53 +0200 Subject: [PATCH 02/18] Patches for 128 (#1362) --- .../AImageReader-CFI-crash-mitigations.patch | 16 +- .../Add-AllowUserCertificates-flag.patch | 18 +- .../Add-IsCleartextPermitted-flag.patch | 2 +- ...tialLowEndModeOnMidRangeDevices-flag.patch | 2 +- .../Add-a-flag-to-disable-GamePad-API.patch | 8 +- .../Add-a-proxy-configuration-page.patch | 67 +++--- .../Add-an-always-incognito-mode.patch | 196 ++++++++--------- .../Add-bookmark-import-export-actions.patch | 38 ++-- build/patches/Add-cromite-flags-support.patch | 124 ++++++----- ...dd-custom-tab-intents-privacy-option.patch | 6 +- build/patches/Add-exit-menu-item.patch | 14 +- ...g-for-omnibox-autocomplete-filtering.patch | 4 +- ...nfigure-maximum-connections-per-host.patch | 2 +- .../Add-flag-to-disable-IPv6-probes.patch | 6 +- .../Add-flag-to-disable-vibration.patch | 2 +- ...-switch-for-unsupported-clangd-flags.patch | 8 +- ...Add-lifetime-options-for-permissions.patch | 50 ++--- .../Add-menu-item-to-bookmark-all-tabs.patch | 34 +-- .../Add-menu-item-to-view-source.patch | 12 +- .../Add-option-to-disable-snapshots.patch | 35 +-- ...-to-not-persist-tabs-across-sessions.patch | 4 +- .../Add-option-to-use-home-page-as-NTP.patch | 30 +-- build/patches/Add-search-engine.patch | 2 +- .../Add-setting-to-clear-data-on-exit.patch | 36 ++-- build/patches/Add-site-engagement-flag.patch | 6 +- ...-support-for-ISupportHelpAndFeedback.patch | 2 +- .../Add-support-for-writing-URIs.patch | 12 +- build/patches/Add-support-to-jxl.patch | 28 +-- build/patches/Add-webGL-site-setting.patch | 10 +- build/patches/Add-webRTC-site-settings.patch | 6 +- ...ow-building-without-enable_reporting.patch | 60 +++--- ...ow-building-without-supervised-users.patch | 34 +-- .../Allow-playing-audio-in-background.patch | 4 +- ...ays-open-browser-controls-in-new-tab.patch | 10 +- ...Ask-for-restart-on-connection-change.patch | 40 ++-- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 18 +- ...Block-gateway-attacks-via-websockets.patch | 8 +- .../Block-qjz9zk-or-trk-requests.patch | 26 +-- build/patches/Bromite-auto-updater.patch | 47 ++-- .../Bromite-subresource-adblocker.patch | 56 ++--- .../Bubble-Locking-on-UI-DevTools.patch | 6 +- ...ORS-Preflight-Cache-on-clearing-data.patch | 23 +- build/patches/Client-hints-overrides.patch | 12 +- .../patches/Close-Sessions-On-Ip-Change.patch | 2 +- .../Content-settings-infrastructure.patch | 102 ++++----- build/patches/Cromite-Branding.patch | 32 +-- build/patches/Customize-selection-popup.patch | 65 +++--- .../Deprecate-Data-URL-in-SVGUseElement.patch | 2 +- ...ctionary-suggestions-for-the-Omnibox.patch | 10 +- .../Disable-CSS-blink-feature-support.patch | 2 +- build/patches/Disable-Component-Updates.patch | 2 +- build/patches/Disable-Compose-feature.patch | 29 +-- ...ble-Compression-Dictionary-Transport.patch | 8 +- build/patches/Disable-FedCm.patch | 2 +- build/patches/Disable-GSA-by-default.patch | 8 +- .../Disable-GetInstalledRelatedApps-API.patch | 2 +- .../Disable-Paint-Preview-by-default.patch | 10 +- build/patches/Disable-PrivacyGuide.patch | 2 +- build/patches/Disable-Real-Box.patch | 18 +- .../Disable-StartSurface-feature.patch | 12 +- build/patches/Disable-TLS-resumption.patch | 14 +- build/patches/Disable-WebGPU.patch | 4 +- .../patches/Disable-all-predictors-code.patch | 41 ++-- build/patches/Disable-all-promo-dialogs.patch | 14 +- .../Disable-conversion-measurement-api.patch | 81 ++++--- build/patches/Disable-crash-reporting.patch | 2 +- build/patches/Disable-csp-reports.patch | 9 +- .../Disable-feeds-support-by-default.patch | 42 +--- ...Disable-fetching-of-all-field-trials.patch | 12 +- 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 +- ...e-privacy-issues-in-password-manager.patch | 12 +- build/patches/Disable-privacy-sandbox.patch | 28 +-- ...e-references-to-fonts.googleapis.com.patch | 23 +- ...ble-remote-altsvc-for-h3-connections.patch | 4 +- build/patches/Disable-safety-check.patch | 48 +++-- .../Disable-smart-selection-by-default.patch | 6 +- ...isable-speechSynthesis-getVoices-API.patch | 6 +- ...ble-support-for-RAR-files-inspection.patch | 94 -------- .../Disable-text-fragments-by-default.patch | 8 +- .../Disable-third-party-origin-trials.patch | 22 +- build/patches/Disable-various-metrics.patch | 8 +- .../Disable-visited-pseudo-class.patch | 10 +- build/patches/Disable-wip-Android-Hub.patch | 30 --- ...allow-Android-App-Scheme-as-referrer.patch | 2 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 8 +- .../Do-not-store-passwords-by-default.patch | 4 +- build/patches/DoH-improvements.patch | 2 +- ...que-origins-checking-their-precursor.patch | 201 ----------------- ...ndroid-Dynamic-Performance-Framework.patch | 8 +- .../Enable-Certificate-Transparency.patch | 4 +- .../Enable-Do-Not-Track-by-default.patch | 4 +- ...le-Document-Open-Inheritance-Removal.patch | 4 +- .../Enable-Global-Privacy-Control.patch | 50 ++--- .../Enable-ImprovedBookmarks-by-default.patch | 4 +- ...ctOriginIsolation-and-SitePerProcess.patch | 4 +- ...e-darken-websites-checkbox-in-themes.patch | 4 +- .../patches/Enable-gwp-asan-on-Android.patch | 6 +- .../Enable-menu-on-reload-button.patch | 4 +- .../Enable-native-Android-autofill.patch | 168 +++++++++------ ...e-percent-based-scrolling-on-Windows.patch | 2 +- ...le-platform-aac-audio-and-h264-video.patch | 10 +- ...le-search-engine-settings-desktop-ui.patch | 75 +++---- build/patches/Enable-share-intent.patch | 14 +- ...ivation-of-the-js-debugger-statement.patch | 28 +-- .../Experimental-user-scripts-support.patch | 54 ++--- build/patches/Eyeo-Adblock-for-Cromite.patch | 50 ++--- build/patches/Fix-chromium-build-bugs.patch | 12 +- .../Fonts-fingerprinting-mitigation.patch | 16 +- .../Guard-for-user-agent-reduction.patch | 6 +- ...story-number-of-days-privacy-setting.patch | 16 +- .../patches/Improve-the-browser-sandbox.patch | 2 +- ...ripts-for-AMP-tracking-ads-and-video.patch | 10 +- build/patches/Internal-firewall.patch | 44 ++-- build/patches/JIT-site-settings.patch | 4 +- .../Keep-ComputePressure-disabled.patch | 2 +- .../Keep-Side-Panel-Companion-disabled.patch | 2 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 16 +- ...ep-disabled-WebViewMediaIntegrityApi.patch | 2 +- ...-allow-screenshots-in-Incognito-mode.patch | 2 +- build/patches/Keyboard-protection-flag.patch | 2 +- ...ing-attributes-in-some-html-elements.patch | 24 +-- build/patches/Logcat-crash-reports-UI.patch | 2 +- .../Media-fingerprinting-mitigations.patch | 2 +- .../patches/Modify-default-preferences.patch | 22 +- .../Multiple-fingerprinting-mitigations.patch | 52 ++--- build/patches/OpenSearch-miscellaneous.patch | 8 +- .../patches/Override-Navigator-Language.patch | 8 +- .../Partition-Blink-memory-cache.patch | 20 +- .../patches/Partition-HSTS-cache-by-NAK.patch | 60 +++--- .../Partition-MediaDeviceId-by-default.patch | 2 +- .../Partition-blobs-by-top-frame-URL.patch | 73 ++----- ...ning-all-cookies-by-top-frame-domain.patch | 20 +- ...vate-network-access-content-settings.patch | 6 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 4 +- ...e-introduce-override_build_timestamp.patch | 2 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 6 +- .../Remove-ChromiumNetworkAdapter.patch | 10 +- ...referrals-in-cross-origin-navigation.patch | 24 +-- ...th-header-upon-cross-origin-redirect.patch | 4 +- .../Remove-binary-blob-integrations.patch | 203 +++++++++--------- .../Remove-detection-of-captive-portals.patch | 4 +- build/patches/Remove-help-menu-item.patch | 22 +- .../Remove-navigator.connection-info.patch | 2 +- ...load-of-com.google.android.gms.fonts.patch | 2 +- .../Remove-segmentation-platform.patch | 2 +- ...t-for-device-memory-and-cpu-recovery.patch | 4 +- ...ndow-name-on-cross-origin-navigation.patch | 4 +- .../Restore-LastTabStandingTracker.patch | 12 +- .../Restore-Search-Ready-Omnibox-flag.patch | 10 +- .../Restore-Simplified-NTP-launch.patch | 68 +++--- ...-button-in-top-toolbar-customization.patch | 12 +- .../Restore-chrome-password-store.patch | 4 +- .../Restore-offline-indicator-v2-flag.patch | 12 +- ...evert-Permit-blocking-of-view-source.patch | 65 +----- ...emove-disable-pull-to-refresh-effect.patch | 2 +- ...l-of-execution-context-address-space.patch | 74 +++---- ...script-content-setting-secondary-url.patch | 33 +-- ...-Note-9-SDK27-crazylinker-workaround.patch | 2 +- build/patches/Show-NTP-at-startup.patch | 53 ++--- build/patches/Site-setting-for-images.patch | 53 ++--- ...-Add-a-log-to-track-strange-behavior.patch | 2 +- ...ileSystemAccessPersistentPermissions.patch | 2 +- build/patches/Timezone-customization.patch | 16 +- .../patches/Use-BoringSSL-for-RandBytes.patch | 6 +- ...Add-some-prefs-to-secure-preferences.patch | 2 +- build/patches/WIN-Disable-first-run.patch | 2 +- build/patches/WIN-Disable-sharing-hub.patch | 20 +- build/patches/WIN-Disable-updater.patch | 37 ++-- build/patches/WIN-Fix-log-to-file.patch | 2 +- ...enable-HighEfficiencyMode-by-default.patch | 4 +- ...-enable-file-system-access-blocklist.patch | 10 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 14 +- build/patches/Welcome-screen.patch | 22 +- build/patches/add-browser-policy.patch | 34 +-- build/patches/autofill-miscellaneous.patch | 12 +- build/patches/bromite-build-utils.patch | 2 +- .../disable-WebView-variations-support.patch | 2 +- ...IPv6-connectivity-probes-to-RIPE-DNS.patch | 2 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../eyeo-beta-118.0.5993.48-android_api.patch | 39 ++-- ...-beta-118.0.5993.48-android_settings.patch | 4 +- .../eyeo-beta-118.0.5993.48-base.patch | 59 ++--- ...eta-118.0.5993.48-chrome_integration.patch | 127 ++++------- ...yeo-beta-118.0.5993.48-extension_api.patch | 20 +- .../kill-Location-fall-back-to-system.patch | 10 +- build/patches/kill-Vision.patch | 2 +- ...d-chromium-Disable-intranet-detector.patch | 2 +- ...gled-chromium-Disable-profile-avatar.patch | 8 +- ...romium-Disable-translate-integration.patch | 6 +- ...ed-chromium-Disable-untraceable-URLs.patch | 4 +- ...chromium-Disable-webRTC-log-uploader.patch | 2 +- ...ed-chromium-no-special-hosts-domains.patch | 104 ++++----- ...RTC-do-not-expose-local-IP-addresses.patch | 6 +- ...iew-Hard-no-to-persistent-histograms.patch | 2 +- 200 files changed, 1940 insertions(+), 2464 deletions(-) delete mode 100644 build/patches/Disable-support-for-RAR-files-inspection.patch delete mode 100644 build/patches/Disable-wip-Android-Hub.patch delete mode 100644 build/patches/Downstream-validate-opaque-origins-checking-their-precursor.patch diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 908d824c..c2944cbb 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 -@@ -3286,9 +3286,9 @@ +@@ -3355,9 +3355,9 @@ "expiry_milestone": 135 }, { @@ -121,7 +121,7 @@ new file mode 100644 diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json --- a/gpu/config/gpu_driver_bug_list.json +++ b/gpu/config/gpu_driver_bug_list.json -@@ -2696,6 +2696,22 @@ +@@ -2618,6 +2618,22 @@ "no_downscaled_overlay_promotion" ] }, @@ -183,9 +183,9 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc if (!gpu_preferences.enable_android_surface_control) return kGpuFeatureStatusDisabled; -@@ -387,6 +390,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) { - gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] = - kGpuFeatureStatusBlocklisted; +@@ -401,6 +404,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info, + kGpuFeatureStatusSoftware; + } } + + if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) { @@ -198,8 +198,8 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt --- a/gpu/config/gpu_workaround_list.txt +++ b/gpu/config/gpu_workaround_list.txt -@@ -10,6 +10,7 @@ clamp_texture_base_level_and_max_level - clear_pixel_unpack_buffer_before_copyteximage +@@ -7,6 +7,7 @@ check_egl_fence_before_wait + check_ycbcr_studio_g22_left_p709_for_nv12_support disable_2d_canvas_auto_flush disable_accelerated_av1_decode +disable_aimagereader @@ -217,7 +217,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc #endif #if BUILDFLAG(ENABLE_VULKAN) -@@ -721,6 +722,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, +@@ -718,6 +719,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, } #endif // BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index 84a89666..1faa8e22 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -28,8 +28,8 @@ 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; -@@ -1070,6 +1071,8 @@ public abstract class ChromeActivity - super.onStartWithNative(); +@@ -1043,6 +1044,8 @@ public abstract class ChromeActivity + ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); ChromeCachedFlags.getInstance().cacheNativeFlags(); + X509Util.AllowUserCertificates = ChromeFeatureList.isEnabled( @@ -40,10 +40,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -144,6 +144,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &feed::kFeedPerformanceStudy, &feed::kFeedShowSignInCommand, &feed::kFeedSignedOutViewDemotion, - &feed::kFeedUserInteractionReliabilityReport, + &kAllowUserCertificates, &feed::kInterestFeedV2, &feed::kInterestFeedV2Hearts, @@ -59,23 +59,23 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE = "AdaptiveButtonInTopToolbarTranslate"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS = -@@ -559,6 +560,8 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sAppInfoTabResumptionModule = - newCachedFlag(APP_INFO_TAB_RESUMPTION_MODULE, false); +@@ -575,6 +576,8 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sAndroidTabGroupStableIds = + newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, true); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, false); + public static final CachedFlag sAllowUserCertificates = + newCachedFlag(ALLOW_USER_CERTIFICATES, false); public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false); public static final CachedFlag sAsyncNotificationManager = newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false); -@@ -708,6 +711,7 @@ public abstract class ChromeFeatureList { +@@ -731,6 +734,7 @@ public abstract class ChromeFeatureList { public static final List sFlagsCachedFullBrowserChromium = List.of( sAccountReauthenticationRecentTimeWindow, + sAllowUserCertificates, sAndroidAppIntegration, sAndroidElegantTextHeight, - sAndroidHub, + 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 f7453e5a..b97584d3 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 -@@ -360,6 +360,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -390,6 +390,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 bbdcc823..7764f10d 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 -@@ -90,6 +90,10 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics, +@@ -109,6 +109,10 @@ BASE_FEATURE(kPostPowerMonitorBroadcastReceiverInitToBackground, 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 fef16223..ca885c36 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.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/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -7694,9 +7694,9 @@ +@@ -7861,9 +7861,9 @@ "expiry_milestone": 130 }, { @@ -29,7 +29,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js 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 -@@ -3109,7 +3109,7 @@ const char kResetShortcutCustomizationsDescription[] = +@@ -3206,7 +3206,7 @@ const char kResetShortcutCustomizationsDescription[] = const char kRestrictGamepadAccessName[] = "Restrict gamepad access"; const char kRestrictGamepadAccessDescription[] = @@ -50,7 +50,7 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/publ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc --- a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc +++ b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc -@@ -113,6 +113,10 @@ void RecordGamepadsForIdentifiabilityStudy( +@@ -118,6 +118,10 @@ void RecordGamepadsForIdentifiabilityStudy( HeapVector> NavigatorGamepad::getGamepads( Navigator& navigator, ExceptionState& exception_state) { @@ -61,7 +61,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t if (!navigator.DomWindow()) { // Using an existing NavigatorGamepad if one exists, but don't create one // for a detached window, as its subclasses depend on a non-null window. -@@ -435,6 +439,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() { +@@ -440,6 +444,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() { void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name, Gamepad* gamepad) { diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 3ba04c7b..1f3e3991 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../webui/chrome_web_ui_controller_factory.cc | 3 + chrome/browser/ui/webui/proxy_config_ui.cc | 392 ++++++++++++++++++ chrome/browser/ui/webui/proxy_config_ui.h | 31 ++ - chrome/common/webui_url_constants.cc | 4 + + chrome/common/webui_url_constants.cc | 2 + chrome/common/webui_url_constants.h | 2 + .../pref_proxy_config_tracker_impl.cc | 5 +- .../proxy_config/proxy_config_dictionary.cc | 30 +- @@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../proxy_config/proxy_policy_handler.cc | 2 +- net/proxy_resolution/proxy_config.cc | 51 ++- net/proxy_resolution/proxy_config.h | 3 + - 25 files changed, 979 insertions(+), 17 deletions(-) + 25 files changed, 977 insertions(+), 17 deletions(-) create mode 100644 chrome/browser/resources/proxy_config.css create mode 100644 chrome/browser/resources/proxy_config.html create mode 100644 chrome/browser/resources/proxy_config.js @@ -88,19 +88,19 @@ 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 -@@ -309,6 +309,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { - builtins_to_provide.push_back( - base::ASCIIToUTF16(chrome::kChromeUISettingsURL)); +@@ -319,6 +319,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { + builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif + builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); + builtins_to_provide.push_back( + base::ASCIIToUTF16(chrome::kChromeUIProxyConfigURL)); - builtins_to_provide.push_back( - base::ASCIIToUTF16(chrome::kChromeUIVersionURL)); return builtins_to_provide; + } + 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 -@@ -241,6 +241,9 @@ +@@ -242,6 +242,9 @@ @@ -197,7 +197,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -195,6 +195,8 @@ +@@ -200,6 +200,8 @@ #include "rlz/buildflags/buildflags.h" #include "services/screen_ai/buildflags/buildflags.h" @@ -206,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/background_mode_manager.h" #endif -@@ -1697,6 +1699,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1465,6 +1467,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -661,7 +661,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -327,6 +327,8 @@ static_library("ui") { +@@ -338,6 +338,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -681,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #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" -@@ -450,6 +451,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -441,6 +442,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, #endif // BUILDFLAG(IS_CHROMEOS_ASH) if (url.host_piece() == chrome::kChromeUINetExportHost) return &NewWebUI; @@ -1126,16 +1126,7 @@ new file mode 100644 diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert"; - const char kChromeUICertificateViewerURL[] = "chrome://view-cert/"; - const char kChromeUIChromeSigninHost[] = "chrome-signin"; - const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/"; -+const char kChromeUIProxyConfigHost[] = "proxy"; -+const char kChromeUIProxyConfigURL[] = "chrome://proxy/"; - const char kChromeUIChromeURLsHost[] = "chrome-urls"; - const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/"; - const char kChromeUIComponentsHost[] = "components"; -@@ -471,6 +473,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -53,6 +53,7 @@ bool IsSystemWebUIHost(std::string_view host) { kChromeUILockScreenNetworkHost, kChromeUILockScreenStartReauthHost, kChromeUIMobileSetupHost, @@ -1143,26 +1134,26 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons kChromeUIMultiDeviceSetupHost, kChromeUINetworkHost, kChromeUINotificationTesterHost, -@@ -766,6 +769,7 @@ const char* const kChromeHostURLs[] = { +@@ -75,6 +76,7 @@ bool IsSystemWebUIHost(std::string_view host) { + // These hosts will also be suggested by BuiltinProvider. + base::span ChromeURLHosts() { + static constexpr auto kChromeURLHosts = std::to_array({ ++ kChromeUIProxyConfigHost, + kChromeUIAboutHost, + kChromeUIAccessibilityHost, #if !BUILDFLAG(IS_ANDROID) - #if !BUILDFLAG(IS_CHROMEOS) - kChromeUIAppLauncherPageHost, -+ kChromeUIProxyConfigHost, - #endif - kChromeUIBookmarksHost, - kChromeUIDownloadsHost, 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 -@@ -137,6 +137,8 @@ extern const char kChromeUINTPTilesInternalsHost[]; - extern const char kChromeUINaClHost[]; - extern const char kChromeUINetExportHost[]; - extern const char kChromeUINetExportURL[]; -+extern const char kChromeUIProxyConfigHost[]; -+extern const char kChromeUIProxyConfigURL[]; - extern const char kChromeUINetInternalsHost[]; - extern const char kChromeUINetInternalsURL[]; - extern const char kChromeUINewTabHost[]; +@@ -171,6 +171,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"; ++inline constexpr char kChromeUIProxyConfigURL[] = "chrome://proxy/"; ++inline constexpr char kChromeUIProxyConfigHost[] = "proxy"; + inline constexpr char kChromeUINewTabPageHost[] = "new-tab-page"; + inline constexpr char kChromeUINewTabPageThirdPartyHost[] = + "new-tab-page-third-party"; diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc --- a/components/proxy_config/pref_proxy_config_tracker_impl.cc +++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index 18541c49..a15fba9e 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../ChromeContextMenuPopulator.java | 7 +- .../CustomTabActivityLifecycleUmaTracker.java | 31 ---- .../CustomTabAppMenuPropertiesDelegate.java | 4 + - .../CustomTabIntentDataProvider.java | 5 +- + .../CustomTabIntentDataProvider.java | 10 ++ .../browser/download/DownloadUtils.java | 16 +- .../history/HistoryContentManager.java | 7 +- .../browser/history/HistoryManager.java | 27 ++- @@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/profiles/profile_selections.cc | 10 ++ chrome/browser/profiles/profile_selections.h | 7 +- .../browser/ui/android/native_page/BUILD.gn | 2 + - .../browser/ui/native_page/NativePage.java | 23 ++- + .../browser/ui/native_page/NativePage.java | 22 ++- .../strings/android_chrome_strings.grd | 25 +++ .../browser/toolbar/LocationBarModel.java | 5 +- chrome/browser/ui/messages/android/BUILD.gn | 1 + @@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../add-an-always-incognito-mode.inc | 3 + .../add-an-always-incognito-mode.inc | 1 + net/base/file_stream_context.cc | 2 +- - 66 files changed, 775 insertions(+), 103 deletions(-) + 66 files changed, 780 insertions(+), 102 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 @@ -117,14 +117,14 @@ 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", -@@ -967,6 +968,7 @@ chrome_java_sources = [ - "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionOnboardingType.java", - "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionOnboardingView.java", - "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java", +@@ -955,6 +956,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", + "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java", - "java/src/org/chromium/chrome/browser/provider/BaseColumns.java", - "java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java", - "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderImpl.java", + "java/src/org/chromium/chrome/browser/privacy_sandbox/CctHandler.java", + "java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java", + "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionNoticeController.java", diff --git a/chrome/android/java/res/xml/incognito_preferences.xml b/chrome/android/java/res/xml/incognito_preferences.xml new file mode 100644 --- /dev/null @@ -255,7 +255,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; -@@ -694,10 +698,15 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2001,6 +2002,9 @@ public abstract class ChromeActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -331,7 +331,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App /** * Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu * items based on activity state. -@@ -594,6 +600,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -583,6 +589,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) { @@ -345,7 +345,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App // We have to iterate all menu items since same menu item ID may be associated with more // than one menu items. boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU; -@@ -657,7 +670,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -646,7 +659,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } if (item.getItemId() == R.id.recent_tabs_menu_id) { @@ -362,7 +362,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App } if (item.getItemId() == R.id.menu_select_tabs) { item.setVisible(isMenuSelectTabsVisible); -@@ -866,8 +887,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -859,8 +880,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate && !isNativePage && !isFileScheme && !isContentScheme @@ -385,7 +385,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr 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; -@@ -258,6 +259,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -265,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { public List> buildContextMenu() { mShowEphemeralTabNewLabel = null; @@ -395,7 +395,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr List> groupedItems = new ArrayList<>(); if (mParams.isAnchor()) { -@@ -268,6 +272,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -275,6 +279,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)); @@ -403,7 +403,7 @@ 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)); } -@@ -292,7 +297,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -299,7 +304,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } } if (FirstRunStatus.getFirstRunFlowComplete()) { @@ -464,7 +464,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; -@@ -216,6 +217,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -218,6 +219,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat openInChromeItemVisible = false; tryAddingReadAloud = false; } @@ -477,7 +477,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/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 -@@ -88,6 +88,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable; +@@ -88,6 +88,9 @@ import org.chromium.components.embedder_support.util.Origin; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.device.mojom.ScreenOrientationLockType; @@ -487,15 +487,20 @@ 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; -@@ -1390,7 +1393,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid - - @Override - public boolean isIncognito() { -- return false; -+ return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); +@@ -1194,6 +1197,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid + return getInitialActivityWidth() > 0; } ++ @Override ++ public @CustomTabProfileType int getCustomTabMode() { ++ return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); ++ ? CustomTabProfileType.INCOGNITO ++ : CustomTabProfileType.REGULAR; ++ } ++ @Override + public boolean isPartialCustomTab() { + return isPartialHeightCustomTab() || isPartialWidthCustomTab(); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java @@ -563,7 +568,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java -@@ -56,6 +56,14 @@ import org.chromium.ui.base.Clipboard; +@@ -57,6 +57,14 @@ import org.chromium.ui.base.Clipboard; import java.util.List; @@ -578,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History /** Combines and manages the different UI components of browsing history. */ public class HistoryManager implements OnMenuItemClickListener, -@@ -168,7 +176,7 @@ public class HistoryManager +@@ -169,7 +177,7 @@ public class HistoryManager mUmaRecorder.recordOpenHistory(); // If incognito placeholder is shown, we don't need to create History UI elements. @@ -587,7 +592,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History mSelectableListLayout = null; mRootView = getIncognitoHistoryPlaceholderView(); return; -@@ -420,9 +428,22 @@ public class HistoryManager +@@ -436,9 +444,22 @@ public class HistoryManager onBackPressStateChanged(); } @@ -611,7 +616,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History // If Incognito placeholder is shown no need to call any destroy method. return; } -@@ -482,7 +503,7 @@ public class HistoryManager +@@ -498,7 +519,7 @@ public class HistoryManager * @return True if manager handles this event, false if it decides to ignore. */ private boolean onBackPressed() { @@ -903,7 +908,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin 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; -@@ -410,6 +411,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -408,6 +409,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate( new RequestRestartDelegate(mSnackbarManager, this)); } @@ -1022,8 +1027,8 @@ 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 -@@ -154,6 +154,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto - 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; +import org.chromium.base.ContextUtils; @@ -1031,7 +1036,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.dragdrop.DragDropGlobalState; import org.chromium.ui.modaldialog.ModalDialogManager; -@@ -1045,7 +1047,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1036,7 +1038,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { () -> { mTabCreatorManagerSupplier .get() @@ -1043,7 +1048,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/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java -@@ -50,6 +50,10 @@ import org.chromium.ui.base.PageTransition; +@@ -47,6 +47,10 @@ import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.WindowAndroid; import org.chromium.url.GURL; @@ -1053,8 +1058,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome + /** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */ public class ChromeTabCreator extends TabCreator { - /** Interface to handle showing overview instead of NTP if needed. */ -@@ -534,7 +538,6 @@ public class ChromeTabCreator extends TabCreator { + private final Activity mActivity; +@@ -500,7 +504,6 @@ public class ChromeTabCreator extends TabCreator { // TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome. public Tab launchUrlFromExternalApp( LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) { @@ -1085,7 +1090,7 @@ 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 -@@ -49,6 +49,8 @@ import org.chromium.chrome.features.start_surface.StartSurfaceUserData; +@@ -48,6 +48,8 @@ import org.chromium.chrome.browser.tabpersistence.TabStateFileManager; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.content_public.browser.LoadUrlParams; @@ -1094,7 +1099,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.DataInputStream; -@@ -764,6 +766,13 @@ public class TabPersistentStore { +@@ -766,6 +768,13 @@ public class TabPersistentStore { } } } @@ -1111,15 +1116,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer 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 -@@ -42,6 +42,7 @@ import org.chromium.base.supplier.OneshotSupplier; +@@ -41,6 +41,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; import org.chromium.chrome.browser.IntentHandler; - import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController; import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; -@@ -650,7 +651,7 @@ public class ToolbarManager + import org.chromium.chrome.browser.back_press.BackPressManager; +@@ -625,7 +626,7 @@ public class ToolbarManager TraceEvent.end("isOfflinePage"); return ret; } @@ -1176,7 +1181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc --- a/chrome/browser/android/historical_tab_saver.cc +++ b/chrome/browser/android/historical_tab_saver.cc -@@ -32,6 +32,11 @@ +@@ -33,6 +33,11 @@ // Must come after all headers that specialize FromJniType() / ToJniType(). #include "chrome/android/chrome_jni_headers/HistoricalTabSaverImpl_jni.h" @@ -1188,7 +1193,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and using base::android::JavaParamRef; using base::android::JavaRef; using base::android::ScopedJavaLocalRef; -@@ -106,7 +111,8 @@ std::vector> StringsToUuids( +@@ -107,7 +112,8 @@ std::vector> StringsToUuids( void CreateHistoricalTab( TabAndroid* tab_android, @@ -1198,7 +1203,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and if (!tab_android) { return; } -@@ -117,9 +123,14 @@ void CreateHistoricalTab( +@@ -118,9 +124,14 @@ void CreateHistoricalTab( return; } @@ -1215,7 +1220,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and if (!service) { return; } -@@ -185,7 +196,7 @@ void CreateHistoricalBulkClosure( +@@ -186,7 +197,7 @@ void CreateHistoricalBulkClosure( std::vector per_tab_root_id, std::vector> tabs, std::vector web_contents_state) { @@ -1224,7 +1229,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and DCHECK_EQ(root_ids.size(), group_titles.size()); DCHECK_EQ(root_ids.size(), group_colors.size()); DCHECK_EQ(root_ids.size(), optional_tab_group_ids.size()); -@@ -318,11 +329,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab( +@@ -319,11 +330,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab( JNIEnv* env, const JavaParamRef& jtab_android, const JavaParamRef& state, @@ -1242,7 +1247,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 -@@ -358,6 +358,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const { +@@ -366,6 +366,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const { return ProviderStateServiceFactory::GetForProfile(profile_); } @@ -1303,7 +1308,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c #include "components/content_settings/core/browser/content_settings_pref_provider.h" #include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/permissions/features.h" -@@ -101,9 +102,25 @@ scoped_refptr +@@ -104,9 +105,25 @@ scoped_refptr if (profile->IsOffTheRecord() && !profile->IsGuestSession()) GetForProfile(original_profile); @@ -1330,7 +1335,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c /*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(), profiles::IsRegularUserProfile(profile))); -@@ -112,6 +129,9 @@ scoped_refptr +@@ -115,6 +132,9 @@ scoped_refptr settings_map->RegisterProvider(ProviderType::kWebuiAllowlistProvider, std::move(allowlist_provider)); @@ -1716,7 +1721,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 -@@ -248,6 +248,7 @@ +@@ -257,6 +257,7 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h" @@ -1724,7 +1729,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" -@@ -2126,6 +2127,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1914,6 +1915,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); @@ -1748,7 +1753,7 @@ diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/prof #include "chrome/browser/profiles/profile.h" #include "components/profile_metrics/browser_profile_type.h" -@@ -109,6 +112,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const { +@@ -112,6 +115,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const { return nullptr; case ProfileSelection::kOriginalOnly: return profile->IsOffTheRecord() ? nullptr : profile; @@ -1768,13 +1773,13 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi @@ -6,7 +6,7 @@ #define CHROME_BROWSER_PROFILES_PROFILE_SELECTIONS_H_ - #include + #include - +#include "build/build_config.h" - #include "base/feature_list.h" - class Profile; -@@ -27,6 +27,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile); + + // A helper function that checks whether Keyed Services should be created for +@@ -25,6 +25,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile); enum class ProfileSelection { kNone, // Original: No Profile -- OTR: No Profile kOriginalOnly, // Original: Self -- OTR: No Profile @@ -1796,8 +1801,8 @@ diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/ + "//base:base_java", + "//components/embedder_support/android:util_java", "//base:base_junit_test_support", + "//third_party/android_deps:org_mockito_mockito_core_java", "//third_party/junit", - "//url:url_java", diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java --- a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java +++ b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java @@ -1810,18 +1815,17 @@ 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 { -@@ -157,7 +159,9 @@ public interface NativePage { - * @return Whether the URL would navigate to a native page. +@@ -158,7 +160,8 @@ public interface NativePage { */ - static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean isPdf) { -- return url != null && nativePageType(url, null, isIncognito, isPdf) != NativePageType.NONE; -+ return url != null -+ && nativePageType(url, null, isIncognito, isPdf, /*isAlwaysIncognito*/ false) + static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) { + return url != null +- && nativePageType(url, null, isIncognito, hasPdfDownload) != NativePageType.NONE; ++ && nativePageType(url, null, isIncognito, hasPdfDownload, /*isAlwaysIncognito*/ false) + != NativePageType.NONE; } /** -@@ -167,7 +171,7 @@ public interface NativePage { +@@ -168,7 +171,7 @@ public interface NativePage { * not have chrome or chrome-native scheme. */ static boolean isChromePageUrl(GURL url, boolean isIncognito) { @@ -1830,35 +1834,35 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } /** -@@ -179,11 +183,12 @@ public interface NativePage { +@@ -180,11 +183,12 @@ public interface NativePage { */ // TODO(crbug.com/40549331) - Convert to using GURL. static @NativePageType int nativePageType( -- String url, NativePage candidatePage, boolean isIncognito, boolean isPdf) { -+ String url, NativePage candidatePage, boolean isIncognito, boolean isPdf, +- String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload) { ++ String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload, + boolean isAlwaysIncognito) { if (url == null) return NativePageType.NONE; GURL gurl = new GURL(url); -- return nativePageType(gurl, candidatePage, isIncognito, isPdf); -+ return nativePageType(gurl, candidatePage, isIncognito, isPdf, isAlwaysIncognito); +- return nativePageType(gurl, candidatePage, isIncognito, hasPdfDownload); ++ return nativePageType(gurl, candidatePage, isIncognito, hasPdfDownload, isAlwaysIncognito); } /** -@@ -194,9 +199,10 @@ public interface NativePage { +@@ -195,9 +199,10 @@ public interface NativePage { * @return Type of the native page defined in {@link NativePageType}. */ private static @NativePageType int nativePageType( -- GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf) { -+ GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf, +- GURL url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload) { ++ GURL url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload, + boolean isAlwaysIncognito) { - if (!isPdf) { -- return chromePageType(url, candidatePage, isIncognito); -+ return chromePageType(url, candidatePage, isIncognito, isAlwaysIncognito); - } - - if (candidatePage != null && candidatePage.getUrl().equals(url.getSpec())) { -@@ -214,7 +220,7 @@ public interface NativePage { + if (hasPdfDownload) { +- // For navigation with associated pdf download (e.g. open a pdf link), pdf page should ++ // For navigation with associated pdf download (e.g. open a pdf link, isAlwaysIncognito), pdf page should + // be created. + // Unlike other native pages, each pdf page could be different. We need to compare + // the entire url instead of the host to determine if the pdf candidate page could +@@ -225,7 +230,7 @@ public interface NativePage { * which do not have chrome or chrome-native scheme. */ private static @NativePageType int chromePageType( @@ -1867,7 +1871,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) -@@ -234,7 +240,8 @@ public interface NativePage { +@@ -245,7 +250,8 @@ public interface NativePage { return NativePageType.DOWNLOADS; } else if (UrlConstants.HISTORY_HOST.equals(host)) { return NativePageType.HISTORY; @@ -1880,7 +1884,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 -@@ -1297,6 +1297,31 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1305,6 +1305,31 @@ Your Google account may have other forms of browsing history like searches and a Deletes history from all synced devices @@ -1915,7 +1919,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 -@@ -162,6 +162,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -159,6 +159,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro protected String mFormattedFullUrl; protected String mUrlForDisplay; private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled; @@ -1923,7 +1927,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 -@@ -185,7 +186,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -182,7 +183,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro Context context, NewTabPageDelegate newTabPageDelegate, @NonNull UrlFormatter urlFormatter, @@ -1980,7 +1984,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 -@@ -4077,6 +4077,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = +@@ -4142,6 +4142,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = "net.out_of_process_system_dns_resolution_enabled"; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) @@ -1996,7 +2000,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 -@@ -96,10 +96,12 @@ void PrefProvider::RegisterProfilePrefs( +@@ -98,10 +98,12 @@ void PrefProvider::RegisterProfilePrefs( PrefProvider::PrefProvider(PrefService* prefs, bool off_the_record, @@ -2009,7 +2013,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"); -@@ -122,11 +124,13 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -124,11 +126,13 @@ PrefProvider::PrefProvider(PrefService* prefs, WebsiteSettingsRegistry* website_settings = WebsiteSettingsRegistry::GetInstance(); for (const WebsiteSettingsInfo* info : *website_settings) { @@ -2046,7 +2050,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov 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 -@@ -270,6 +270,7 @@ struct ContentSettingEntry { +@@ -264,6 +264,7 @@ struct ContentSettingEntry { HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, bool is_off_the_record, @@ -2054,7 +2058,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics) -@@ -279,6 +280,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -273,6 +274,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, #endif prefs_(prefs), is_off_the_record_(is_off_the_record), @@ -2062,7 +2066,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. store_last_modified_(store_last_modified), allow_invalid_secondary_pattern_for_testing_(false), clock_(base::DefaultClock::GetInstance()) { -@@ -292,7 +294,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -286,7 +288,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, policy_provider->AddObserver(this); auto pref_provider_ptr = std::make_unique( @@ -2082,7 +2086,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics); -@@ -507,6 +508,8 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -510,6 +511,8 @@ class HostContentSettingsMap : public content_settings::Observer, // Whether this settings map is for an incognito or guest session. bool is_off_the_record_; @@ -2094,7 +2098,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc --- a/components/omnibox/browser/autocomplete_provider_client.cc +++ b/components/omnibox/browser/autocomplete_provider_client.cc -@@ -38,3 +38,7 @@ base::WeakPtr +@@ -42,3 +42,7 @@ base::WeakPtr AutocompleteProviderClient::GetWeakPtr() { return nullptr; } @@ -2116,7 +2120,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc --- a/components/omnibox/browser/base_search_provider.cc +++ b/components/omnibox/browser/base_search_provider.cc -@@ -376,7 +376,7 @@ bool BaseSearchProvider::CanSendSuggestRequestWithoutPageURL( +@@ -386,7 +386,7 @@ bool BaseSearchProvider::CanSendSuggestRequestWithoutPageURL( } // Don't make a suggest request if in incognito mode. diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index de86251d..5825adf8 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -542,7 +542,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; import org.chromium.ui.modelutil.MVCListAdapter.ModelList; -@@ -303,6 +305,13 @@ public class BookmarkManagerCoordinator +@@ -302,6 +304,13 @@ public class BookmarkManagerCoordinator // Public API implementation. @@ -559,15 +559,15 @@ 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 -@@ -52,6 +52,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega +@@ -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; import org.chromium.components.favicon.LargeIconBridge; - import org.chromium.components.feature_engagement.EventConstants; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; + import org.chromium.components.power_bookmarks.PowerBookmarkType; @@ -81,6 +83,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; -@@ -568,6 +573,14 @@ class BookmarkManagerMediator +@@ -544,6 +549,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. -@@ -748,6 +761,16 @@ class BookmarkManagerMediator +@@ -724,6 +737,16 @@ class BookmarkManagerMediator } } @@ -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 -@@ -203,6 +203,8 @@ static_library("browser") { +@@ -201,6 +201,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", -@@ -1935,6 +1937,13 @@ static_library("browser") { +@@ -1958,6 +1960,13 @@ static_library("browser") { ] } @@ -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", -@@ -3746,8 +3755,6 @@ static_library("browser") { +@@ -3727,8 +3736,6 @@ static_library("browser") { "badging/badge_manager_factory.h", "banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.h", @@ -1365,7 +1365,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -188,6 +188,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -192,6 +192,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kCacheActivityTaskID, &kCastDeviceFilter, &kCCTAuthView, @@ -1376,7 +1376,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 -@@ -521,6 +521,7 @@ public abstract class ChromeFeatureList { +@@ -537,6 +537,7 @@ public abstract class ChromeFeatureList { public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR = "VerticalAutomotiveBackButtonToolbar"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; @@ -1439,7 +1439,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"; -@@ -921,6 +923,7 @@ public final class ChromePreferenceKeys { +@@ -914,6 +916,7 @@ public final class ChromePreferenceKeys { AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1478,7 +1478,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 -@@ -395,6 +395,9 @@ static_library("common_lib") { +@@ -402,6 +402,9 @@ static_library("common_lib") { sources += [ "media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.h", @@ -1616,7 +1616,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc --- a/components/headless/select_file_dialog/headless_select_file_dialog.cc +++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc -@@ -58,6 +58,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog { +@@ -57,6 +57,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog { // ui::SelectFileDialog: bool HasMultipleFileTypeChoicesImpl() override { return false; } @@ -1752,7 +1752,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h --- a/ui/shell_dialogs/select_file_dialog.h +++ b/ui/shell_dialogs/select_file_dialog.h -@@ -209,6 +209,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog +@@ -220,6 +220,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog const GURL* caller = nullptr); bool HasMultipleFileTypeChoices(); @@ -1764,7 +1764,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_fil diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc --- a/ui/shell_dialogs/select_file_dialog_android.cc +++ b/ui/shell_dialogs/select_file_dialog_android.cc -@@ -139,6 +139,12 @@ void SelectFileDialogImpl::SelectFileImpl( +@@ -129,6 +129,12 @@ void SelectFileDialogImpl::SelectFileImpl( owning_window->GetJavaObject()); } @@ -1780,8 +1780,8 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h --- a/ui/shell_dialogs/select_file_dialog_android.h +++ b/ui/shell_dialogs/select_file_dialog_android.h -@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog { - void* params, +@@ -52,6 +52,8 @@ class SelectFileDialogImpl : public SelectFileDialog { + gfx::NativeWindow owning_window, const GURL* caller) override; + void ShowToast(const std::string& message) override; @@ -1818,7 +1818,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_linux.h b/ui/shell_dialogs/sele diff --git a/ui/shell_dialogs/select_file_dialog_win.cc b/ui/shell_dialogs/select_file_dialog_win.cc --- a/ui/shell_dialogs/select_file_dialog_win.cc +++ b/ui/shell_dialogs/select_file_dialog_win.cc -@@ -195,6 +195,7 @@ class SelectFileDialogImpl : public ui::SelectFileDialog, +@@ -193,6 +193,7 @@ class SelectFileDialogImpl : public ui::SelectFileDialog, int index); bool HasMultipleFileTypeChoicesImpl() override; @@ -1826,7 +1826,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_win.cc b/ui/shell_dialogs/selec // Returns the filter to be used while displaying the open/save file dialog. // This is computed from the extensions for the file types being opened. -@@ -273,6 +274,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() { +@@ -270,6 +271,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() { return has_multiple_file_type_choices_; } diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index de11f71f..05c7debd 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -46,8 +46,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html components/components_strings.grd | 1 + .../content_settings/core/common/features.cc | 1 + .../placeholder.txt | 1 + - components/flags_ui/flags_state.cc | 55 +++++- - components/flags_ui/resources/app.html | 42 ++++- + components/flags_ui/flags_state.cc | 54 ++++++ + components/flags_ui/resources/app.html | 40 +++++ components/flags_ui/resources/app.ts | 41 ++++- components/flags_ui/resources/experiment.html | 7 +- components/flags_ui/resources/experiment.ts | 16 ++ @@ -96,7 +96,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(+), 22 deletions(-) + 83 files changed, 770 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 +132,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 -@@ -202,6 +202,8 @@ buildflag_header("message_pump_buildflags") { +@@ -196,6 +196,8 @@ buildflag_header("message_pump_buildflags") { # 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,7 +141,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1054,7 +1056,7 @@ component("base") { +@@ -1050,7 +1052,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -558,7 +558,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; -@@ -373,6 +405,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -371,6 +403,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity ((PrivacySandboxSettingsBaseFragment) fragment) .setSnackbarManager(getSnackbarManager()); } @@ -572,7 +572,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin 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 -@@ -370,6 +370,10 @@ using flags_ui::kOsLinux; +@@ -375,6 +375,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -583,9 +583,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4089,6 +4093,10 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = { - kAutofillUpstreamUpdatedUi_Education_Animated, - std::size(kAutofillUpstreamUpdatedUi_Education_Animated), nullptr}}; +@@ -4153,6 +4157,10 @@ const FeatureEntry::FeatureVariation + nullptr}}; + #endif // BUILDFLAG(ENABLE_EXTENSIONS) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -594,7 +594,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. -@@ -4115,6 +4123,9 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = { +@@ -4179,6 +4187,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,7 +607,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -401,4 +401,5 @@ BASE_FEATURE(kBrowserDynamicCodeDisabled, +@@ -378,4 +378,5 @@ BASE_FEATURE(kBrowserDynamicCodeDisabled, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) @@ -655,7 +655,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 -@@ -1018,5 +1018,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate, +@@ -1047,5 +1047,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate, "WebApkAllowIconUpdate", base::FEATURE_DISABLED_BY_DEFAULT); @@ -665,9 +665,9 @@ 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 -@@ -193,6 +193,7 @@ constexpr base::FeatureParam kAuxiliarySearchMaxTabsCountParam( - "auxiliary_search_max_donation_tab", - 100); +@@ -203,6 +203,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( + "trigger_id", + /*default_value=*/""); +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_h.inc" } // namespace android @@ -687,18 +687,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -695,7 +699,7 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sVerticalAutomotiveBackButtonToolbar = - newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true); +@@ -718,7 +722,7 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sWebApkMinShellApkVersion = + newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); - public static final List sFlagsCachedFullBrowser = + public static final List sFlagsCachedFullBrowserChromium = List.of( sAccountReauthenticationRecentTimeWindow, sAndroidAppIntegration, -@@ -788,6 +792,13 @@ public abstract class ChromeFeatureList { - sUseLibunwindstackNativeUnwinderAndroid, - sVerticalAutomotiveBackButtonToolbar); +@@ -813,6 +817,13 @@ public abstract class ChromeFeatureList { + sVerticalAutomotiveBackButtonToolbar, + sWebApkMinShellApkVersion); + private static List concatenateLists(List... collections) { + return Arrays.stream(collections).flatMap(x -> x.stream()).collect(Collectors.toList()); @@ -771,7 +771,7 @@ new file mode 100644 diff --git a/chrome/browser/settings/BUILD.gn b/chrome/browser/settings/BUILD.gn --- a/chrome/browser/settings/BUILD.gn +++ b/chrome/browser/settings/BUILD.gn -@@ -14,6 +14,7 @@ android_library("java") { +@@ -32,6 +32,7 @@ android_library("java") { deps = [ "//base:base_java", "//chrome/browser/feedback/android:java", @@ -877,16 +877,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 -@@ -517,4 +517,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow, - "StopLoadingAnimationForHiddenWindow", +@@ -463,4 +463,5 @@ BASE_FEATURE(kUsePortalAccentColor, base::FEATURE_ENABLED_BY_DEFAULT); + #endif +#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 -@@ -1674,4 +1674,5 @@ BASE_FEATURE(kEventBasedLogUpload, +@@ -1744,4 +1744,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -993,11 +993,10 @@ new file mode 100644 diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_state.cc --- a/components/flags_ui/flags_state.cc +++ b/components/flags_ui/flags_state.cc -@@ -359,7 +359,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( - +@@ -361,6 +361,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); -- DCHECK(entry_it != name_to_switch_map.end()); + CHECK(entry_it != name_to_switch_map.end(), base::NotFatalUntil::M130); + if (entry_it == name_to_switch_map.end()) { + // check if is a cromite feature + std::string::size_type pos = entry_name.find('@'); @@ -1016,7 +1015,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat const SwitchEntry& entry = entry_it->second; if (!entry.switch_name.empty()) -@@ -676,6 +690,27 @@ void FlagsState::GetFlagFeatureEntries( +@@ -677,6 +692,27 @@ void FlagsState::GetFlagFeatureEntries( data.Set("links", std::move(links)); } @@ -1044,7 +1043,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat switch (entry.type) { case FeatureEntry::SINGLE_VALUE: case FeatureEntry::SINGLE_DISABLE_VALUE: -@@ -804,6 +839,16 @@ void FlagsState::AddSwitchesToCommandLine( +@@ -805,6 +841,16 @@ void FlagsState::AddSwitchesToCommandLine( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); if (entry_it == name_to_switch_map.end()) { @@ -1061,7 +1060,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat NOTREACHED_IN_MIGRATION(); continue; } -@@ -1056,6 +1101,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( +@@ -1057,6 +1103,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( bool FlagsState::IsSupportedFeature(const FlagsStorage* storage, const std::string& name, int platform_mask) const { @@ -1112,9 +1111,9 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour + + + diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts @@ -1383,16 +1379,16 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc --- a/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc -@@ -207,4 +207,5 @@ BASE_FEATURE(kUsernameFirstFlowWithIntermediateValuesVoting, - "UsernameFirstFlowWithIntermediateValuesVoting", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -192,4 +192,5 @@ BASE_FEATURE(kUseAsyncOsCryptInLoginDatabase, + "UseAsyncOsCryptInLoginDatabase", + base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc" } // namespace password_manager::features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -149,6 +149,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate, +@@ -150,6 +150,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate, "CpssQuietChipTextUpdate", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1415,7 +1411,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 -@@ -579,4 +579,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix, +@@ -616,4 +616,5 @@ BASE_FEATURE(kScrollBubblingFix, // Please keep features in alphabetical order. @@ -1424,7 +1420,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 -@@ -1295,4 +1295,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { +@@ -1325,4 +1325,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { VideoCaptureServiceConfiguration::kEnabledForBrowserProcess; } @@ -1433,7 +1429,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 -@@ -286,6 +286,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer); +@@ -291,6 +291,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); @@ -1767,7 +1763,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 -@@ -1904,5 +1904,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1917,5 +1917,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -1777,7 +1773,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 -@@ -576,5 +576,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); +@@ -583,5 +583,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -1787,18 +1783,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -549,4 +549,5 @@ BASE_FEATURE(kSpdySessionForProxyAdditionalChecks, - "SpdySessionForProxyAdditionalChecks", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -570,4 +570,5 @@ BASE_FEATURE(kOptimizeParsingDataUrls, + "OptimizeParsingDataUrls", + base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/net_base_features_cc.inc" } // namespace net::features diff --git a/net/base/features.h b/net/base/features.h --- a/net/base/features.h +++ b/net/base/features.h -@@ -522,6 +522,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kStorageAccessHeaders); - // not causing any problems. - NET_EXPORT BASE_DECLARE_FEATURE(kSpdySessionForProxyAdditionalChecks); +@@ -562,6 +562,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kReportingApiEnableEnterpriseCookieIssues); + // Optimize parsing data: URLs. + NET_EXPORT BASE_DECLARE_FEATURE(kOptimizeParsingDataUrls); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -1807,7 +1803,7 @@ diff --git a/net/base/features.h b/net/base/features.h diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -518,4 +518,5 @@ const base::FeatureParam kNetworkContextPrefetchMaxLoaders{ +@@ -474,4 +474,5 @@ const base::FeatureParam kNetworkContextPrefetchMaxLoaders{ &kNetworkContextPrefetch, /*name=*/"max_loaders", /*default_value=*/10}; @@ -1816,7 +1812,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h -@@ -212,6 +212,7 @@ BASE_DECLARE_FEATURE(kNetworkContextPrefetch); +@@ -187,6 +187,7 @@ BASE_DECLARE_FEATURE(kNetworkContextPrefetch); COMPONENT_EXPORT(NETWORK_CPP) extern const base::FeatureParam kNetworkContextPrefetchMaxLoaders; @@ -1827,7 +1823,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 -@@ -2677,5 +2677,6 @@ BASE_FEATURE(kOptimizeLoadingDataUrls, +@@ -2691,5 +2691,6 @@ BASE_FEATURE(kOptimizeLoadingDataUrls, "OptimizeLoadingDataUrls", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1837,7 +1833,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -1744,6 +1744,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals); +@@ -1787,6 +1787,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals); // Optimize loading data: URLs. BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls); @@ -1848,8 +1844,8 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -521,4 +521,5 @@ BASE_FEATURE(kEnableGestureBeginEndTypes, - "EnableGestureBeginEndTypes", +@@ -546,4 +546,5 @@ BASE_FEATURE(kAsyncFullscreenWindowState, + "AsyncFullscreenWindowState", base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/ui_base_features_cc.inc" @@ -1857,9 +1853,9 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h -@@ -245,6 +245,7 @@ BASE_DECLARE_FEATURE(kBubbleFrameViewTitleIsHeading); +@@ -261,6 +261,7 @@ BASE_DECLARE_FEATURE(kUseUtf8EncodingForSvgImage); COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kEnableGestureBeginEndTypes); + BASE_DECLARE_FEATURE(kAsyncFullscreenWindowState); +#include "cromite_flags/ui_base_features_h.inc" } // namespace features diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 533b8f7c..b52d9089 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -98,7 +98,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/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 -@@ -867,6 +867,7 @@ public class CustomTabsConnection { +@@ -912,6 +912,7 @@ public class CustomTabsConnection { PostTask.postTask( TaskTraits.UI_DEFAULT, () -> { @@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco /** * A model class that parses the incoming intent for incognito and ephemeral Custom Tabs specific * customization data. -@@ -130,6 +133,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -131,6 +134,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD } private static boolean isIntentFromThirdPartyAllowed() { @@ -203,7 +203,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso 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 -@@ -5449,6 +5449,20 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5699,6 +5699,20 @@ To change this setting, BEGIN_LINKdelete the Chrome d Resume diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 389c2894..b459a4c3 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -160,6 +160,9 @@ found in the LICENSE file. +@@ -163,6 +163,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 -@@ -186,6 +189,9 @@ found in the LICENSE file. +@@ -192,6 +195,9 @@ found in the LICENSE file. @@ -58,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife 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 -@@ -268,6 +268,8 @@ import java.util.Set; +@@ -263,6 +263,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.DoubleConsumer; @@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct /** * This is the main activity for ChromeMobile when not running in document mode. All the tabs are * accessible via a chrome specific tab switching UI. -@@ -2960,6 +2962,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2513,6 +2514,11 @@ public abstract class ChromeActivity return true; } @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv 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 -@@ -4064,6 +4064,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4296,6 +4296,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 3f1f7ecc..ca6859b5 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" -@@ -500,6 +501,15 @@ AutocompleteController::AutocompleteController( +@@ -530,6 +531,15 @@ AutocompleteController::AutocompleteController( provider_client_->GetOmniboxTriggeredFeatureService()), steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION) { @@ -45,7 +45,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc --- a/components/omnibox/browser/history_url_provider.cc +++ b/components/omnibox/browser/history_url_provider.cc -@@ -487,6 +487,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input, +@@ -488,6 +488,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input, if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY) matches_.push_back(what_you_typed_match); diff --git a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch index dfceddc8..fbc9bdad 100644 --- a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch +++ b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch @@ -59,7 +59,7 @@ diff --git a/components/network_session_configurator/common/network_switch_list. diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn --- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn +++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn -@@ -89,6 +89,7 @@ executable("make_top_domain_list_variables") { +@@ -90,6 +90,7 @@ executable("make_top_domain_list_variables") { "//base:i18n", "//components/url_formatter/spoof_checks/common_words:common", "//third_party/icu", diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index fd65a850..26d33b91 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,7 +45,7 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1047,6 +1047,7 @@ component("net") { +@@ -1077,6 +1077,7 @@ component("net") { "//build:chromeos_buildflags", "//components/miracle_parameter/common", "//net/http:transport_security_state_generated_files", @@ -56,7 +56,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -113,6 +113,7 @@ +@@ -114,6 +114,7 @@ #include "net/log/net_log_event_type.h" #include "net/log/net_log_source.h" #include "net/log/net_log_source_type.h" @@ -64,7 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc #include "net/log/net_log_with_source.h" #include "net/socket/client_socket_factory.h" #include "net/url_request/url_request_context.h" -@@ -1429,6 +1430,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( +@@ -1430,6 +1431,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( return OK; } diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 9d4b7e34..3b483be7 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 -@@ -672,6 +672,10 @@ +@@ -721,6 +721,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 a508e05e..718fe2d2 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 -@@ -1920,7 +1920,6 @@ config("default_warnings") { +@@ -1950,7 +1950,6 @@ config("default_warnings") { # TODO(crbug.com/40284799): Fix and re-enable. "-Wno-thread-safety-reference-return", ] @@ -22,9 +22,9 @@ 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", -@@ -1937,6 +1936,15 @@ config("default_warnings") { - cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ] - } +@@ -1965,6 +1964,15 @@ config("default_warnings") { + # TODO(crbug.com/344680447): Fix and re-enable. + cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ] } + if (skip_clangd_unsupported_options) { + cflags -= [ diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 3c5ab86b..9c10bbb5 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -207,7 +207,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/ ~OneTimePermissionsTracker() override; OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete; -@@ -139,7 +140,7 @@ class OneTimePermissionsTracker : public KeyedService { +@@ -138,7 +139,7 @@ class OneTimePermissionsTracker : public KeyedService { base::ObserverList observer_list_; std::map origin_tracker_; @@ -219,7 +219,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc --- a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc +++ b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc -@@ -41,5 +41,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext() +@@ -44,5 +44,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext() std::unique_ptr OneTimePermissionsTrackerFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const { @@ -229,7 +229,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc 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 -@@ -658,7 +658,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) { +@@ -650,7 +650,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) { delegate_->Accept(); break; case Action::kAllowThisTime: @@ -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 -@@ -1171,6 +1171,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1178,6 +1178,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); @@ -731,7 +731,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_ diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc --- a/components/permissions/android/permission_prompt/permission_prompt_android.cc +++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc -@@ -62,8 +62,12 @@ void PermissionPromptAndroid::Accept() { +@@ -67,8 +67,12 @@ void PermissionPromptAndroid::Accept() { delegate_->Accept(); } @@ -749,7 +749,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_ diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h --- a/components/permissions/android/permission_prompt/permission_prompt_android.h +++ b/components/permissions/android/permission_prompt/permission_prompt_android.h -@@ -47,8 +47,9 @@ class PermissionPromptAndroid : public PermissionPrompt { +@@ -49,8 +49,9 @@ class PermissionPromptAndroid : public PermissionPrompt { void Closing(); void Accept(); @@ -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 -@@ -265,6 +265,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const { +@@ -266,6 +266,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, -@@ -501,7 +512,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, +@@ -502,7 +513,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); -@@ -516,13 +528,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id, +@@ -517,13 +529,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 } } -@@ -590,11 +603,27 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -591,11 +604,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) { -@@ -634,6 +663,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, +@@ -635,6 +664,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 || -@@ -643,6 +681,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, +@@ -644,6 +682,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); @@ -1078,7 +1078,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h --- a/components/permissions/permission_prompt.h +++ b/components/permissions/permission_prompt.h -@@ -67,8 +67,9 @@ class PermissionPrompt { +@@ -68,8 +68,9 @@ class PermissionPrompt { virtual GURL GetEmbeddingOrigin() const = 0; virtual void Accept() = 0; @@ -1107,7 +1107,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { DCHECK(delete_callback_.is_null()); } -@@ -370,19 +378,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -386,19 +394,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { return request_type() == RequestType::kStorageAccess; } @@ -1199,7 +1199,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc --- a/components/permissions/permission_request_manager.cc +++ b/components/permissions/permission_request_manager.cc -@@ -169,7 +169,7 @@ void PermissionRequestManager::AddRequest( +@@ -172,7 +172,7 @@ void PermissionRequestManager::AddRequest( if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDenyPermissionPrompts)) { @@ -1208,7 +1208,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request->RequestFinished(); return; } -@@ -246,7 +246,7 @@ void PermissionRequestManager::AddRequest( +@@ -249,7 +249,7 @@ void PermissionRequestManager::AddRequest( if (should_auto_approve_request) { if (should_auto_approve_request == PermissionAction::GRANTED) { @@ -1217,7 +1217,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } request->RequestFinished(); return; -@@ -615,7 +615,8 @@ void PermissionRequestManager::Accept() { +@@ -618,7 +618,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 = -@@ -633,7 +634,7 @@ void PermissionRequestManager::Accept() { +@@ -636,7 +637,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_); -@@ -645,7 +646,8 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -648,7 +649,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); -@@ -653,6 +655,15 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -656,6 +658,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_); -@@ -676,7 +687,7 @@ void PermissionRequestManager::Deny() { +@@ -679,7 +690,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); -@@ -1243,32 +1254,32 @@ PermissionRequestManager::VisitDuplicateRequests( +@@ -1255,32 +1266,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); } -@@ -1529,7 +1540,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1541,7 +1552,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: @@ -1326,7 +1326,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h --- a/components/permissions/permission_request_manager.h +++ b/components/permissions/permission_request_manager.h -@@ -162,8 +162,10 @@ class PermissionRequestManager +@@ -165,8 +165,10 @@ class PermissionRequestManager GURL GetRequestingOrigin() const override; GURL GetEmbeddingOrigin() const override; void Accept() override; @@ -1338,7 +1338,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe void Dismiss() override; void Ignore() override; void FinalizeCurrentRequests() override; -@@ -372,9 +374,12 @@ class PermissionRequestManager +@@ -375,9 +377,12 @@ class PermissionRequestManager // Calls PermissionGranted on a request and all its duplicates. void PermissionGrantedIncludingDuplicates(PermissionRequest* request, diff --git a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch index 295dae88..221d8420 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -31,7 +31,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 -@@ -71,6 +71,10 @@ found in the LICENSE file. +@@ -74,6 +74,10 @@ found in the LICENSE file. @@ -42,10 +42,10 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -180,6 +184,9 @@ found in the LICENSE file. - +@@ -186,6 +190,9 @@ found in the LICENSE file. + + @@ -63,16 +63,16 @@ 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; -@@ -2985,6 +2986,8 @@ public class ChromeTabbedActivity extends ChromeActivityBEGIN_LINKdelete the Chrome d +@@ -4423,6 +4423,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs @@ -654,7 +654,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc --- a/components/bookmarks/browser/bookmark_model.cc +++ b/components/bookmarks/browser/bookmark_model.cc -@@ -914,7 +914,7 @@ bool BookmarkModel::HasBookmarks() const { +@@ -802,7 +802,7 @@ bool BookmarkModel::HasBookmarks() const { bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return bookmark_bar_node_->children().empty() && @@ -663,7 +663,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar } bool BookmarkModel::IsBookmarked(const GURL& url) const { -@@ -1246,6 +1246,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { +@@ -1110,6 +1110,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { bookmark_bar_node_ = details->bb_node(); other_node_ = details->other_folder_node(); mobile_node_ = details->mobile_folder_node(); @@ -674,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h --- a/components/bookmarks/browser/bookmark_model.h +++ b/components/bookmarks/browser/bookmark_model.h -@@ -157,6 +157,12 @@ class BookmarkModel : public CoreBookmarkModel, +@@ -149,6 +149,12 @@ class BookmarkModel : public BookmarkUndoProvider, // bookmarks in the account storage). const BookmarkNode* account_mobile_node() const; @@ -687,7 +687,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark bool is_root_node(const BookmarkNode* node) const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return node == root_; -@@ -639,6 +645,7 @@ class BookmarkModel : public CoreBookmarkModel, +@@ -566,6 +572,7 @@ class BookmarkModel : public BookmarkUndoProvider, raw_ptr account_bookmark_bar_node_ = nullptr; raw_ptr account_other_node_ = nullptr; raw_ptr account_mobile_node_ = nullptr; @@ -789,7 +789,7 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc --- a/components/bookmarks/browser/model_loader.cc +++ b/components/bookmarks/browser/model_loader.cc -@@ -71,6 +71,8 @@ std::unique_ptr LoadBookmarks( +@@ -70,6 +70,8 @@ std::unique_ptr LoadBookmarks( BookmarkPermanentNode::CreateOtherBookmarks(0); std::unique_ptr account_mobile_folder_node = BookmarkPermanentNode::CreateMobileBookmarks(0); @@ -798,7 +798,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks std::optional root_dict = LoadFileToDict(account_file_path); -@@ -78,7 +80,8 @@ std::unique_ptr LoadBookmarks( +@@ -77,7 +79,8 @@ std::unique_ptr LoadBookmarks( if (root_dict.has_value() && codec.Decode(*root_dict, /*already_assigned_ids=*/{}, account_bb_node.get(), account_other_folder_node.get(), @@ -808,7 +808,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks &sync_metadata_str)) { ids_assigned_to_account_nodes = codec.release_assigned_ids(); -@@ -127,7 +130,8 @@ std::unique_ptr LoadBookmarks( +@@ -119,7 +122,8 @@ std::unique_ptr LoadBookmarks( if (root_dict.has_value() && codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes), details->bb_node(), details->other_folder_node(), diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 6f875232..50b03b68 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -107,6 +107,9 @@ found in the LICENSE file. +@@ -110,6 +110,9 @@ found in the LICENSE file. @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -3011,6 +3011,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2669,6 +2669,11 @@ public abstract class ChromeActivity return doOpenWebApk(currentTab); } @@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -576,6 +576,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -565,6 +565,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate isNativePage, isFileScheme, isContentScheme, isIncognito, url)); updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isNativePage); @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App updateAutoDarkMenuItem(menu, currentTab, isNativePage); -@@ -1304,6 +1305,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -1297,6 +1298,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 -@@ -294,6 +294,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -292,6 +292,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 4221eb6f..04c14c9a 100644 --- a/build/patches/Add-option-to-disable-snapshots.patch +++ b/build/patches/Add-option-to-disable-snapshots.patch @@ -9,14 +9,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../java/res/xml/privacy_preferences.xml | 5 +++ .../chrome/browser/app/ChromeActivity.java | 3 +- .../privacy/settings/PrivacySettings.java | 43 ++++++++++++++++++- - .../browser/tab_ui/TabContentManager.java | 6 ++- .../strings/android_chrome_strings.grd | 8 ++++ - 7 files changed, 73 insertions(+), 7 deletions(-) + 6 files changed, 69 insertions(+), 5 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 +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java -@@ -350,9 +350,12 @@ class TabGridViewBinder { +@@ -333,9 +333,12 @@ class TabGridViewBinder { // Adjust bitmap to thumbnail. TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize); } else if (isMostRecentRequest) { @@ -32,7 +31,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } }; if (sThumbnailFetcherForTesting != null) { -@@ -391,6 +394,7 @@ class TabGridViewBinder { +@@ -374,6 +377,7 @@ class TabGridViewBinder { ViewLookupCachingFrameLayout rootView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) { @@ -43,7 +42,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 -@@ -74,6 +74,9 @@ public class TabProperties { +@@ -77,6 +77,9 @@ public class TabProperties { public static final WritableBooleanPropertyKey FAVICON_FETCHED = new WritableBooleanPropertyKey(); @@ -87,7 +86,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 -@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; +@@ -142,6 +142,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; @@ -95,15 +94,15 @@ 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.ProfileProvider; import org.chromium.chrome.browser.readaloud.ReadAloudController; -@@ -721,7 +722,7 @@ public abstract class ChromeActivity +@@ -718,7 +719,7 @@ public abstract class ChromeActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), - !SysUtils.isLowEndDevice(), + !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false), - tabModelSelector != null ? tabModelSelector::getTabById : null)); + tabModelSelector != null ? tabModelSelector::getTabById : null, + TabWindowManagerSingleton.getInstance())); - getBrowserControlsManager() 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 @@ -190,26 +189,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY); refererPolicyPref.setSummary( RefererSettingsFragment.getRefererSummaryString(getContext())); -diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java ---- a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java -+++ b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java -@@ -328,8 +328,10 @@ public class TabContentManager { - @NonNull Callback callback, - boolean forceUpdate, - boolean writeBack) { -- if (!mSnapshotsEnabled) return; -- -+ if (!mSnapshotsEnabled) { -+ callback.onResult(null); -+ return; -+ } - // TODO(crbug.com/40267864): Remove forceUpdate and writeBack params once the following - // features - // launch: 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 -@@ -5659,6 +5659,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5909,6 +5909,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d Your %1$swww.amazon.com timer ran out. It'll start again tomorrow. diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index d190312e..f6798dbc 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.MemoryPressureListener; -@@ -1644,8 +1645,10 @@ public class ChromeTabbedActivity extends ChromeActivityBEGIN_LINKdelete the Chrome d +@@ -5400,6 +5400,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 316f5a31..411dc26a 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/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java -@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager; - import org.chromium.chrome.browser.data_sharing.SharedImageTilesCoordinator; +@@ -30,6 +30,7 @@ import org.chromium.base.task.TaskTraits; + import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager; + import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator; import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.hub.HubFieldTrial; +import org.chromium.chrome.browser.homepage.HomepageManager; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabCreationState; import org.chromium.chrome.browser.tab.TabLaunchType; -@@ -62,6 +63,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate; +@@ -65,6 +66,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate; import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.text.EmptyTextWatcher; @@ -39,7 +39,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.util.ArrayList; import java.util.List; -@@ -802,11 +804,16 @@ public class TabGridDialogMediator +@@ -820,11 +822,16 @@ public class TabGridDialogMediator assert relatedTabs.size() > 0; @@ -68,7 +68,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.layouts.LayoutStateProvider; import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver; import org.chromium.chrome.browser.layouts.LayoutType; -@@ -422,10 +423,15 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -427,10 +428,15 @@ public class TabGroupUiMediator implements BackPressHandler { assert relatedTabs.size() > 0; parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1); @@ -181,10 +181,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.new_tab_url.DseNewTabUrlManager; +import org.chromium.chrome.browser.homepage.HomepageManager; - import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; - import org.chromium.chrome.browser.ntp.NewTabPageUtils; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; -@@ -518,6 +519,13 @@ public class ChromeTabCreator extends TabCreator { + import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; + import org.chromium.chrome.browser.profiles.Profile; +@@ -484,6 +485,13 @@ public class ChromeTabCreator extends TabCreator { * @return the created tab. */ public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) { @@ -223,7 +223,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 -@@ -1406,6 +1406,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1414,6 +1414,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -236,7 +236,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -85,6 +85,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -89,6 +89,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kShowForwardButton, true, GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags()); @@ -248,7 +248,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 -@@ -1321,6 +1321,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; +@@ -1350,6 +1350,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; // toolbar. inline constexpr char kShowForwardButton[] = "browser.show_forward_button"; @@ -256,7 +256,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h +// instead of the New Tab page. +inline constexpr char kNewTabPageIsHomePage[] = "newtabpage_is_homepage"; + - // Boolean pref to define the default setting for "block offensive words". - // The old key value is kept to avoid unnecessary migration code. - inline constexpr char kSpeechRecognitionFilterProfanities[] = + // Comma separated list of domain names (e.g. "google.com,school.edu"). + // When this pref is set, the user will be able to access Google Apps + // only using an account that belongs to one of the domains from this pref. -- diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index d60f6e9e..dac1f866 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -74,7 +74,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se "ecosia": { "name": "Ecosia", "keyword": "ecosia.org", -@@ -174,6 +184,27 @@ +@@ -182,6 +192,27 @@ "id": 111 }, 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 753a8345..c67a34d9 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -39,7 +39,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -306,6 +306,7 @@ chrome_java_sources = [ +@@ -309,6 +309,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", @@ -57,8 +57,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct +import org.chromium.chrome.browser.profiles.ProfileManagerUtils; import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; - import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification; -@@ -1644,7 +1645,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 -@@ -442,6 +442,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -454,6 +454,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -308,7 +308,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -492,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -504,7 +507,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS | prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); } @@ -318,7 +318,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. // 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. -@@ -513,7 +518,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -525,7 +530,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (data_manager) data_manager->Refresh(); } @@ -328,7 +328,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. base::ThreadPool::PostTaskAndReply( FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, base::BindOnce( -@@ -560,6 +567,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -572,6 +579,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 +340,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. profile_->GetSSLHostStateDelegate()->Clear( filter_builder->MatchesAllOriginsAndDomains() ? base::RepeatingCallback() -@@ -588,9 +600,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -600,9 +612,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } device_event_log::Clear(delete_begin_, delete_end_); @@ -354,7 +354,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( delete_begin_, delete_end_); -@@ -1257,6 +1273,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -1281,6 +1297,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (should_clear_zero_suggest_and_session_token && template_url_service) template_url_service->ClearSessionToken(); @@ -366,7 +366,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. diff --git a/chrome/browser/dips/dips_service.cc b/chrome/browser/dips/dips_service.cc --- a/chrome/browser/dips/dips_service.cc +++ b/chrome/browser/dips/dips_service.cc -@@ -193,7 +193,7 @@ class StateClearer : public content::BrowsingDataRemover::Observer { +@@ -188,7 +188,7 @@ class StateClearer : public content::BrowsingDataRemover::Observer { } remover->RemoveWithFilterAndReply( base::Time::Min(), base::Time::Max(), @@ -378,7 +378,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 -@@ -526,6 +526,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -532,6 +532,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::kNumber; @@ -436,7 +436,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 -@@ -1477,6 +1477,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, +@@ -1479,6 +1479,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, } } @@ -456,7 +456,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_ || -@@ -2141,7 +2154,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { +@@ -2144,7 +2157,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 +553,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 -@@ -1501,6 +1501,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1509,6 +1509,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>. @@ -566,7 +566,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 -@@ -1775,6 +1775,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1792,6 +1792,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -752,7 +752,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 -@@ -819,6 +819,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( +@@ -798,6 +798,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 && @@ -763,7 +763,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 -@@ -1533,6 +1533,7 @@ void StoragePartitionImpl::Initialize( +@@ -1473,6 +1473,7 @@ void StoragePartitionImpl::Initialize( .AppendASCII("Code Cache"); } DCHECK_GE(settings.size_in_bytes(), 0); diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index a1b329e5..b481a94a 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -24,14 +24,14 @@ 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 -@@ -155,6 +155,7 @@ +@@ -153,6 +153,7 @@ #include "components/send_tab_to_self/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h" +#include "components/site_engagement/core/features.h" #include "components/shared_highlighting/core/common/shared_highlighting_features.h" + #include "components/sharing_message/features.h" #include "components/signin/core/browser/dice_account_reconcilor_delegate.h" - #include "components/signin/public/base/signin_buildflags.h" diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc --- a/chrome/browser/engagement/important_sites_util.cc +++ b/chrome/browser/engagement/important_sites_util.cc @@ -108,7 +108,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ BUILDFLAG(IS_CHROMEOS) - if (kIPHPasswordsAccountStorageFeature.name == feature->name) { + if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc --- a/components/site_engagement/content/site_engagement_score.cc +++ b/components/site_engagement/content/site_engagement_score.cc diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 8bcd0a17..c23470f1 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat; -@@ -517,8 +518,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -515,8 +516,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity finish(); return true; } else if (item.getItemId() == R.id.menu_id_general_help) { diff --git a/build/patches/Add-support-for-writing-URIs.patch b/build/patches/Add-support-for-writing-URIs.patch index 49feadee..b835d94f 100644 --- a/build/patches/Add-support-for-writing-URIs.patch +++ b/build/patches/Add-support-for-writing-URIs.patch @@ -15,8 +15,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc --- a/base/android/content_uri_utils.cc +++ b/base/android/content_uri_utils.cc -@@ -32,6 +32,16 @@ File OpenContentUriForRead(const FilePath& content_uri) { - return File(fd); +@@ -39,6 +39,16 @@ int64_t GetContentUriFileSize(const FilePath& content_uri) { + return Java_ContentUriUtils_getContentUriFileSize(env, j_uri); } +File OpenContentUriForWrite(const FilePath& content_uri) { @@ -43,13 +43,13 @@ diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h +// Returns -1 if the URI is invalid. +BASE_EXPORT File OpenContentUriForWrite(const FilePath& content_uri); + - // Check whether a content URI exists. - BASE_EXPORT bool ContentUriExists(const FilePath& content_uri); + // Gets file size, or -1 if file is unknown length. + BASE_EXPORT int64_t GetContentUriFileSize(const FilePath& content_uri); diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java --- a/base/android/java/src/org/chromium/base/ContentUriUtils.java +++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java -@@ -23,6 +23,9 @@ import org.jni_zero.CalledByNative; +@@ -22,6 +22,9 @@ import org.jni_zero.CalledByNative; import java.io.File; import java.io.IOException; @@ -59,7 +59,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"; -@@ -87,6 +90,36 @@ public abstract class ContentUriUtils { +@@ -86,6 +89,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 6b3d232f..a86b5e7a 100644 --- a/build/patches/Add-support-to-jxl.patch +++ b/build/patches/Add-support-to-jxl.patch @@ -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 -@@ -1604,6 +1608,9 @@ deps = { +@@ -1632,6 +1636,9 @@ deps = { 'src/third_party/dawn': Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'), @@ -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 -@@ -92,6 +92,7 @@ +@@ -89,6 +89,7 @@ /libgifcodec /libjingle/source /libupnp @@ -467,7 +467,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 -@@ -4431,6 +4431,7 @@ domain Emulation +@@ -4473,6 +4473,7 @@ domain Emulation experimental type DisabledImageType extends string enum avif @@ -608,7 +608,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 -@@ -2351,6 +2351,10 @@ source_set("blink_platform_unittests_sources") { +@@ -2365,6 +2365,10 @@ source_set("blink_platform_unittests_sources") { sources += [ "text/locale_icu_test.cc" ] } @@ -619,7 +619,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re sources += [ "testing/run_all_tests.cc" ] configs += [ -@@ -2396,6 +2400,7 @@ source_set("blink_platform_unittests_sources") { +@@ -2411,6 +2415,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", @@ -696,7 +696,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc --- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc +++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc -@@ -24,6 +24,7 @@ +@@ -29,6 +29,7 @@ #include "base/containers/heap_array.h" #include "base/logging.h" @@ -704,7 +704,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc #include "base/numerics/byte_conversions.h" #include "base/numerics/safe_conversions.h" #include "base/trace_event/trace_event.h" -@@ -50,6 +51,10 @@ +@@ -55,6 +56,10 @@ #include "third_party/blink/renderer/platform/image-decoders/avif/crabbyavif_image_decoder.h" #endif @@ -715,7 +715,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc namespace blink { namespace { -@@ -77,6 +82,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) { +@@ -82,6 +87,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) { if (image_extension == "avif") { return cc::ImageType::kAVIF; } @@ -727,7 +727,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc #endif return cc::ImageType::kInvalid; } -@@ -198,6 +208,12 @@ String SniffMimeTypeInternal(scoped_refptr reader) { +@@ -203,6 +213,12 @@ String SniffMimeTypeInternal(scoped_refptr reader) { return "image/avif"; } #endif @@ -740,7 +740,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc return String(); } -@@ -309,6 +325,13 @@ std::unique_ptr ImageDecoder::CreateByMimeType( +@@ -314,6 +330,13 @@ std::unique_ptr ImageDecoder::CreateByMimeType( alpha_option, high_bit_depth_decoding_option, color_behavior, max_decoded_bytes, animation_option); } @@ -2217,7 +2217,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 -@@ -4730,6 +4730,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai +@@ -4713,6 +4713,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 ] @@ -2233,8 +2233,8 @@ 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 -@@ -444,6 +444,15 @@ - "--disable-threaded-compositing", "--disable-threaded-animation"], +@@ -437,6 +437,15 @@ + "args": ["--enable-blink-features=FractionalScrollOffsets"], "expires": "Jun 1, 2025" }, + { @@ -2648,7 +2648,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 -@@ -20877,6 +20877,7 @@ from previous Chrome versions. +@@ -21310,6 +21310,7 @@ from previous Chrome versions. diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index db0931a5..30d2a0ad 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -206,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -116,6 +116,8 @@ enum ReasonForCallingCanExecuteScripts { +@@ -117,6 +117,8 @@ enum ReasonForCallingCanExecuteScripts { enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag }; @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -289,6 +289,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( +@@ -294,6 +294,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( } } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { base::AutoLock locker(WebGLContextLimitLock()); DCHECK(webgl_context_limits_initialized_); -@@ -558,25 +565,6 @@ static String ExtractWebGLContextCreationError( +@@ -563,25 +570,6 @@ static String ExtractWebGLContextCreationError( const Platform::GraphicsInfo& info) { StringBuilder builder; builder.Append("Could not create a WebGL context"); @@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), builder); builder.Append('.'); -@@ -636,6 +624,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( +@@ -641,6 +629,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( const CanvasContextCreationAttributesCore& attributes, Platform::ContextType context_type, Platform::GraphicsInfo* graphics_info) { @@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h -@@ -1967,6 +1967,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, +@@ -1933,6 +1933,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index 96bbfdbf..8d57657d 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" -@@ -841,6 +842,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -871,6 +872,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( // origin. WebRTCIPHandlingPolicy policy = GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy); @@ -219,7 +219,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver. #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h" -@@ -286,6 +288,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, +@@ -267,6 +269,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, if (kind != "audio" && kind != "video") return nullptr; @@ -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" -@@ -1044,6 +1046,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, +@@ -1024,6 +1026,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 bfb87749..1222f1cb 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -87,8 +87,8 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/ if (endpoint) { base::Value::Dict body_to_pass; for (const auto& pair : body) { -@@ -126,6 +128,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( - /*user_agent=*/std::nullopt, std::move(body_to_pass)); +@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( + network_anonymization_key_, std::move(body_to_pass)); } } +#endif @@ -116,7 +116,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse return; rph->GetStoragePartition()->GetNetworkContext()->QueueReport( type, group, url, reporting_source_, network_anonymization_key_, - /*user_agent=*/std::nullopt, std::move(body)); + std::move(body)); +#endif } @@ -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 -@@ -14404,12 +14404,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -14675,12 +14675,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -133,7 +133,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b - GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport( - /*type=*/"crash", /*group=*/"default", last_committed_url_, - GetReportingSource(), isolation_info_.network_anonymization_key(), -- /*user_agent=*/std::nullopt, std::move(body)); +- std::move(body)); } void RenderFrameHostImpl::SendCommitNavigation( @@ -175,15 +175,15 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) { switch (coop_value) { case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone: -@@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) { - return "restrict-properties-plus-coep"; +@@ -64,6 +57,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) { + return "noopener-allow-popups"; } } +#endif FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) { FrameTreeNode* opener = -@@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( +@@ -235,6 +229,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( network::mojom::SourceLocationPtr source_location, const std::string& reported_window_url, const std::string& initial_popup_url) const { @@ -191,10 +191,10 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c // Cross-Origin-Opener-Policy-Report-Only is not required to provide // endpoints. if (!coop_.report_only_reporting_endpoint) -@@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( +@@ -282,12 +277,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( storage_partition_->GetNetworkContext()->QueueReport( "coop", endpoint, context_url_, reporting_source_, - network_anonymization_key_, std::nullopt, std::move(body)); + network_anonymization_key_, std::move(body)); +#endif } @@ -206,10 +206,10 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c body.Set(kDisposition, is_report_only ? kDispositionReporting : kDispositionEnforce); body.Set(kEffectivePolicy, -@@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport( +@@ -295,6 +292,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport( + storage_partition_->GetNetworkContext()->QueueReport( "coop", endpoint, context_url_, reporting_source_, - network_anonymization_key_, - /*user_agent=*/std::nullopt, std::move(body)); + network_anonymization_key_, std::move(body)); +#endif } @@ -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 -@@ -196,6 +196,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( +@@ -201,6 +201,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( base::Seconds(30)); #if BUILDFLAG(ENABLE_REPORTING) @@ -265,10 +265,10 @@ diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc --- a/net/reporting/reporting_service.cc +++ b/net/reporting/reporting_service.cc -@@ -214,6 +214,12 @@ class ReportingServiceImpl : public ReportingService { - base::Value::Dict body, +@@ -216,6 +216,12 @@ class ReportingServiceImpl : public ReportingService { int depth, - base::TimeTicks queued_ticks) { + base::TimeTicks queued_ticks, + ReportingTargetType target_type) { +#if BUILDFLAG(ENABLE_REPORTING) + if ((true)) + return; @@ -276,17 +276,17 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic +#error Attempting to build with enable_reporting +#endif DCHECK(initialized_); - context_->cache()->AddReport( - reporting_source, network_anonymization_key, sanitized_url, user_agent, + context_->cache()->AddReport(reporting_source, network_anonymization_key, + sanitized_url, user_agent, group, type, diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -467,10 +467,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext - const std::optional& reporting_source, - const net::NetworkAnonymizationKey& network_anonymization_key, - const std::optional& user_agent, -- base::Value::Dict body) override; -+ base::Value::Dict body); + void QueueEnterpriseReport(const std::string& type, + const std::string& group, + const GURL& url, +- base::Value::Dict body) override; ++ base::Value::Dict body); void QueueSignedExchangeReport( mojom::SignedExchangeReportPtr report, - const net::NetworkAnonymizationKey& network_anonymization_key) override; @@ -297,7 +297,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn --- a/services/network/public/mojom/BUILD.gn +++ b/services/network/public/mojom/BUILD.gn -@@ -1491,7 +1491,6 @@ mojom("mojom") { +@@ -1486,7 +1486,6 @@ mojom("mojom") { export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/public/platform/web_common.h" if (enable_reporting) { @@ -308,7 +308,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1223,6 +1223,7 @@ interface NetworkContext { +@@ -1241,6 +1241,7 @@ interface NetworkContext { // provided |network_isolation_key|. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -316,7 +316,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1236,6 +1237,7 @@ interface NetworkContext { +@@ -1258,6 +1259,7 @@ interface NetworkContext { // Note that this queued report will never be delivered if no reporting // endpoint matching is registered for with the provided // |network_isolation_key|. @@ -362,7 +362,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h" -@@ -2760,9 +2761,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() { +@@ -2769,9 +2770,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() { v8_local_compile_hints_producer_->GenerateData(kIsFinalData); } @@ -385,7 +385,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "services/metrics/public/cpp/ukm_source_id.h" -@@ -661,8 +662,9 @@ class CORE_EXPORT LocalFrame final +@@ -662,8 +663,9 @@ class CORE_EXPORT LocalFrame final void FinishedScrollSequence(); SmoothScrollSequencer* GetSmoothScrollSequencer() const; @@ -404,7 +404,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ #include "third_party/blink/renderer/core/frame/reporting_context.h" +#include "net/net_buildflags.h" - #include "third_party/blink/public/common/browser_interface_broker_proxy.h" + #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" #include "third_party/blink/public/platform/platform.h" #include "third_party/blink/public/platform/task_type.h" @@ -53,7 +54,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext"; diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 185ce0de..f35415f3 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -23,14 +23,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -757,7 +757,6 @@ if (current_toolchain == default_toolchain) { +@@ -780,7 +780,6 @@ if (current_toolchain == default_toolchain) { "//components/dom_distiller/core:distiller_type_java", "//components/ntp_tiles:ntp_tiles_enums_java", "//components/offline_pages/core:offline_page_model_enums_java", - "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen", - "//net:effective_connection_type_java", ] + # From java_sources.gni. 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 @@ -42,7 +42,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ import org.chromium.components.user_prefs.UserPrefs; import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout; import org.chromium.ui.base.DeviceFormFactor; -@@ -788,9 +787,7 @@ public class FeedSurfaceCoordinator +@@ -784,9 +783,7 @@ public class FeedSurfaceCoordinator * Returns true if the supervised user feed should be displayed. */ public boolean shouldDisplaySupervisedFeed() { @@ -56,19 +56,19 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3271,8 +3271,6 @@ static_library("browser") { +@@ -3263,8 +3263,6 @@ static_library("browser") { "feed/android/refresh_task_scheduler_impl.cc", "feed/android/refresh_task_scheduler_impl.h", "feed/android/web_feed_bridge.cc", - "feedback/android/family_info_feedback_source.cc", - "feedback/android/family_info_feedback_source.h", - "file_select_helper_contacts_android.cc", - "file_select_helper_contacts_android.h", "first_run/android/first_run_prefs.cc", + "first_run/android/first_run_prefs.h", + "first_run/android/first_run_utils.cc", diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -324,7 +324,7 @@ void PrepareFactory( +@@ -338,7 +338,7 @@ void PrepareFactory( policy::BrowserPolicyConnector* policy_connector) { factory->SetManagedPolicies(policy_service, policy_connector); factory->SetRecommendedPolicies(policy_service, policy_connector); @@ -80,7 +80,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc -@@ -422,7 +422,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { +@@ -459,7 +459,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { } std::string ProfileAttributesEntry::GetSupervisedUserId() const { @@ -103,7 +103,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1624,6 +1620,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1629,6 +1625,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -114,7 +114,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 -@@ -1210,23 +1210,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1212,23 +1212,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -138,7 +138,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); -@@ -2038,9 +2021,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -2041,9 +2024,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -165,7 +165,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 -@@ -546,10 +546,6 @@ bool ManagementUIHandler::managed() const { +@@ -557,10 +557,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { @@ -190,7 +190,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_pref_store. diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc --- a/components/supervised_user/core/browser/supervised_user_preferences.cc +++ b/components/supervised_user/core/browser/supervised_user_preferences.cc -@@ -164,6 +164,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -165,6 +165,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { } void EnableParentalControls(PrefService& pref_service) { @@ -201,7 +201,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences pref_service.SetString(prefs::kSupervisedUserId, supervised_user::kChildAccountSUID); SetIsChildAccountStatusKnown(pref_service); -@@ -186,7 +190,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { +@@ -187,7 +191,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { } bool IsSubjectToParentalControls(const PrefService& pref_service) { @@ -224,7 +224,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc FirstTimeInterstitialBannerState banner_state = static_cast( user_prefs_->GetInteger(prefs::kFirstTimeInterstitialBannerState)); -@@ -189,6 +185,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState( +@@ -190,6 +186,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState( } void SupervisedUserService::SetActive(bool active) { @@ -246,8 +246,8 @@ 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 -@@ -143,4 +143,10 @@ bool IsShadowKidsApiWithSafeSitesEnabled() { - return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites); +@@ -179,4 +179,10 @@ bool IsKidFriendlyContentFeedAvailable() { + return base::FeatureList::IsEnabled(kKidFriendlyContentFeed); } +SET_CROMITE_FEATURE_DISABLED(kKidFriendlyContentFeed); diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index 24157a0a..e200abf3 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc -@@ -1230,6 +1230,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1240,6 +1240,12 @@ bool WebMediaPlayerImpl::HasAudio() const { return pipeline_metadata_.has_audio; } @@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( const WebVector& enabledTrackIds) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3576,7 +3582,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3591,7 +3597,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { : HasAudio(); // Audio only stream is allowed to play when in background. diff --git a/build/patches/Always-open-browser-controls-in-new-tab.patch b/build/patches/Always-open-browser-controls-in-new-tab.patch index 67ffbf28..2f14a549 100644 --- a/build/patches/Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/Always-open-browser-controls-in-new-tab.patch @@ -17,7 +17,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.bookmarks.BookmarkModel; -@@ -36,6 +37,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; +@@ -35,6 +36,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge; import org.chromium.chrome.browser.profiles.Profile; @@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher; import org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter; -@@ -234,6 +236,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -250,6 +252,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { Referrer referrer, boolean navigateToTab, @Nullable AdditionalNavigationParams additionalNavigationParams) { @@ -33,9 +33,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -@@ -250,6 +253,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { - - @Override +@@ -270,6 +273,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { + * @param url The URL to open. + */ public void onOpenInNewTabInGroup(GURL url, Referrer referrer) { + TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true); RecordUserAction.record("MobileNewTabOpened"); diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 698f277c..3fa5fe7e 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -264,7 +264,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 -@@ -1196,7 +1196,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1189,7 +1189,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -279,7 +279,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 -@@ -305,6 +305,13 @@ public abstract class TabModelSelectorBase +@@ -317,6 +317,13 @@ public abstract class TabModelSelectorBase return null; } @@ -333,7 +333,7 @@ new file mode 100644 diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java -@@ -121,6 +121,8 @@ public interface TabModelSelector { +@@ -138,6 +138,8 @@ public interface TabModelSelector { /** Close all tabs across all tab models */ void closeAllTabs(); @@ -345,7 +345,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java -@@ -13,10 +13,14 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; +@@ -12,10 +12,14 @@ import org.chromium.base.supplier.ObservableSupplier; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabSelectionType; import org.chromium.content_public.browser.WebContents; @@ -360,7 +360,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse /** * A set of convenience methods used for interacting with {@link TabList}s and {@link TabModel}s. -@@ -79,6 +83,20 @@ public class TabModelUtils { +@@ -78,6 +82,20 @@ public class TabModelUtils { return TabModel.INVALID_TAB_INDEX; } @@ -379,7 +379,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse + } + /** - * Find the {@link Tab} with the specified id. + * Find the {@link Tab} index whose URL matches the specified URL. * 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 @@ -396,7 +396,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java --- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java +++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java -@@ -449,6 +449,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan +@@ -456,6 +456,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan return null; } @@ -449,7 +449,7 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/c diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java -@@ -127,6 +127,8 @@ public class Snackbar { +@@ -130,6 +130,8 @@ public class Snackbar { private String mTemplateText; private String mActionText; private Object mActionData; @@ -458,7 +458,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro private String mAccessibilityActionAnnouncement; private int mBackgroundColor; private int mTextApperanceResId; -@@ -195,6 +197,20 @@ public class Snackbar { +@@ -198,6 +200,20 @@ public class Snackbar { return this; } @@ -482,7 +482,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java -@@ -285,6 +285,12 @@ public class SnackbarManager +@@ -287,6 +287,12 @@ public class SnackbarManager new SnackbarView( mActivity, this, @@ -553,7 +553,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 -@@ -890,6 +890,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -882,6 +882,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { view->SetFocus(focused); } @@ -579,7 +579,7 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h -@@ -195,6 +195,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid { void OnScaleFactorChanged(JNIEnv* env); void SetFocus(JNIEnv* env, jboolean focused); @@ -590,7 +590,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 -@@ -3532,8 +3532,10 @@ void WebContentsImpl::Stop() { +@@ -3523,8 +3523,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -604,7 +604,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 -@@ -1169,6 +1169,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi +@@ -1161,6 +1161,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -617,7 +617,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1444,6 +1450,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi +@@ -1440,6 +1446,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -629,7 +629,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java --- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java +++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java -@@ -293,6 +293,8 @@ public interface WebContents extends Parcelable { +@@ -286,6 +286,8 @@ public interface WebContents extends Parcelable { */ void setFocus(boolean hasFocus); @@ -641,7 +641,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java --- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java +++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java -@@ -199,6 +199,9 @@ public class MockWebContents implements WebContents { +@@ -191,6 +191,9 @@ public class MockWebContents implements WebContents { @Override public void setFocus(boolean hasFocus) {} @@ -686,7 +686,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 -@@ -4331,6 +4331,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4338,6 +4338,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -697,7 +697,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 -@@ -3197,6 +3197,7 @@ void LocalFrame::DidFreeze() { +@@ -3206,6 +3206,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -705,7 +705,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3211,6 +3212,7 @@ void LocalFrame::DidResume() { +@@ -3220,6 +3221,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index 4be7ed87..750ffd57 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -52,7 +52,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc -@@ -196,6 +196,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) +@@ -201,6 +201,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) } } @@ -89,14 +89,14 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc @@ -12,6 +12,7 @@ - #include "third_party/blink/public/common/browser_interface_broker_proxy.h" #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/mediastream/media_devices.h" + #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" +#include "third_party/blink/public/common/features.h" #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/web_audio_latency_hint.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" -@@ -586,7 +587,9 @@ double AudioContext::baseLatency() const { +@@ -585,7 +586,9 @@ double AudioContext::baseLatency() const { DCHECK(IsMainThread()); DCHECK(destination()); @@ -162,7 +162,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.c diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc --- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc +++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc -@@ -31,6 +31,7 @@ +@@ -36,6 +36,7 @@ #include #include @@ -170,7 +170,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ #include "third_party/blink/renderer/platform/audio/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_utilities.h" #include "third_party/blink/renderer/platform/audio/vector_math.h" -@@ -155,6 +156,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( +@@ -160,6 +161,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( input_buffer[(i + write_index - fft_size + kInputBufferSize) % kInputBufferSize]; @@ -178,7 +178,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ destination[i] = value; } } -@@ -182,6 +184,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { +@@ -187,6 +189,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { input_buffer[(i + write_index - fft_size + kInputBufferSize) % kInputBufferSize]; @@ -187,7 +187,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ // Scale from nominal -1 -> +1 to unsigned byte. double scaled_value = 128 * (value + 1); -@@ -301,6 +305,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) { +@@ -306,6 +310,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) { double scaled_value = UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor; @@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ // Clip to valid range. destination[i] = static_cast(ClampTo(scaled_value, 0, UCHAR_MAX)); -@@ -320,6 +326,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) { +@@ -325,6 +331,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) { float linear_value = source[i]; double db_mag = audio_utilities::LinearToDecibels(linear_value); destination[i] = static_cast(db_mag); @@ -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 -@@ -375,8 +375,8 @@ +@@ -396,8 +396,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 d99bb1c8..d5851107 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -49,7 +49,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -392,6 +392,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverSet& ContextLifecycleObserverSet(); @@ -60,7 +60,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h --- a/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h -@@ -86,6 +86,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -94,6 +94,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { virtual SubresourceFilter* GetSubresourceFilter() const = 0; virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0; @@ -71,7 +71,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -624,6 +624,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -611,6 +611,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } @@ -224,7 +224,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc -@@ -277,6 +277,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { +@@ -284,6 +284,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { return false; } diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch index d08f6743..aa53216c 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -64,7 +64,7 @@ diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_t diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc --- a/components/omnibox/browser/autocomplete_input.cc +++ b/components/omnibox/browser/autocomplete_input.cc -@@ -91,10 +91,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) { +@@ -92,10 +92,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) { bool HasScheme(const std::u16string& input, const char* scheme) { std::string utf8_input(base::UTF16ToUTF8(input)); url::Component view_source_scheme; @@ -80,7 +80,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib return url::FindAndCompareScheme(utf8_input, scheme, nullptr); } -@@ -582,7 +587,8 @@ void AutocompleteInput::ParseForEmphasizeComponents( +@@ -592,7 +597,8 @@ void AutocompleteInput::ParseForEmphasizeComponents( // For the view-source and blob schemes, we should emphasize the host of the // URL qualified by the view-source or blob prefix. if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) || @@ -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 -@@ -864,6 +864,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 -@@ -1014,6 +1014,8 @@ component("net") { +@@ -1044,6 +1044,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", @@ -195,15 +195,15 @@ new file mode 100644 diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc --- a/net/url_request/url_request.cc +++ b/net/url_request/url_request.cc -@@ -13,6 +13,7 @@ - #include "base/metrics/histogram_macros.h" +@@ -14,6 +14,7 @@ + #include "base/notreached.h" #include "base/rand_util.h" #include "base/strings/utf_string_conversions.h" +#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" -@@ -49,6 +50,7 @@ +@@ -51,6 +52,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 { -@@ -605,6 +607,12 @@ URLRequest::URLRequest(base::PassKey pass_key, +@@ -618,6 +620,12 @@ URLRequest::URLRequest(base::PassKey pass_key, // Sanity check out environment. DCHECK(base::SingleThreadTaskRunner::HasCurrentDefault()); @@ -227,7 +227,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -48,6 +48,7 @@ +@@ -49,6 +49,7 @@ #include "net/socket/network_binding_client_socket_factory.h" #include "net/ssl/ssl_config_service_defaults.h" #include "net/url_request/static_http_user_agent_settings.h" @@ -235,7 +235,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_job_factory.h" #include "url/url_constants.h" -@@ -582,6 +583,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -590,6 +591,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { job_factory->SetProtocolHandler(scheme_handler.first, std::move(scheme_handler.second)); } @@ -247,7 +247,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur diff --git a/url/url_constants.h b/url/url_constants.h --- a/url/url_constants.h +++ b/url/url_constants.h -@@ -36,6 +36,7 @@ inline constexpr char16_t kDataScheme16[] = u"data"; +@@ -34,6 +34,7 @@ inline constexpr char16_t kDataScheme16[] = u"data"; inline constexpr char kDrivefsScheme[] = "drivefs"; inline constexpr char kFileScheme[] = "file"; inline constexpr char16_t kFileScheme16[] = u"file"; @@ -258,7 +258,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h diff --git a/url/url_util.cc b/url/url_util.cc --- a/url/url_util.cc +++ b/url/url_util.cc -@@ -48,6 +48,7 @@ struct SchemeRegistry { +@@ -53,6 +53,7 @@ struct SchemeRegistry { std::vector standard_schemes = { {kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION}, {kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION}, @@ -266,7 +266,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc // Yes, file URLs can have a hostname, so file URLs should be handled as // "standard". File URLs never have a port as specified by the SchemeType // field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file -@@ -93,6 +94,7 @@ struct SchemeRegistry { +@@ -98,6 +99,7 @@ struct SchemeRegistry { kAboutScheme, kJavaScriptScheme, kDataScheme, diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 72c20028..a54bc4ba 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/omaha/OmahaPrefUtils.java | 52 +++- .../chrome/browser/omaha/UpdateConfigs.java | 27 +- .../browser/omaha/UpdateStatusProvider.java | 168 +++++++---- - .../browser/omaha/VersionNumberGetter.java | 3 +- + .../browser/omaha/VersionNumberGetter.java | 4 +- .../omaha/inline/InlineUpdateController.java | 57 ++++ .../safety_hub/SafetyHubFetchService.java | 5 - .../strings/android_chrome_strings.grd | 23 +- @@ -39,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../endpoint_fetcher/endpoint_fetcher.h | 23 +- .../Bromite-auto-updater.inc | 3 + .../Bromite-auto-updater.inc | 1 + - 31 files changed, 1225 insertions(+), 74 deletions(-) + 31 files changed, 1225 insertions(+), 75 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn @@ -81,7 +81,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -869,6 +869,8 @@ chrome_java_sources = [ +@@ -865,6 +865,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/omaha/OmahaBase.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java", @@ -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 -@@ -2779,6 +2779,12 @@ static_library("browser") { +@@ -2766,6 +2766,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 -@@ -253,6 +253,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -263,6 +263,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 -@@ -339,6 +339,7 @@ public abstract class ChromeFeatureList { +@@ -345,6 +345,7 @@ public abstract class ChromeFeatureList { public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID = "IncognitoReauthenticationForAndroid"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; @@ -1574,16 +1574,17 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java --- a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java +++ b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java -@@ -51,7 +51,8 @@ public class VersionNumberGetter { - private static VersionNumberGetter sInstanceForTests; +@@ -30,8 +30,8 @@ public class VersionNumberGetter { - /** If false, OmahaClient will never report that a newer version is available. */ -- private static boolean sEnableUpdateDetection = true; -+ // it must be false to disable version control via Omaha server -+ private static boolean sEnableUpdateDetection = false; + private static VersionNumberGetter sInstance = new VersionNumberGetter(); - protected VersionNumberGetter() {} +- /** If true, OmahaClient will never report that a newer version is available. */ +- private static boolean sDisableUpdateDetectionForTesting; ++ /** it must be true to disable version control via Omaha server. */ ++ private static boolean sDisableUpdateDetectionForTesting = true; + @VisibleForTesting + static VersionNumberGetter getInstance() { diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java new file mode 100644 --- /dev/null @@ -1649,19 +1650,19 @@ new file mode 100644 diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java --- a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java +++ b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java -@@ -53,9 +53,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen - if (syncService != null) { - syncService.addSyncStateChangedListener(this); +@@ -65,9 +65,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, + if (mSigninManager != null) { + mSigninManager.addSignInStateObserver(this); } - - // Fetch latest update status. - UpdateStatusProvider.getInstance().addObserver(mUpdateCallback); } - @Override -@@ -64,8 +61,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen - if (syncService != null) { - syncService.removeSyncStateChangedListener(this); + void addObserver(Observer observer) { +@@ -83,8 +80,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, + if (mSigninManager != null) { + mSigninManager.removeSignInStateObserver(this); } - - UpdateStatusProvider.getInstance().removeObserver(mUpdateCallback); @@ -1671,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 -@@ -2194,6 +2194,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2373,6 +2373,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 @@ -1684,7 +1685,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4045,7 +4051,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4274,7 +4280,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1696,7 +1697,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4056,6 +4065,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4285,6 +4294,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 1668c529..402683e8 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -68,7 +68,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 -@@ -338,6 +338,7 @@ if (current_toolchain == default_toolchain) { +@@ -353,6 +353,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", @@ -79,7 +79,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 -@@ -426,6 +426,7 @@ chrome_java_resources = [ +@@ -428,6 +428,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", @@ -98,7 +98,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 -@@ -954,6 +954,8 @@ chrome_java_sources = [ +@@ -950,6 +950,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", @@ -182,7 +182,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml --- a/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml -@@ -253,6 +253,24 @@ found in the LICENSE file. +@@ -256,6 +256,24 @@ found in the LICENSE file. @@ -428,7 +428,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java -@@ -865,7 +865,7 @@ public class TabModelImpl extends TabModelJniBridge { +@@ -860,7 +860,7 @@ public class TabModelImpl extends TabModelJniBridge { protected boolean createTabWithWebContents( Tab parent, Profile profile, WebContents webContents) { return getTabCreator(profile.isOffTheRecord()) @@ -440,7 +440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -15679,6 +15679,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -15796,6 +15796,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -489,7 +489,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h class BackgroundModeManager; class BrowserProcessPlatformPart; -@@ -71,6 +72,10 @@ namespace component_updater { +@@ -72,6 +73,10 @@ namespace component_updater { class ComponentUpdateService; } @@ -500,7 +500,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h namespace extensions { class EventRouterForwarder; } -@@ -254,6 +259,7 @@ class BrowserProcess { +@@ -255,6 +260,7 @@ class BrowserProcess { #endif virtual component_updater::ComponentUpdateService* component_updater() = 0; @@ -542,7 +542,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h -@@ -215,6 +215,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -214,6 +214,7 @@ class BrowserProcessImpl : public BrowserProcess, #endif component_updater::ComponentUpdateService* component_updater() override; @@ -561,7 +561,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( +@@ -474,6 +474,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -672,7 +672,7 @@ new file mode 100755 diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -642,6 +642,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { +@@ -630,6 +630,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { StubResolverConfigReader::RegisterPrefs(registry); @@ -726,7 +726,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 -@@ -2754,6 +2754,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2779,6 +2779,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -741,7 +741,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 -@@ -368,6 +368,9 @@ +@@ -371,6 +371,9 @@ This site shows intrusive or misleading ads @@ -1550,7 +1550,7 @@ new file mode 100644 diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc --- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc +++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc -@@ -17,6 +17,9 @@ +@@ -18,6 +18,9 @@ #include "base/strings/stringprintf.h" #include "base/trace_event/trace_event.h" #include "base/trace_event/traced_value.h" @@ -1560,7 +1560,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" -@@ -108,6 +111,7 @@ ContentSubresourceFilterThrottleManager:: +@@ -109,6 +112,7 @@ ContentSubresourceFilterThrottleManager:: profile_interaction_manager_( std::make_unique( profile_context)), @@ -1568,7 +1568,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f web_contents_helper_(web_contents_helper) {} ContentSubresourceFilterThrottleManager:: -@@ -641,6 +645,17 @@ ContentSubresourceFilterThrottleManager:: +@@ -667,6 +671,17 @@ ContentSubresourceFilterThrottleManager:: throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), ad_tagging_state); } @@ -1589,7 +1589,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 -@@ -413,6 +413,8 @@ class ContentSubresourceFilterThrottleManager +@@ -411,6 +411,8 @@ class ContentSubresourceFilterThrottleManager std::unique_ptr profile_interaction_manager_; @@ -1601,7 +1601,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.cc b/components/subresource_filter/content/shared/browser/ruleset_service.cc --- a/components/subresource_filter/content/shared/browser/ruleset_service.cc +++ b/components/subresource_filter/content/shared/browser/ruleset_service.cc -@@ -52,9 +52,7 @@ namespace { +@@ -51,9 +51,7 @@ namespace { void RecordIndexAndWriteRulesetResult( std::string_view uma_tag, RulesetService::IndexAndWriteRulesetResult result) { @@ -1612,7 +1612,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic } // Implements operations on a `sentinel file`, which is used as a safeguard to -@@ -235,10 +233,13 @@ RulesetService::RulesetService( +@@ -234,10 +232,13 @@ RulesetService::RulesetService( RulesetService::~RulesetService() {} void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded( @@ -1628,7 +1628,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic // Trying to store a ruleset with the same version for a second time would // not only be futile, but would fail on Windows due to "File System // Tunneling" as long as the previously stored copy of the rules is still -@@ -248,13 +249,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded( +@@ -247,13 +248,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded( if (most_recently_indexed_version.IsCurrentFormatVersion() && most_recently_indexed_version.content_version == unindexed_ruleset_info.content_version) { @@ -1645,7 +1645,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic return; } -@@ -274,6 +278,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -273,6 +277,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( const RulesetConfig& config, const base::FilePath& indexed_ruleset_base_dir, const UnindexedRulesetInfo& unindexed_ruleset_info) { @@ -1669,7 +1669,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::MAY_BLOCK); -@@ -281,6 +302,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -280,6 +301,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( unindexed_ruleset_info); if (!unindexed_ruleset_stream_generator.ruleset_stream()) { @@ -1677,7 +1677,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic RecordIndexAndWriteRulesetResult( config.uma_tag, IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET); -@@ -295,6 +317,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -294,6 +316,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( indexed_ruleset_base_dir, indexed_version); if (!base::CreateDirectory(indexed_ruleset_version_dir)) { @@ -1685,7 +1685,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic RecordIndexAndWriteRulesetResult( config.uma_tag, IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR); -@@ -303,13 +326,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -302,13 +325,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( SentinelFile sentinel_file(indexed_ruleset_version_dir); if (sentinel_file.IsPresent()) { @@ -1701,7 +1701,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic RecordIndexAndWriteRulesetResult( config.uma_tag, IndexAndWriteRulesetResult::FAILED_CREATING_SENTINEL_FILE); -@@ -324,6 +345,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -323,6 +344,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( RulesetIndexer indexer; if (!(*g_index_ruleset_func)(config, &unindexed_ruleset_stream_generator, &indexer)) { @@ -1709,7 +1709,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic RecordIndexAndWriteRulesetResult( config.uma_tag, IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET); -@@ -343,8 +365,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( +@@ -342,8 +364,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset( WriteRuleset(indexed_ruleset_version_dir, unindexed_ruleset_info.license_path, indexer.data()); RecordIndexAndWriteRulesetResult(config.uma_tag, result); @@ -1723,7 +1723,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic CHECK(indexed_version.IsValid(), base::NotFatalUntil::M129); return indexed_version; -@@ -472,6 +498,7 @@ void RulesetService::IndexAndStoreRuleset( +@@ -467,6 +493,7 @@ void RulesetService::IndexAndStoreRuleset( void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback, const IndexedRulesetVersion& version) { CHECK(!result_callback.is_null(), base::NotFatalUntil::M129); @@ -1743,7 +1743,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic // Get the ruleset version associated with the current local_state_. IndexedRulesetVersion GetMostRecentlyIndexedVersion() const; -@@ -221,6 +221,12 @@ class RulesetService { +@@ -219,6 +219,12 @@ class RulesetService { const base::FilePath& indexed_ruleset_base_dir, const UnindexedRulesetInfo& unindexed_ruleset_info); diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 6273880f..0175cecd 100644 --- a/build/patches/Bubble-Locking-on-UI-DevTools.patch +++ b/build/patches/Bubble-Locking-on-UI-DevTools.patch @@ -33,7 +33,7 @@ diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/u diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h --- a/ui/views/widget/widget.h +++ b/ui/views/widget/widget.h -@@ -1230,6 +1230,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1232,6 +1232,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, void SetAllowScreenshots(bool allow); bool AreScreenshotsAllowed(); @@ -53,7 +53,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h protected: // Creates the RootView to be used within this Widget. Subclasses may override // to create custom RootViews that do specialized event processing. -@@ -1269,13 +1282,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1271,13 +1284,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, ui::ColorProviderKey GetColorProviderKey() const override; private: @@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h class PaintAsActiveLockImpl; friend class ButtonTest; -@@ -1286,11 +1292,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1288,11 +1294,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, friend class ui_devtools::PageAgentViews; friend void DisableActivationChangeHandlingForTests(); 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 ec7b5ecf..c728f2fa 100644 --- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -9,8 +9,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html services/network/cors/preflight_controller.cc | 4 ++++ services/network/cors/preflight_controller.h | 2 ++ services/network/cors/preflight_result.cc | 2 +- - services/network/network_context.cc | 2 ++ - 6 files changed, 15 insertions(+), 1 deletion(-) + services/network/network_context.cc | 1 + + 6 files changed, 14 insertions(+), 1 deletion(-) diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc --- a/services/network/cors/preflight_cache.cc @@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc --- a/services/network/cors/preflight_controller.cc +++ b/services/network/cors/preflight_controller.cc -@@ -811,6 +811,10 @@ void PreflightController::ClearCorsPreflightCache( +@@ -835,6 +835,10 @@ void PreflightController::ClearCorsPreflightCache( cache_.ClearCache(std::move(url_filter)); } @@ -51,7 +51,7 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co + void PreflightController::RemoveLoader(PreflightLoader* loader) { auto it = loaders_.find(loader); - DCHECK(it != loaders_.end()); + CHECK(it != loaders_.end(), base::NotFatalUntil::M130); diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h --- a/services/network/cors/preflight_controller.h +++ b/services/network/cors/preflight_controller.h @@ -79,13 +79,12 @@ 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 -@@ -1247,6 +1247,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, - base::BindOnce(&NetworkContext::OnHttpCacheCleared, - base::Unretained(this), std::move(callback)))); - +@@ -1255,6 +1255,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, + base::Time end_time, + mojom::ClearDataFilterPtr filter, + ClearHttpCacheCallback callback) { + cors_preflight_controller_.ClearCache(); -+ - NetworkServiceMemoryCache* memory_cache = GetMemoryCache(); - if (memory_cache) - memory_cache->Clear(); + // It's safe to use Unretained below as the HttpCacheDataRemover is owned by + // |this| and guarantees it won't call its callback if deleted. + http_cache_data_removers_.push_back(HttpCacheDataRemover::CreateAndStart( -- diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 9583bb15..8be078fb 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -62,7 +62,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie return network::IsOriginPotentiallyTrustworthy(origin); } -@@ -723,7 +725,8 @@ void UpdateNavigationRequestClientUaHeadersImpl( +@@ -722,7 +724,8 @@ void UpdateNavigationRequestClientUaHeadersImpl( // value, disable them. This overwrites previous decision from UI. disable_due_to_custom_ua = !ua_metadata.has_value(); } @@ -72,7 +72,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie if (!disable_due_to_custom_ua) { if (!ua_metadata.has_value()) ua_metadata = delegate->GetUserAgentMetadata(); -@@ -905,10 +908,12 @@ void AddRequestClientHintsHeaders( +@@ -904,10 +907,12 @@ void AddRequestClientHintsHeaders( AddEctHeader(headers, network_quality_tracker, url); } @@ -92,7 +92,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 -@@ -1202,6 +1202,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( +@@ -1206,6 +1206,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( return; } @@ -266,7 +266,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir if (ShouldSendClientHint(policy, resource_origin, is_1p_origin, WebClientHintsType::kUAArch, hints_preferences)) { SetHttpHeader(WebClientHintsType::kUAArch, -@@ -667,6 +667,8 @@ bool BaseFetchContext::ShouldSendClientHint( +@@ -682,6 +682,8 @@ bool BaseFetchContext::ShouldSendClientHint( bool is_1p_origin, network::mojom::blink::WebClientHintsType type, const ClientHintsPreferences& hints_preferences) const { @@ -278,7 +278,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir 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 -@@ -337,6 +337,11 @@ +@@ -361,6 +361,11 @@ name: "AtomicMoveAPI", status: "test", }, @@ -289,5 +289,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + }, { name: "AttributionReporting", - origin_trial_feature_name: "PrivacySandboxAdsAPIs", + status: "stable", -- diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch index 4d4dc023..7db9bfc6 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 -@@ -436,7 +436,7 @@ const base::FeatureParam kIpPrivacyDebugExperimentArm{ +@@ -437,7 +437,7 @@ const base::FeatureParam kIpPrivacyDebugExperimentArm{ // NetworkChangeNotifier::AreNetworkHandlesSupported). #if BUILDFLAG(IS_ANDROID) inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default = diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index 16f9ffc2..4ecd533b 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -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; +@@ -58,6 +58,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 = -@@ -216,7 +220,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -215,7 +219,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 -@@ -337,6 +341,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -336,6 +340,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return mPrivacySandboxBridge.getFirstPartySetOwner(memberOrigin); } @@ -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 -@@ -1489,4 +1489,5 @@ +@@ -1474,4 +1474,5 @@ @@ -262,7 +262,7 @@ 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, -@@ -156,6 +157,7 @@ function addPrivacyChildRoutes(r: Partial) { +@@ -158,6 +159,7 @@ function addPrivacyChildRoutes(r: Partial) { r.SITE_SETTINGS_AUTOMATIC_FULLSCREEN = r.SITE_SETTINGS.createChild('automaticFullScreen'); } @@ -369,7 +369,7 @@ 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 -@@ -308,4 +308,5 @@ +@@ -309,4 +309,5 @@ label="$i18n{siteSettingsPointerLock}"> @@ -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 -@@ -2165,6 +2165,7 @@ static_library("ui") { +@@ -2041,6 +2041,7 @@ static_library("ui") { "//components/commerce/core:shopping_service", "//components/commerce/core/webui", "//components/endpoint_fetcher:endpoint_fetcher", @@ -720,7 +720,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/views/controls/rich_controls_container_view.h b/chrome/browser/ui/views/controls/rich_controls_container_view.h --- a/chrome/browser/ui/views/controls/rich_controls_container_view.h +++ b/chrome/browser/ui/views/controls/rich_controls_container_view.h -@@ -45,6 +45,13 @@ class RichControlsContainerView : public views::FlexLayoutView { +@@ -48,6 +48,13 @@ class RichControlsContainerView : public views::FlexLayoutView { return AddChildView(std::move(control_view)); } @@ -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" -@@ -3717,6 +3721,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3739,6 +3743,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -1223,8 +1223,8 @@ 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" -@@ -231,13 +233,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { - {ContentSettingsType::TOP_LEVEL_TPCD_ORIGIN_TRIAL, nullptr}, +@@ -234,13 +236,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { + {ContentSettingsType::STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, nullptr}, }; -static_assert( @@ -1244,7 +1244,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b struct SiteSettingSourceStringMapping { SiteSettingSource source; -@@ -469,6 +471,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -472,6 +474,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; } -@@ -482,11 +491,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { +@@ -485,11 +494,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 -@@ -501,7 +523,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -504,7 +526,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { return entry.name ? entry.name : std::string_view(); } } @@ -1292,7 +1292,7 @@ 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(); -@@ -599,6 +620,13 @@ std::vector GetVisiblePermissionCategories( +@@ -602,6 +623,13 @@ std::vector GetVisiblePermissionCategories( base_types->push_back(ContentSettingsType::POINTER_LOCK); } @@ -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 -@@ -332,6 +332,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -331,6 +331,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; } -@@ -496,6 +500,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -495,6 +499,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"); -@@ -526,7 +531,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -525,7 +530,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, -@@ -538,12 +544,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -537,12 +543,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()); -@@ -615,6 +629,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -614,6 +628,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; -@@ -809,6 +828,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -808,6 +827,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); } -@@ -924,6 +945,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -923,6 +944,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( -@@ -1110,8 +1133,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1109,8 +1132,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 = -@@ -1178,7 +1209,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1177,7 +1208,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. -@@ -1215,6 +1250,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1214,6 +1249,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); -@@ -1372,7 +1408,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1370,7 +1406,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) { -@@ -1496,6 +1532,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1494,6 +1530,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment @ContentSettingValues Integer value = site.getContentSetting(browserContextHandle, contentSettingsType); @@ -2440,7 +2440,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/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 -@@ -34,6 +34,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -46,6 +46,7 @@ public class SiteSettings extends BaseSiteSettingsFragment SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences); getActivity().setTitle(getContext().getString(R.string.prefs_site_settings)); @@ -2448,7 +2448,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configurePreferences(); updatePreferenceStates(); } -@@ -55,7 +56,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -67,7 +68,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)); -@@ -71,7 +72,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -89,7 +90,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. -@@ -140,19 +141,21 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -158,19 +159,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. @@ -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 -@@ -106,7 +106,7 @@ public class WebsitePermissionsFetcher { +@@ -107,7 +107,7 @@ public class WebsitePermissionsFetcher { case ContentSettingsType.USB_GUARD: return WebsitePermissionsType.CHOSEN_OBJECT_INFO; default: @@ -2786,10 +2786,10 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -779,6 +780,7 @@ void ContentSettingsRegistry::Init() { - WebsiteSettingsRegistry::PLATFORM_ANDROID, - ContentSettingsInfo::INHERIT_IN_INCOGNITO, - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); +@@ -813,6 +814,7 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsRegistry::DESKTOP, + ContentSettingsInfo::DONT_INHERIT_IN_INCOGNITO, + 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 -@@ -198,11 +198,7 @@ void RecordContentSettingsHistogram(const std::string& name, +@@ -203,11 +203,7 @@ void RecordContentSettingsHistogram(const std::string& name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -2842,7 +2842,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc diff --git a/components/content_settings/core/browser/website_settings_info.h b/components/content_settings/core/browser/website_settings_info.h --- a/components/content_settings/core/browser/website_settings_info.h +++ b/components/content_settings/core/browser/website_settings_info.h -@@ -135,6 +135,32 @@ class WebsiteSettingsInfo { +@@ -128,6 +128,32 @@ class WebsiteSettingsInfo { ScopingType scoping_type() const { return scoping_type_; } IncognitoBehavior incognito_behavior() const { return incognito_behavior_; } @@ -2875,7 +2875,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/ private: const ContentSettingsType type_; const std::string name_; -@@ -147,6 +173,18 @@ class WebsiteSettingsInfo { +@@ -140,6 +166,18 @@ class WebsiteSettingsInfo { const LossyStatus lossy_status_; const ScopingType scoping_type_; const IncognitoBehavior incognito_behavior_; @@ -3121,13 +3121,13 @@ 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 -@@ -429,5 +429,6 @@ enum ContentSettingsType { - // BLOCK: Protections enabled. This is the default state. - // ALLOW: Protections disabled. - TRACKING_PROTECTION, +@@ -452,5 +452,6 @@ enum ContentSettingsType { + // origins to retry a request or load with storage access. + // BLOCK (default): no effect. + STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, +#include "components/content_settings/core/common/bromite_content_settings.inc" }; - // LINT.ThenChange(/tools/metrics/histograms/metadata/settings/enums.xml:SafetyHubPermissionType) + // LINT.ThenChange(//tools/metrics/histograms/metadata/settings/enums.xml:SafetyHubPermissionType) 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 @@ -3299,7 +3299,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" -@@ -1232,6 +1233,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1239,6 +1240,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { @@ -3314,7 +3314,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) { -@@ -1339,7 +1348,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1346,7 +1355,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); @@ -3346,7 +3346,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" -@@ -610,6 +611,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -618,6 +619,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -3359,7 +3359,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); -@@ -621,6 +628,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -629,6 +636,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -3372,7 +3372,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); -@@ -1058,6 +1071,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -1074,6 +1087,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } @@ -3449,7 +3449,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -43,6 +43,7 @@ +@@ -44,6 +44,7 @@ #include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink-forward.h" #include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h" #include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h" @@ -3457,7 +3457,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/execution_context/security_context.h" -@@ -103,6 +104,10 @@ class SecurityOrigin; +@@ -104,6 +105,10 @@ class SecurityOrigin; class ScriptState; class ScriptWrappable; class TrustedTypePolicyFactory; diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch index b538fc2d..9b79cfb6 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -9169,7 +9169,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. No description provided -@@ -515,7 +515,7 @@ +@@ -518,7 +518,7 @@ My extensions @@ -9181,7 +9181,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. 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 -@@ -414,7 +414,7 @@ +@@ -415,7 +415,7 @@ Change @@ -13135,7 +13135,7 @@ e)fqMZZ`3a)Ds&5H CreateProfilePrefStoreManager( +@@ -291,10 +292,7 @@ std::unique_ptr CreateProfilePrefStoreManager( #endif std::string seed; CHECK(ui::ResourceBundle::HasSharedInstance()); @@ -13224,7 +13224,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 -@@ -2259,7 +2259,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2438,7 +2438,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome @@ -13257,7 +13257,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd -@@ -977,7 +977,7 @@ +@@ -983,7 +983,7 @@ @@ -18894,7 +18894,7 @@ diff --git a/components/version_ui/resources/about_version_mobile.css b/componen diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -620,7 +620,7 @@ void ResolveInvalidConfigurations() { +@@ -617,7 +617,7 @@ void ResolveInvalidConfigurations() { base::FeatureList::IsEnabled( features::kPrivacySandboxAdsAPIsM1Override)) && !base::FeatureList::IsEnabled(blink::features::kFencedFrames)) { @@ -18903,7 +18903,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Fenced frames cannot be enabled in this configuration. Use --" << switches::kEnableFeatures << "=" << blink::features::kFencedFrames.name << " instead."; -@@ -630,9 +630,8 @@ void ResolveInvalidConfigurations() { +@@ -627,9 +627,8 @@ void ResolveInvalidConfigurations() { if (!base::FeatureList::IsEnabled(blink::features::kFencedFrames) && base::FeatureList::IsEnabled( blink::features::kFencedFramesLocalUnpartitionedDataAccess)) { @@ -18915,7 +18915,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Fenced frames must be enabled in order to enable local " "unpartitioned " << "data access. Use --" << switches::kEnableFeatures << "=" -@@ -645,7 +644,7 @@ void ResolveInvalidConfigurations() { +@@ -642,7 +641,7 @@ void ResolveInvalidConfigurations() { // The Document API should be additionally gated by the // `kBrowsingTopicsDocumentAPI` feature. if (!base::FeatureList::IsEnabled(blink::features::kBrowsingTopics)) { @@ -18924,7 +18924,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Topics cannot be enabled in this configuration. Use --" << switches::kEnableFeatures << "=" << blink::features::kBrowsingTopics.name << " in addition."; -@@ -665,7 +664,7 @@ void ResolveInvalidConfigurations() { +@@ -662,7 +661,7 @@ void ResolveInvalidConfigurations() { } if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) { @@ -18933,7 +18933,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "SharedStorage cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -675,7 +674,7 @@ void ResolveInvalidConfigurations() { +@@ -672,7 +671,7 @@ void ResolveInvalidConfigurations() { if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM118) || !base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) { @@ -18942,7 +18942,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "SharedStorage for M118+ cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -686,7 +685,7 @@ void ResolveInvalidConfigurations() { +@@ -683,7 +682,7 @@ void ResolveInvalidConfigurations() { if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM125) || !base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) { @@ -18951,7 +18951,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "SharedStorage for M125+ cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -697,7 +696,7 @@ void ResolveInvalidConfigurations() { +@@ -694,7 +693,7 @@ void ResolveInvalidConfigurations() { if (!base::FeatureList::IsEnabled( attribution_reporting::features::kConversionMeasurement)) { @@ -18960,7 +18960,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "AttributionReporting cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -710,8 +709,8 @@ void ResolveInvalidConfigurations() { +@@ -707,8 +706,8 @@ void ResolveInvalidConfigurations() { attribution_reporting::features::kConversionMeasurement) || !base::FeatureList::IsEnabled( network::features::kAttributionReportingCrossAppWeb)) { @@ -18971,7 +18971,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "AttributionReportingCrossAppWeb cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -722,7 +721,7 @@ void ResolveInvalidConfigurations() { +@@ -719,7 +718,7 @@ void ResolveInvalidConfigurations() { } if (!base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) { diff --git a/build/patches/Customize-selection-popup.patch b/build/patches/Customize-selection-popup.patch index c0adc3f8..c0a09c15 100644 --- a/build/patches/Customize-selection-popup.patch +++ b/build/patches/Customize-selection-popup.patch @@ -15,19 +15,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../chrome/browser/ui/RootUiCoordinator.java | 8 +- .../Customize-selection-popup.grdp | 34 +++++ .../res/xml/accessibility_preferences.xml | 24 ++++ - .../selection/SelectActionMenuHelper.java | 131 ++++++++++++------ + .../selection/SelectActionMenuHelper.java | 129 ++++++++++++------ .../selection/SmartSelectionClient.java | 4 + - 10 files changed, 193 insertions(+), 52 deletions(-) + 10 files changed, 192 insertions(+), 51 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java -@@ -148,9 +148,7 @@ public class ChromeActionModeHandler { +@@ -154,9 +154,7 @@ public class ChromeActionModeHandler { | ActionModeCallbackHelper.MENU_ITEM_SHARE; // Disable options that expose additional Chrome functionality prior to the FRE being // completed (i.e. creation of a new tab). -- if (FirstRunStatus.getFirstRunFlowComplete()) { +- if (FirstRunStatus.getFirstRunFlowComplete() && mShowWebSearch) { - allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH; - } + allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH; @@ -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 -@@ -756,10 +756,17 @@ public class ChromeTabbedActivity extends ChromeActivity menuItemBuilders = new ArrayList<>(); menuItemBuilders.add(cut(delegate.canCut())); menuItemBuilders.add(copy(delegate.canCopy())); -@@ -304,7 +351,7 @@ public class SelectActionMenuHelper { - // these menu items. +@@ -257,7 +304,7 @@ public class SelectActionMenuHelper { + // menu items if there is selected text. + @IdRes int groupId = selectedText.isEmpty() ? Menu.NONE : android.R.id.textAssist; SelectionMenuGroup secondaryAssistItems = - new SelectionMenuGroup( -- android.R.id.textAssist, GroupItemOrder.SECONDARY_ASSIST_ITEMS); -+ android.R.id.textAssist, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS()); +- new SelectionMenuGroup(groupId, GroupItemOrder.SECONDARY_ASSIST_ITEMS); ++ new SelectionMenuGroup(groupId, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS()); - // First action is reserved for primary action so start at index 1. - final int startIndex = 1; -@@ -337,7 +384,7 @@ public class SelectActionMenuHelper { + if (selectedText.isEmpty() && selectionActionMenuDelegate != null) { + List additionalMenuItems = +@@ -319,7 +366,7 @@ public class SelectActionMenuHelper { SelectionMenuGroup textProcessingItems = new SelectionMenuGroup( R.id.select_action_menu_text_processing_items, @@ -398,7 +389,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select if (isSelectionPassword || intentHandler == null) { addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate); return textProcessingItems; -@@ -444,7 +491,7 @@ public class SelectActionMenuHelper { +@@ -426,7 +473,7 @@ public class SelectActionMenuHelper { .setId(R.id.select_action_menu_cut) .setIconAttr(android.R.attr.actionModeCutDrawable) .setAlphabeticShortcut(ItemKeyShortcuts.CUT) @@ -407,7 +398,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled) -@@ -456,7 +503,7 @@ public class SelectActionMenuHelper { +@@ -438,7 +485,7 @@ public class SelectActionMenuHelper { .setId(R.id.select_action_menu_copy) .setIconAttr(android.R.attr.actionModeCopyDrawable) .setAlphabeticShortcut(ItemKeyShortcuts.COPY) @@ -416,7 +407,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled) -@@ -468,7 +515,7 @@ public class SelectActionMenuHelper { +@@ -450,7 +497,7 @@ public class SelectActionMenuHelper { .setId(R.id.select_action_menu_paste) .setIconAttr(android.R.attr.actionModePasteDrawable) .setAlphabeticShortcut(ItemKeyShortcuts.PASTE) @@ -425,7 +416,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled) -@@ -482,7 +529,7 @@ public class SelectActionMenuHelper { +@@ -464,7 +511,7 @@ public class SelectActionMenuHelper { return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share)) .setId(R.id.select_action_menu_share) .setIconAttr(android.R.attr.actionModeShareDrawable) @@ -434,7 +425,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled) -@@ -494,7 +541,7 @@ public class SelectActionMenuHelper { +@@ -476,7 +523,7 @@ public class SelectActionMenuHelper { .setId(R.id.select_action_menu_select_all) .setIconAttr(android.R.attr.actionModeSelectAllDrawable) .setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL) @@ -443,7 +434,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled) -@@ -507,7 +554,7 @@ public class SelectActionMenuHelper { +@@ -489,7 +536,7 @@ public class SelectActionMenuHelper { SelectionMenuItem.Builder builder = new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text) .setId(R.id.select_action_menu_paste_as_plain_text) @@ -452,7 +443,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select .setShowAsActionFlags( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT) .setIsEnabled(isEnabled); -@@ -527,7 +574,7 @@ public class SelectActionMenuHelper { +@@ -509,7 +556,7 @@ public class SelectActionMenuHelper { return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search)) .setId(R.id.select_action_menu_web_search) .setIconAttr(android.R.attr.actionModeWebSearchDrawable) diff --git a/build/patches/Deprecate-Data-URL-in-SVGUseElement.patch b/build/patches/Deprecate-Data-URL-in-SVGUseElement.patch index e73a9631..6e96e939 100644 --- a/build/patches/Deprecate-Data-URL-in-SVGUseElement.patch +++ b/build/patches/Deprecate-Data-URL-in-SVGUseElement.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 -@@ -3305,8 +3305,8 @@ +@@ -3395,8 +3395,8 @@ status: "stable", }, { diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 0c454dc6..466b384c 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -293,8 +293,17 @@ class LocationBarMediator +@@ -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) { @@ -58,15 +58,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import android.os.SystemClock; import android.text.Editable; import android.text.InputType; -@@ -102,6 +103,7 @@ public abstract class UrlBar extends AutocompleteEditText { - private boolean mFocused; +@@ -114,6 +115,7 @@ public class UrlBar extends AutocompleteEditText { private boolean mAllowFocus = true; + private boolean mTypingStartedEventSent; + private boolean mPendingSelectAll; private boolean mPendingScroll; - private int mLocationBarVerticalInset; -@@ -298,6 +300,27 @@ public abstract class UrlBar extends AutocompleteEditText { + // Captures the current intended text scroll type. +@@ -355,6 +357,27 @@ public class UrlBar extends AutocompleteEditText { mPendingScroll = false; } fixupTextDirection(); diff --git a/build/patches/Disable-CSS-blink-feature-support.patch b/build/patches/Disable-CSS-blink-feature-support.patch index e6466d68..7a119918 100644 --- a/build/patches/Disable-CSS-blink-feature-support.patch +++ b/build/patches/Disable-CSS-blink-feature-support.patch @@ -28,7 +28,7 @@ diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b 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 -@@ -604,7 +604,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse( +@@ -587,7 +587,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse( HeapVector> selectors; HeapVector arena; CSSPropertyValueSet* empty_properties = diff --git a/build/patches/Disable-Component-Updates.patch b/build/patches/Disable-Component-Updates.patch index dc955920..42547d69 100644 --- a/build/patches/Disable-Component-Updates.patch +++ b/build/patches/Disable-Component-Updates.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/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 -@@ -99,6 +99,7 @@ +@@ -100,6 +100,7 @@ namespace component_updater { void RegisterComponentsForUpdate() { diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index d0f1d552..bf6fd5ec 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -4,31 +4,14 @@ Subject: Disable Compose feature License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - chrome/browser/extensions/api/settings_private/prefs_util.cc | 2 ++ - components/compose/core/browser/compose_features.cc | 2 ++ - components/compose/features.gni | 2 +- - 3 files changed, 5 insertions(+), 1 deletion(-) + components/compose/core/browser/compose_features.cc | 2 ++ + components/compose/features.gni | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) -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 -@@ -487,10 +487,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { - (*s_allowlist) - [::permissions::prefs::kUnusedSitePermissionsRevocationEnabled] = - settings_api::PrefType::kBoolean; -+#if BUILDFLAG(ENABLE_COMPOSE) - (*s_allowlist)[prefs::kEnableProactiveNudge] = - settings_api::PrefType::kBoolean; - (*s_allowlist)[prefs::kProactiveNudgeDisabledSitesWithTime] = - settings_api::PrefType::kDictionary; -+#endif - - // Clear browsing data settings. - (*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistory] = 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 -@@ -83,4 +83,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint, +@@ -91,4 +91,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint, BASE_FEATURE(kEnableAdditionalTextMetrics, "EnableAdditionalTextMetrics", base::FEATURE_ENABLED_BY_DEFAULT); @@ -38,11 +21,11 @@ diff --git a/components/compose/core/browser/compose_features.cc b/components/co diff --git a/components/compose/features.gni b/components/compose/features.gni --- a/components/compose/features.gni +++ b/components/compose/features.gni -@@ -4,5 +4,5 @@ +@@ -6,5 +6,5 @@ import("//build/config/chromeos/ui_mode.gni") declare_args() { # Whether Compose is enabled in the build. -- enable_compose = is_mac || is_win || is_linux || is_chromeos +- enable_compose = is_mac || is_win || is_linux || is_chromeos_ash + enable_compose = false } -- diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index c5c37402..b67ecaff 100644 --- a/build/patches/Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/Disable-Compression-Dictionary-Transport.patch @@ -10,25 +10,23 @@ 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 -@@ -689,16 +689,18 @@ +@@ -738,14 +738,16 @@ } }, { - name: "CompressionDictionaryTransport", + name: "CompressionDictionaryTransport", // need to be disabled ++ status: "experimental", base_feature: "none", origin_trial_feature_name: "CompressionDictionaryTransportV3", origin_trial_allows_third_party: true, public: true, -+ status: "experimental", }, { - name: "CompressionDictionaryTransportBackend", + name: "CompressionDictionaryTransportBackend", // need to be disabled ++ status: "experimental", base_feature: "none", public: true, -+ status: "experimental", }, - { - name: "ComputedAccessibilityInfo", -- diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index 6c41bd80..2d240da2 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 -@@ -1532,7 +1532,7 @@ +@@ -1641,7 +1641,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index cc9c29f8..0dbbae1d 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -155,7 +155,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c 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; -@@ -106,11 +103,6 @@ class GoogleBottomBarActionsHandler { +@@ -102,11 +99,6 @@ class GoogleBottomBarActionsHandler { } void onSearchboxMicTap() { @@ -166,8 +166,8 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c - startGoogleAppActivityForResult(intent, "openGoogleAppVoiceSearch"); } - void onSearchboxLensTap() { -@@ -148,21 +140,13 @@ class GoogleBottomBarActionsHandler { + void onSearchboxLensTap(View buttonView) { +@@ -145,21 +137,13 @@ class GoogleBottomBarActionsHandler { } private void openGoogleAppSearch() { @@ -190,7 +190,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c intent.putExtra(EXTRA_IS_LAUNCHED_FROM_CHROME_SEARCH_ENTRYPOINT, true); if (PackageManagerUtils.canResolveActivity(intent)) { -@@ -285,6 +269,7 @@ class GoogleBottomBarActionsHandler { +@@ -271,6 +255,7 @@ class GoogleBottomBarActionsHandler { } private void sendPendingIntentWithUrl(PendingIntent pendingIntent) { diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 95d69145..be18dbb0 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 -@@ -2200,9 +2200,9 @@ +@@ -2336,9 +2336,9 @@ status: {"Android": "test", "default": "stable"}, }, { diff --git a/build/patches/Disable-Paint-Preview-by-default.patch b/build/patches/Disable-Paint-Preview-by-default.patch index 370a4db2..34862332 100644 --- a/build/patches/Disable-Paint-Preview-by-default.patch +++ b/build/patches/Disable-Paint-Preview-by-default.patch @@ -10,11 +10,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java -@@ -113,7 +113,7 @@ public class StartupPaintPreviewHelper { - * feature is not enabled this is effectively a no-op. - */ - public static void setShouldShowOnRestore(boolean shouldShowOnRestore) { -- sShouldShowOnRestore = shouldShowOnRestore; +@@ -107,7 +107,7 @@ public class StartupPaintPreviewHelper { + + /** Enables Paint Preview show attempt on restoration of a tab. */ + public static void enableShowOnRestore() { +- sShouldShowOnRestore = true; + sShouldShowOnRestore = false; } diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 4a038f30..53b6e403 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) +@@ -359,8 +359,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 e0482309..a4766712 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 -@@ -2350,7 +2350,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2135,7 +2135,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -25,7 +25,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html --- a/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html -@@ -440,13 +440,6 @@ +@@ -429,13 +429,6 @@ hidden$="[[!logoEnabled_]]">
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res 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 -@@ -455,6 +455,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source, +@@ -457,6 +457,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source, Profile* profile, bool enable_voice_search, bool enable_lens_search) { @@ -53,18 +53,18 @@ diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/bro diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc -@@ -176,7 +176,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly, - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -169,7 +169,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly, // If enabled, logo will be shown. + // This is a kill switch. Keep indefinitely. -BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_ENABLED_BY_DEFAULT); +BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_DISABLED_BY_DEFAULT); - // If enabled, logo will fill up less vertical space. - BASE_FEATURE(kNtpReducedLogoSpace, -@@ -253,8 +253,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow, - + // If enabled, middle slot promo will be shown. + // This is a kill switch. Keep indefinitely. +@@ -237,8 +237,8 @@ BASE_FEATURE(kNtpModulesRedesigned, // If enabled, OneGoogleBar will be shown. + // This is a kill switch. Keep indefinitely. BASE_FEATURE(kNtpOneGoogleBar, - "NtpOneGoogleBar", - base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/build/patches/Disable-StartSurface-feature.patch b/build/patches/Disable-StartSurface-feature.patch index a8768aca..7a1144d2 100644 --- a/build/patches/Disable-StartSurface-feature.patch +++ b/build/patches/Disable-StartSurface-feature.patch @@ -14,15 +14,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -672,7 +672,7 @@ public abstract class ChromeFeatureList { +@@ -693,7 +693,7 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sSearchEngineChoice = newCachedFlag(SEARCH_ENGINE_CHOICE, false); + public static final CachedFlag sSearchInCCT = newCachedFlag(SEARCH_IN_CCT, false); public static final CachedFlag sSmallerTabStripTitleLimit = - newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, true); - public static final CachedFlag sStartSurfaceAndroid = -- newCachedFlag(START_SURFACE_ANDROID, true); -+ newCachedFlag(START_SURFACE_ANDROID, false); +- newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, true); ++ newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, false); public static final CachedFlag sStartSurfaceReturnTime = newCachedFlag(START_SURFACE_RETURN_TIME, true); - public static final CachedFlag sStopAppIndexingReport = + public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, false); diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch index 369b5e5f..2c233c77 100644 --- a/build/patches/Disable-TLS-resumption.patch +++ b/build/patches/Disable-TLS-resumption.patch @@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc --- a/net/quic/quic_session_pool.cc +++ b/net/quic/quic_session_pool.cc -@@ -78,6 +78,7 @@ +@@ -80,6 +80,7 @@ #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "third_party/boringssl/src/include/openssl/aead.h" @@ -98,7 +98,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc #include "url/gurl.h" #include "url/scheme_host_port.h" #include "url/url_constants.h" -@@ -195,6 +196,38 @@ void LogUsingExistingSession(const NetLogWithSource& request_net_log, +@@ -215,6 +216,38 @@ void LogUsingExistingSession(const NetLogWithSource& request_net_log, } // namespace @@ -137,7 +137,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {} QuicSessionRequest::~QuicSessionRequest() { -@@ -1881,7 +1914,7 @@ QuicSessionPool::CreateCryptoConfigHandle( +@@ -1958,7 +1991,7 @@ QuicSessionPool::CreateCryptoConfigHandle( cert_verifier_, transport_security_state_, sct_auditing_delegate_, HostsFromOrigins(params_.origins_to_force_quic_on), actual_network_anonymization_key), @@ -149,7 +149,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -293,7 +293,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( +@@ -292,7 +292,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( CHECK(context_); } @@ -183,7 +183,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket Disconnect(); } -@@ -677,6 +703,8 @@ int SSLClientSocketImpl::Init() { +@@ -676,6 +702,8 @@ int SSLClientSocketImpl::Init() { } if (session) SSL_set_session(ssl_.get(), session.get()); @@ -192,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket } const int kBufferSize = GetDefaultOpenSSLBufferSize(); -@@ -963,6 +991,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { +@@ -962,6 +990,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { : SSLHandshakeDetails::kTLS13Full; } } @@ -228,7 +228,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); // Measure TLS connections that implement the renegotiation_info extension. -@@ -1588,6 +1645,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { +@@ -1587,6 +1644,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { } bool SSLClientSocketImpl::IsCachingEnabled() const { diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch index 08dec70d..3ac8fdc3 100644 --- a/build/patches/Disable-WebGPU.patch +++ b/build/patches/Disable-WebGPU.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -572,6 +572,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -569,6 +569,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( WebRuntimeFeatures::EnableV8IdleTasks(true); } @@ -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 -@@ -276,7 +276,7 @@ BASE_FEATURE(kEnableDrDc, +@@ -278,7 +278,7 @@ BASE_FEATURE(kEnableDrDc, // enabled by default on supported platforms. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_ANDROID) diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 443d280b..43f368b0 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -65,14 +65,15 @@ diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service. namespace { // The model takes all of its inputs as floats, so this is a convenience -@@ -28,12 +29,14 @@ constexpr float ToInput(base::TimeDelta val) { +@@ -28,6 +29,7 @@ constexpr float ToInput(base::TimeDelta val) { static_assert(1.0f == ToInput(true)); } // namespace +#endif PreloadingModelKeyedService::Inputs::Inputs() = default; - + PreloadingModelKeyedService::Inputs::Inputs(const Inputs& other) = default; +@@ -37,6 +39,7 @@ PreloadingModelKeyedService::Inputs::operator=(const Inputs& other) = default; PreloadingModelKeyedService::PreloadingModelKeyedService( OptimizationGuideKeyedService* optimization_guide_keyed_service) { #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) @@ -156,7 +157,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 -@@ -544,7 +544,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( +@@ -549,7 +549,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { @@ -194,7 +195,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 -@@ -435,7 +435,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -433,7 +433,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); @@ -255,7 +256,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 -@@ -172,6 +172,7 @@ void AutofillOptimizationGuide::OnDidParseForm( +@@ -194,6 +194,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`. @@ -263,8 +264,8 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c decider_->RegisterOptimizationTypes( std::vector( std::move(optimization_types).extract())); -@@ -223,7 +224,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( - AutofillField* field) const { +@@ -245,7 +246,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( + const AutofillField* field) const { // If the field's storable type is `IBAN_VALUE`, check whether IBAN // suggestions should be blocked based on `url`. - if (field->Type().GetStorableType() == IBAN_VALUE) { @@ -272,7 +273,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, -@@ -249,7 +250,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( +@@ -271,7 +272,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( const CreditCard& card) const { if (auto optimization_type = GetVcnMerchantOptOutOptimizationTypeForCard(card); @@ -284,7 +285,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -46,7 +46,9 @@ +@@ -47,7 +47,9 @@ #include "components/omnibox/browser/autocomplete_input.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_provider.h" @@ -294,7 +295,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" -@@ -119,6 +121,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -121,6 +123,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -302,7 +303,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 = -@@ -207,6 +210,7 @@ void RecordScoringSignalCoverageForProvider( +@@ -218,6 +221,7 @@ void RecordScoringSignalCoverageForProvider( pair.second); } } @@ -313,7 +314,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc --- a/components/optimization_guide/core/hints_fetcher.cc +++ b/components/optimization_guide/core/hints_fetcher.cc -@@ -185,6 +185,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( +@@ -198,6 +198,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( bool skip_cache, HintsFetchedCallback hints_fetched_callback, std::optional request_context_metadata) { @@ -353,7 +354,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc --- a/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc -@@ -37,11 +37,7 @@ namespace features { +@@ -38,11 +38,7 @@ namespace features { namespace { constexpr auto enabled_by_default_mobile_only = @@ -365,7 +366,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -430,8 +426,7 @@ size_t MaxURLKeyedHintCacheSize() { +@@ -437,8 +433,7 @@ size_t MaxURLKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -375,7 +376,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -871,5 +866,13 @@ int GetOnDeviceModelValidationAttemptCount() { +@@ -887,5 +882,13 @@ int GetOnDeviceModelValidationAttemptCount() { return kParam.Get(); } @@ -466,10 +467,10 @@ 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 -@@ -574,4 +574,7 @@ std::vector GetModulesOrder() { - base::SplitResult::SPLIT_WANT_NONEMPTY); +@@ -583,4 +583,7 @@ int GetWallpaperSearchButtonAnimationShownThreshold() { + kNtpWallpaperSearchButtonAnimationShownThreshold, + kNtpWallpaperSearchButtonAnimationShownThresholdParam, 15); } - +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule); +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad); +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleUseModelRanking); @@ -526,7 +527,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc --- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc -@@ -660,6 +660,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { +@@ -656,6 +656,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } @@ -537,7 +538,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 -@@ -3115,7 +3115,7 @@ +@@ -3209,7 +3209,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 a3b1a672..bf295e65 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 -@@ -1312,6 +1312,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1310,6 +1310,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -144,7 +144,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -148,7 +148,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -40,18 +40,18 @@ 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 -@@ -75,6 +75,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const { +@@ -78,6 +78,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const { bool BrowserFeaturePromoController::CanShowPromoForElement( ui::TrackedElement* anchor_element) const { + if ((true)) return false; - auto* const profile = browser_view_->GetProfile(); - - // Turn off IPH while a required privacy interstitial is visible or pending. + // Trying to show an IPH while the browser is closing can cause problems; + // see crbug.com/346461762 for an example. + if (browser_view_->browser()->IsBrowserClosing()) { diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java --- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java +++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java -@@ -125,6 +125,7 @@ public class UserEducationHelper { +@@ -126,6 +126,7 @@ public class UserEducationHelper { } private void showIPH(Tracker tracker, IPHCommand iphCommand) { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index adafaf8f..77022c0e 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -37,9 +37,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../attribution/request_headers_internal.cc | 1 + .../network/public/cpp/attribution_utils.cc | 2 + third_party/blink/renderer/core/page/page.cc | 2 +- - .../platform/runtime_enabled_features.json5 | 1 + + .../platform/runtime_enabled_features.json5 | 4 +- ui/events/android/motion_event_android.cc | 6 +- - 28 files changed, 73 insertions(+), 376 deletions(-) + 28 files changed, 74 insertions(+), 378 deletions(-) create mode 100644 cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc @@ -48,7 +48,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 -@@ -1246,6 +1246,7 @@ network::mojom::AttributionSupport +@@ -1277,6 +1277,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -56,7 +56,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: -@@ -1264,6 +1265,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1295,6 +1296,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -77,7 +77,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1773,7 +1773,7 @@ public class AwSettings { +@@ -1781,7 +1781,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -110,7 +110,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/components/attribution_reporting/aggregatable_trigger_config.cc --- a/components/attribution_reporting/aggregatable_trigger_config.cc +++ b/components/attribution_reporting/aggregatable_trigger_config.cc -@@ -86,7 +86,7 @@ bool IsValid(SourceRegistrationTimeConfig source_registration_time_config, +@@ -109,7 +109,7 @@ bool IsValid(SourceRegistrationTimeConfig source_registration_time_config, base::expected, TriggerRegistrationError> ParseTriggerContextId(base::Value* value) { @@ -122,9 +122,9 @@ diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/c diff --git a/components/attribution_reporting/features.cc b/components/attribution_reporting/features.cc --- a/components/attribution_reporting/features.cc +++ b/components/attribution_reporting/features.cc -@@ -17,4 +17,5 @@ BASE_FEATURE(kAttributionAggregatableDebugReporting, - "AttributionAggregatableDebugReporting", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -29,4 +29,5 @@ BASE_FEATURE(kAttributionScopes, + "AttributionScopes", + base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kConversionMeasurement); } // namespace attribution_reporting::features @@ -154,7 +154,7 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc --- a/content/browser/aggregation_service/aggregatable_report_sender.cc +++ b/content/browser/aggregation_service/aggregatable_report_sender.cc -@@ -138,19 +138,18 @@ void AggregatableReportSender::SendReport(const GURL& url, +@@ -180,20 +180,19 @@ void AggregatableReportSender::SendReport(const GURL& url, // Allow bodies of non-2xx responses to be returned. simple_url_loader_ptr->SetAllowHttpErrorResults(true); @@ -163,24 +163,25 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b - simple_url_loader_ptr->DownloadHeadersOnly( - url_loader_factory_.get(), - base::BindOnce(&AggregatableReportSender::OnReportSent, -- base::Unretained(this), std::move(it), -- std::move(callback))); +- base::Unretained(this), std::move(it), std::move(callback), +- delay_type)); + // this is never called on Bromite but nothing would be sent if it were -+ OnReportSent(std::move(it), std::move(callback), nullptr); ++ OnReportSent(std::move(it), std::move(callback), delay_type, nullptr); } void AggregatableReportSender::OnReportSent( UrlLoaderList::iterator it, ReportSentCallback callback, + std::optional delay_type, - scoped_refptr headers) { + scoped_refptr headers) { // disable in Bromite + if ((true)) { + std::move(callback).Run(RequestStatus::kOk); + return; + } - RequestStatus status; - std::optional http_response_code; + if (headers) { + http_response_code = headers->response_code(); diff --git a/content/browser/aggregation_service/aggregation_service_features.cc b/content/browser/aggregation_service/aggregation_service_features.cc --- a/content/browser/aggregation_service/aggregation_service_features.cc +++ b/content/browser/aggregation_service/aggregation_service_features.cc @@ -193,7 +194,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 -@@ -1134,6 +1134,7 @@ void AttributionDataHostManagerImpl::ParseHeader( +@@ -1132,6 +1132,7 @@ void AttributionDataHostManagerImpl::ParseHeader( HeaderPendingDecode pending_decode, Registrar registrar) { CHECK(it != registrations_.end()); @@ -204,7 +205,7 @@ diff --git a/content/browser/attribution_reporting/attribution_data_host_manager diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc --- a/content/browser/attribution_reporting/attribution_host.cc +++ b/content/browser/attribution_reporting/attribution_host.cc -@@ -258,6 +258,7 @@ void AttributionHost::NotifyNavigationRegistrationData( +@@ -257,6 +257,7 @@ void AttributionHost::NotifyNavigationRegistrationData( return; } @@ -236,16 +237,16 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se --- a/content/browser/attribution_reporting/attribution_report_network_sender.cc +++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc @@ -125,6 +125,9 @@ void AttributionReportNetworkSender::SendReport(GURL url, + url::Origin origin, const std::string& body, - net::HttpRequestHeaders headers, UrlLoaderCallback callback) { + // this is never called on Bromite but nothing would be sent if it were + if ((true)) return; + auto resource_request = std::make_unique(); resource_request->url = std::move(url); - resource_request->headers = std::move(headers); -@@ -200,6 +203,12 @@ void AttributionReportNetworkSender::OnReportSent( + resource_request->method = net::HttpRequestHeaders::kPostMethod; +@@ -199,6 +202,12 @@ void AttributionReportNetworkSender::OnReportSent( ReportSentCallback sent_callback, UrlLoaderList::iterator it, scoped_refptr headers) { @@ -261,7 +262,7 @@ 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 -@@ -471,14 +471,16 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { +@@ -489,6 +489,8 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { return user_data_directory.Append(kDatabasePath); } @@ -269,6 +270,8 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/ + } // namespace + // static +@@ -511,9 +513,9 @@ bool AttributionStorageSql::Transaction::Commit() { AttributionStorageSql::AttributionStorageSql( const base::FilePath& user_data_directory, AttributionResolverDelegate* delegate) @@ -284,7 +287,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 -@@ -1488,15 +1488,6 @@ void StoragePartitionImpl::Initialize( +@@ -1428,15 +1428,6 @@ void StoragePartitionImpl::Initialize( bucket_manager_ = std::make_unique(this); @@ -303,7 +306,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn --- a/content/public/android/BUILD.gn +++ b/content/public/android/BUILD.gn -@@ -189,8 +189,6 @@ android_library("content_full_java") { +@@ -196,8 +196,6 @@ android_library("content_full_java") { "//third_party/androidx:androidx_appcompat_appcompat_resources_java", "//third_party/androidx:androidx_collection_collection_java", "//third_party/androidx:androidx_core_core_java", @@ -777,7 +780,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 -@@ -550,6 +550,7 @@ void ContentBrowserClient::OnAuctionComplete( +@@ -561,6 +561,7 @@ void ContentBrowserClient::OnAuctionComplete( network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -785,7 +788,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; -@@ -567,13 +568,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -578,13 +579,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -801,7 +804,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b } bool ContentBrowserClient::IsAttributionReportingAllowedForContext( -@@ -581,7 +582,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext( +@@ -592,7 +593,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext( content::RenderFrameHost* rfh, const url::Origin& context_origin, const url::Origin& reporting_origin) { @@ -818,9 +821,9 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br href_translate(input.href_translate), reload_type(input.reload_type), - impression(input.impression), - is_pdf(input.is_pdf) { + is_pdf(input.is_pdf), + has_rel_opener(input.has_rel_opener) { #if DCHECK_IS_ON() - DCHECK(input.Valid()); diff --git a/cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc new file mode 100644 --- /dev/null @@ -867,7 +870,7 @@ diff --git a/services/network/attribution/request_headers_internal.cc b/services diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network/public/cpp/attribution_utils.cc --- a/services/network/public/cpp/attribution_utils.cc +++ b/services/network/public/cpp/attribution_utils.cc -@@ -9,6 +9,7 @@ +@@ -10,6 +10,7 @@ namespace network { bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { @@ -875,7 +878,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network switch (attribution_support) { case mojom::AttributionSupport::kOs: case mojom::AttributionSupport::kWebAndOs: -@@ -20,6 +21,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { +@@ -23,6 +24,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { } bool HasAttributionWebSupport(mojom::AttributionSupport attribution_support) { @@ -886,7 +889,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 -@@ -1436,7 +1436,7 @@ void Page::UpdateBrowsingContextGroup( +@@ -1543,7 +1543,7 @@ void Page::UpdateBrowsingContextGroup( void Page::SetAttributionSupport( network::mojom::AttributionSupport attribution_support) { @@ -898,14 +901,24 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re 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 -@@ -4022,6 +4022,7 @@ +@@ -4097,15 +4097,15 @@ }, { name: "TopicsAPI", + status: "experimental", base_feature: "none", - origin_trial_feature_name: "PrivacySandboxAdsAPIs", - origin_trial_allows_third_party: true, + public: true, +- status: "stable", + }, + { + name: "TopicsDocumentAPI", ++ status: "experimental", + base_feature: "none", + public: true, +- status: "stable", + }, + { + name: "TopLevelTpcd", diff --git a/ui/events/android/motion_event_android.cc b/ui/events/android/motion_event_android.cc --- a/ui/events/android/motion_event_android.cc +++ b/ui/events/android/motion_event_android.cc diff --git a/build/patches/Disable-crash-reporting.patch b/build/patches/Disable-crash-reporting.patch index b6f61e3c..f039b73a 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 -@@ -2584,15 +2584,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2707,15 +2707,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::NumberToString(pid)); } #endif diff --git a/build/patches/Disable-csp-reports.patch b/build/patches/Disable-csp-reports.patch index 5bf1019e..102266ca 100644 --- a/build/patches/Disable-csp-reports.patch +++ b/build/patches/Disable-csp-reports.patch @@ -1,7 +1,8 @@ -From: Your Name +From: uazo Date: Sun, 26 Feb 2023 19:46:04 +0000 Subject: Disable csp reports +License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- third_party/blink/renderer/core/loader/ping_loader.cc | 3 +++ 1 file changed, 3 insertions(+) @@ -25,10 +26,10 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party if (!ping_url.ProtocolIsInHTTPFamily()) return; -@@ -147,6 +149,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame, - void PingLoader::SendViolationReport(ExecutionContext* execution_context, +@@ -148,6 +150,7 @@ void PingLoader::SendViolationReport(ExecutionContext* execution_context, const KURL& report_url, - scoped_refptr report) { + scoped_refptr report, + bool is_frame_ancestors_violation) { + if ((true)) return; ResourceRequest request(report_url); request.SetHttpMethod(http_names::kPOST); diff --git a/build/patches/Disable-feeds-support-by-default.patch b/build/patches/Disable-feeds-support-by-default.patch index 48459cfa..c3abf38f 100644 --- a/build/patches/Disable-feeds-support-by-default.patch +++ b/build/patches/Disable-feeds-support-by-default.patch @@ -7,15 +7,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/BUILD.gn | 9 +++++++++ chrome/browser/feed/android/web_feed_bridge.cc | 18 ++++++++++++++++++ chrome/browser/prefs/browser_prefs.cc | 4 ++-- - components/feed/core/common/pref_names.cc | 13 +------------ .../feed/core/shared_prefs/pref_names.cc | 2 +- components/feed/feed_feature_list.cc | 3 +++ - 6 files changed, 34 insertions(+), 15 deletions(-) + 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2663,6 +2663,15 @@ static_library("browser") { +@@ -2658,6 +2658,15 @@ static_library("browser") { ] } @@ -42,7 +41,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee #include "components/feed/core/v2/config.h" #include "components/feed/core/v2/public/feed_service.h" #include "components/feed/core/v2/public/types.h" -@@ -80,10 +81,14 @@ base::android::ScopedJavaLocalRef ToJavaWebFeedId( +@@ -81,10 +82,14 @@ base::android::ScopedJavaLocalRef ToJavaWebFeedId( } WebFeedSubscriptions* GetSubscriptions() { @@ -57,7 +56,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee } FeedApi* GetStream() { -@@ -219,10 +224,14 @@ static void JNI_WebFeedBridge_FollowWebFeed( +@@ -220,10 +225,14 @@ static void JNI_WebFeedBridge_FollowWebFeed( return; } @@ -72,7 +71,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee } static jboolean JNI_WebFeedBridge_IsCormorantEnabledForLocale(JNIEnv* env) { -@@ -266,11 +275,16 @@ static void JNI_WebFeedBridge_UnfollowWebFeed( +@@ -267,11 +276,16 @@ static void JNI_WebFeedBridge_UnfollowWebFeed( auto callback = AdaptCallbackForJava( env, j_callback); @@ -89,7 +88,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee } static void JNI_WebFeedBridge_FindWebFeedInfoForPage( -@@ -282,6 +296,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( +@@ -283,6 +297,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( AdaptCallbackForJava(env, j_callback); PageInformation page_info = ToNativePageInformation(env, pageInfo); @@ -97,7 +96,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee // Make sure web_contents is not NULL since the user might navigate away from // the current tab that is requested to find info. if (!page_info.web_contents) { -@@ -292,6 +307,9 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( +@@ -293,6 +308,9 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( page_info.web_contents, static_cast(reason), std::move(callback)); @@ -110,7 +109,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee 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 -@@ -2109,10 +2109,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1898,10 +1898,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry); #endif @@ -123,29 +122,6 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(IS_ANDROID) cdm::MediaDrmStorageImpl::RegisterProfilePrefs(registry); -diff --git a/components/feed/core/common/pref_names.cc b/components/feed/core/common/pref_names.cc ---- a/components/feed/core/common/pref_names.cc -+++ b/components/feed/core/common/pref_names.cc -@@ -107,18 +107,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { - } - - void MigrateObsoleteProfilePrefsOct_2022(PrefService* prefs) { -- const base::Value* val = -- prefs->GetUserPrefValue(prefs::kExperimentsDeprecated); -- const base::Value::Dict* old = val ? val->GetIfDict() : nullptr; -- if (old) { -- base::Value::Dict dict; -- for (const auto kv : *old) { -- base::Value::List list; -- list.Append(kv.second.GetString()); -- dict.Set(kv.first, std::move(list)); -- } -- prefs->SetDict(feed::prefs::kExperimentsV2, std::move(dict)); -- } -+ prefs->ClearPref(feed::prefs::kExperimentsV2); - prefs->ClearPref(prefs::kExperimentsDeprecated); - } - diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc --- a/components/feed/core/shared_prefs/pref_names.cc +++ b/components/feed/core/shared_prefs/pref_names.cc @@ -161,7 +137,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 -@@ -161,4 +161,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) { +@@ -145,4 +145,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 feb48d8d..6440902f 100644 --- a/build/patches/Disable-fetching-of-all-field-trials.patch +++ b/build/patches/Disable-fetching-of-all-field-trials.patch @@ -93,7 +93,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java -@@ -88,11 +88,6 @@ public class SafeModeVariationsSeedContentProvider extends ContentProvider { +@@ -86,11 +86,6 @@ public class SafeModeVariationsSeedContentProvider extends ContentProvider { private Boolean awaitSeedResults() { CountDownLatch countDownLatch = new CountDownLatch(1); @@ -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 -@@ -856,7 +856,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -836,7 +836,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { @@ -177,7 +177,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java -@@ -469,39 +469,13 @@ public class VariationsSeedFetcher { +@@ -472,39 +472,13 @@ public class VariationsSeedFetcher { */ public void fetchSeed(String restrictMode, String milestone, String channel) { assert !ThreadUtils.runningOnUiThread(); @@ -221,7 +221,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari } private void recordFetchResultOrCode(int resultOrCode) { -@@ -553,7 +527,7 @@ public class VariationsSeedFetcher { +@@ -556,7 +530,7 @@ public class VariationsSeedFetcher { * @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header. * @return the object holds the request result and seed data with its related header fields. */ @@ -352,7 +352,7 @@ diff --git a/content/browser/loader/url_loader_throttles.cc b/content/browser/lo ClientHintsControllerDelegate* client_hint_delegate = browser_context->GetClientHintsControllerDelegate(); -@@ -137,11 +135,6 @@ CreateContentBrowserURLLoaderThrottlesForKeepAlive( +@@ -138,11 +136,6 @@ CreateContentBrowserURLLoaderThrottlesForKeepAlive( GetContentClient()->browser()->CreateURLLoaderThrottlesForKeepAlive( request, browser_context, wc_getter, frame_tree_node_id); variations::OmniboxURLLoaderThrottle::AppendThrottleIfNeeded(&throttles); @@ -404,7 +404,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 -@@ -202,13 +202,6 @@ WebVector CopyInitiatorOriginTrials( +@@ -205,13 +205,6 @@ WebVector CopyInitiatorOriginTrials( const Vector& initiator_origin_trial_features) { WebVector result; diff --git a/build/patches/Disable-idle-detection.patch b/build/patches/Disable-idle-detection.patch index db409f60..398ca6d0 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 -@@ -297,6 +297,7 @@ +@@ -302,6 +302,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 -@@ -2094,6 +2094,11 @@ +@@ -2225,6 +2225,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 083de5a7..e3c33b06 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 -@@ -393,8 +393,8 @@ BASE_FEATURE(kOmniboxSteadyStateTextColor, +@@ -383,8 +383,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 437525ec..8d9c4ddd 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 -@@ -110,6 +110,7 @@ void ClearMediaRouterStoredPrefsForTesting() { +@@ -119,6 +119,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; -@@ -152,7 +153,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); -@@ -223,4 +224,7 @@ std::optional GetCastMirroringPlayoutDelay() { +@@ -232,4 +233,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 -@@ -423,7 +423,7 @@ void ProfileImpl::RegisterProfilePrefs( +@@ -424,7 +424,7 @@ void ProfileImpl::RegisterProfilePrefs( #endif registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); @@ -55,7 +55,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -572,6 +572,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -569,6 +569,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( WebRuntimeFeatures::EnableBackForwardCache( content::IsBackForwardCacheEnabled()); @@ -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 -@@ -3280,14 +3280,10 @@ +@@ -3370,14 +3370,10 @@ base_feature: "none", }, { diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch index 2f11d87c..6df8f638 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 -@@ -2256,9 +2256,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2260,9 +2260,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 74789452..3acf84ec 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 -@@ -115,7 +115,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature, +@@ -120,7 +120,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 -@@ -3097,6 +3097,10 @@ +@@ -3191,6 +3191,10 @@ name: "PrefersReducedData", status: "experimental", }, diff --git a/build/patches/Disable-privacy-issues-in-password-manager.patch b/build/patches/Disable-privacy-issues-in-password-manager.patch index 2de8e0a8..f754d882 100644 --- a/build/patches/Disable-privacy-issues-in-password-manager.patch +++ b/build/patches/Disable-privacy-issues-in-password-manager.patch @@ -6,7 +6,7 @@ Need: Add-cromite-flags-support.patch License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- chrome/android/java/AndroidManifest.xml | 9 --------- - ...sword_store_android_backend_dispatcher_bridge_impl.cc | 1 + + .../password_store_android_backend_bridge_helper_impl.cc | 1 + .../android/password_store_android_local_backend.cc | 2 +- .../generated_password_leak_detection_pref.cc | 3 +-- .../affiliations/core/browser/affiliation_backend.cc | 1 + @@ -37,12 +37,12 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -diff --git a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc ---- a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc -+++ b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc -@@ -66,6 +66,7 @@ bool PasswordStoreAndroidBackendDispatcherBridge:: +diff --git a/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc b/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc +--- a/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc ++++ b/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc +@@ -102,6 +102,7 @@ bool PasswordStoreAndroidBackendBridgeHelperImpl:: - bool PasswordStoreAndroidBackendDispatcherBridge:: + bool PasswordStoreAndroidBackendBridgeHelperImpl:: CanUseGetAllLoginsWithBrandingInfoAPI() { + if ((true)) return false; base::android::BuildInfo* info = base::android::BuildInfo::GetInstance(); diff --git a/build/patches/Disable-privacy-sandbox.patch b/build/patches/Disable-privacy-sandbox.patch index 0a87a60b..8f5b11fb 100644 --- a/build/patches/Disable-privacy-sandbox.patch +++ b/build/patches/Disable-privacy-sandbox.patch @@ -34,7 +34,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 -@@ -3339,6 +3339,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -3468,6 +3468,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -79,7 +79,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 -@@ -1577,7 +1577,7 @@ void RegisterProfilePrefsForMigration( +@@ -1288,7 +1288,7 @@ void RegisterProfilePrefsForMigration( registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time()); // Deprecated 03/2024. @@ -91,7 +91,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 -@@ -471,7 +471,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() { +@@ -477,7 +477,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() { void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled( bool enabled) { pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, @@ -124,7 +124,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 -@@ -656,18 +656,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id, +@@ -657,18 +657,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id, if (!visit_id) return; @@ -147,7 +147,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc --- a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc +++ b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc -@@ -502,8 +502,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed( +@@ -395,8 +395,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed( if (attestations_map.has_value() && (!file_version_.IsValid() || file_version_.CompareTo(version) < 0)) { // Parsing succeeded and the attestations file has newer version. @@ -155,13 +155,13 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san - attestations_map_ = std::move(attestations_map.value()); } - attestations_parse_progress_ = Progress::kFinished; + SetIsPreInstalled(is_pre_installed); 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 -@@ -261,4 +261,8 @@ const base::FeatureParam - &kPrivacySandboxLocalNoticeConfirmation, "default-to-os-country", - false}; +@@ -288,4 +288,8 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToNoticeConsentDataModel, + "PrivacySandboxMigratePrefsToNoticeConsentDataModel", + base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4); +SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts); @@ -171,7 +171,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc -@@ -24,7 +24,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -25,7 +25,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref(prefs::kPrivacySandboxM1FledgeEnabled, false); registry->RegisterBooleanPref(prefs::kPrivacySandboxM1AdMeasurementEnabled, false); @@ -180,7 +180,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr registry->RegisterTimePref(prefs::kPrivacySandboxTopicsDataAccessibleSince, base::Time()); -@@ -48,7 +48,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -49,7 +49,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false); registry->RegisterBooleanPref( @@ -270,7 +270,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc --- a/components/privacy_sandbox/tracking_protection_prefs.cc +++ b/components/privacy_sandbox/tracking_protection_prefs.cc -@@ -53,14 +53,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -61,14 +61,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { // Tracking Protection Settings Prefs registry->RegisterBooleanPref( @@ -290,7 +290,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 -@@ -82,7 +82,7 @@ signin::Tribool AccountCapabilities:: +@@ -86,7 +86,7 @@ signin::Tribool AccountCapabilities:: signin::Tribool AccountCapabilities::can_run_chrome_privacy_sandbox_trials() const { @@ -317,7 +317,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 -@@ -2601,6 +2601,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases, +@@ -2618,6 +2618,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 e3a0a085..60701c15 100644 --- a/build/patches/Disable-references-to-fonts.googleapis.com.patch +++ b/build/patches/Disable-references-to-fonts.googleapis.com.patch @@ -4,24 +4,25 @@ Subject: Disable references to fonts.googleapis.com License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../side_panel/read_anything/read_anything_toolbar.ts | 3 --- - .../content/browser/dom_distiller_viewer_source.cc | 2 +- - components/dom_distiller/core/html/dom_distiller_viewer.html | 2 -- - components/dom_distiller/core/html/preview.html | 2 +- - .../dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +- - third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +-- - 6 files changed, 4 insertions(+), 10 deletions(-) + .../side_panel/read_anything/read_anything_toolbar.ts | 4 +--- + .../content/browser/dom_distiller_viewer_source.cc | 2 +- + components/dom_distiller/core/html/dom_distiller_viewer.html | 2 -- + components/dom_distiller/core/html/preview.html | 2 +- + .../dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +- + .../crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +-- + 6 files changed, 5 insertions(+), 10 deletions(-) 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 -@@ -472,9 +472,6 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase { +@@ -432,9 +432,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase { const link = document.createElement('link'); link.rel = 'preload'; link.as = 'style'; -- link.href = -- 'https://fonts.googleapis.com/css?family=Poppins|Comic+Neue|Lexend+Deca|' + -- 'EB+Garamond|STIX+Two+Text|Andika'; +- link.href = 'https://fonts.googleapis.com/css?family='; +- link.href += chrome.readingMode.allFonts.join('|'); +- link.href = link.href.replace(' ', '+'); ++ this.setFontsLoaded(); link.addEventListener('load', () => { link.media = 'all'; diff --git a/build/patches/Disable-remote-altsvc-for-h3-connections.patch b/build/patches/Disable-remote-altsvc-for-h3-connections.patch index a9ef193d..50869e61 100644 --- a/build/patches/Disable-remote-altsvc-for-h3-connections.patch +++ b/build/patches/Disable-remote-altsvc-for-h3-connections.patch @@ -26,7 +26,7 @@ diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_p diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc --- a/net/http/http_stream_factory_job_controller.cc +++ b/net/http/http_stream_factory_job_controller.cc -@@ -1260,11 +1260,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1284,11 +1284,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; } -@@ -1308,8 +1304,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1332,8 +1328,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( GURL destination = CreateAltSvcUrl( original_url, alternative_service_info.host_port_pair()); diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index f5f3e5b2..6619d50d 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -8,15 +8,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/android/chrome_java_sources.gni | 1 - .../android/java/res/xml/main_preferences.xml | 5 ----- .../browser/settings/SettingsActivity.java | 19 ------------------- - .../settings/SettingsLauncherImpl.java | 6 ++---- + .../settings/SettingsLauncherImpl.java | 8 ++------ chrome/browser/BUILD.gn | 1 - .../suggestions/action/OmniboxPedal.java | 3 --- - 7 files changed, 2 insertions(+), 38 deletions(-) + 7 files changed, 2 insertions(+), 40 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -438,7 +438,6 @@ if (current_toolchain == default_toolchain) { +@@ -458,7 +458,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", -@@ -1101,8 +1100,6 @@ if (current_toolchain == default_toolchain) { +@@ -1112,8 +1111,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/recent_tabs:java", "//chrome/browser/recent_tabs:junit", "//chrome/browser/recent_tabs/internal:junit", @@ -33,8 +33,8 @@ 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", -@@ -1754,8 +1751,6 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/quick_delete:javatests", +@@ -1769,8 +1766,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/readaloud/android:java", "//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:javatests", - "//chrome/browser/safety_check/android:java", @@ -45,7 +45,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -996,7 +996,6 @@ chrome_java_sources = [ +@@ -992,7 +992,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java", @@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.chrome.browser.safety_hub.SafetyHubBaseFragment; import org.chromium.chrome.browser.safety_hub.SafetyHubFragment; import org.chromium.chrome.browser.safety_hub.SafetyHubModuleDelegateImpl; -@@ -595,21 +591,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -593,21 +589,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity baseSiteSettingsFragment.setCustomTabIntentHelper( LaunchIntentDispatcher::createCustomTabActivityIntent); } @@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin - new SafetyCheckUpdatesDelegateImpl(), - new SafetyCheckBridge(mProfile), - mSettingsLauncher, -- SigninAndHistoryOptInActivityLauncherImpl.get(), +- SigninAndHistorySyncActivityLauncherImpl.get(), - SyncConsentActivityLauncherImpl.get(), - getModalDialogManagerSupplier(), - SyncServiceFactory.getForProfile(mProfile), @@ -107,37 +107,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin 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 -@@ -21,7 +21,6 @@ import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment; - import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanced; +@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanc import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment; + import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.password_manager.settings.PasswordSettings; -import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment; + import org.chromium.chrome.browser.safety_hub.SafetyHubFragment; import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; - import org.chromium.components.browser_ui.settings.SettingsLauncher; -@@ -58,8 +57,7 @@ public class SettingsLauncherImpl implements SettingsLauncher { +@@ -61,10 +60,7 @@ public class SettingsLauncherImpl implements SettingsLauncher { /* isFetcherSuppliedFromOutside= */ false); break; case SettingsFragment.SAFETY_CHECK: -- fragmentArgs = SafetyCheckSettingsFragment.createBundle(true); +- if (!ChromeFeatureList.sSafetyHub.isEnabled()) { +- fragmentArgs = SafetyCheckSettingsFragment.createBundle(true); +- } - break; + return; case SettingsFragment.MAIN: case SettingsFragment.PAYMENT_METHODS: case SettingsFragment.SITE: -@@ -132,7 +130,7 @@ public class SettingsLauncherImpl implements SettingsLauncher { - case SettingsFragment.PAYMENT_METHODS: - return AutofillPaymentMethodsFragment.class; - case SettingsFragment.SAFETY_CHECK: -- return SafetyCheckSettingsFragment.class; -+ return null; +@@ -140,7 +136,7 @@ public class SettingsLauncherImpl implements SettingsLauncher { + if (ChromeFeatureList.sSafetyHub.isEnabled()) { + return SafetyHubFragment.class; + } else { +- return SafetyCheckSettingsFragment.class; ++ return null; + } case SettingsFragment.SITE: return SiteSettings.class; - case SettingsFragment.ACCESSIBILITY: diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3584,7 +3584,6 @@ static_library("browser") { +@@ -3563,7 +3563,6 @@ static_library("browser") { "//chrome/browser/reading_list/android", "//chrome/browser/recent_tabs:jni_headers", "//chrome/browser/safe_browsing/android:safe_browsing_enums", @@ -148,7 +150,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java -@@ -54,9 +54,6 @@ public class OmniboxPedal extends OmniboxAction { +@@ -55,9 +55,6 @@ public class OmniboxPedal extends OmniboxAction { case OmniboxPedalId.UPDATE_CREDIT_CARD: delegate.openSettingsPage(SettingsFragment.PAYMENT_METHODS); break; diff --git a/build/patches/Disable-smart-selection-by-default.patch b/build/patches/Disable-smart-selection-by-default.patch index b25d3802..bf12b1c2 100644 --- a/build/patches/Disable-smart-selection-by-default.patch +++ b/build/patches/Disable-smart-selection-by-default.patch @@ -44,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -194,6 +194,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -198,6 +198,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kCCTExtendTrustedCdnPublisher, &kCCTFeatureUsage, &kCCTEphemeralMode, @@ -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 -@@ -251,6 +251,7 @@ public abstract class ChromeFeatureList { +@@ -256,6 +256,7 @@ public abstract class ChromeFeatureList { public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides"; public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub"; public static final String CCT_PAGE_INSIGHTS_HUB_PEEK = "CCTPageInsightsHubPeek"; @@ -66,7 +66,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java -@@ -1181,7 +1181,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -1103,7 +1103,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper public boolean canWebSearch() { return hasSelection() && !isFocusedNodeEditable() diff --git a/build/patches/Disable-speechSynthesis-getVoices-API.patch b/build/patches/Disable-speechSynthesis-getVoices-API.patch index a4c16722..2a34c870 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 -@@ -1627,7 +1627,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( +@@ -1630,7 +1630,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( std::unique_ptr ChromeContentRendererClient::CreateSpeechRecognitionClient( content::RenderFrame* render_frame) { @@ -93,7 +93,7 @@ diff --git a/content/browser/speech/tts_android.cc b/content/browser/speech/tts_ diff --git a/content/browser/speech/tts_win.cc b/content/browser/speech/tts_win.cc --- a/content/browser/speech/tts_win.cc +++ b/content/browser/speech/tts_win.cc -@@ -155,7 +155,7 @@ class TtsPlatformImplWin : public TtsPlatformImpl { +@@ -156,7 +156,7 @@ class TtsPlatformImplWin : public TtsPlatformImpl { TtsPlatformImplWin(const TtsPlatformImplWin&) = delete; TtsPlatformImplWin& operator=(const TtsPlatformImplWin&) = delete; @@ -152,8 +152,8 @@ diff --git a/third_party/blink/renderer/modules/speech/speech_synthesis.cc b/thi --- a/third_party/blink/renderer/modules/speech/speech_synthesis.cc +++ b/third_party/blink/renderer/modules/speech/speech_synthesis.cc @@ -35,6 +35,7 @@ - #include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h" #include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h" + #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" #include "third_party/blink/public/platform/platform.h" +#include "third_party/blink/public/platform/web_content_settings_client.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_speech_synthesis_error_event_init.h" diff --git a/build/patches/Disable-support-for-RAR-files-inspection.patch b/build/patches/Disable-support-for-RAR-files-inspection.patch deleted file mode 100644 index b17b4b6c..00000000 --- a/build/patches/Disable-support-for-RAR-files-inspection.patch +++ /dev/null @@ -1,94 +0,0 @@ -From: Michael Gilbert -Date: Wed, 21 Nov 2018 02:37:35 +0000 -Subject: Disable support for RAR files inspection - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - .../download_protection/file_analyzer.cc | 2 +- - .../services/file_util/safe_archive_analyzer.cc | 15 ++------------- - chrome/services/file_util/safe_archive_analyzer.h | 2 -- - chrome/utility/safe_browsing/BUILD.gn | 2 -- - chrome/utility/safe_browsing/archive_analyzer.cc | 2 +- - 5 files changed, 4 insertions(+), 19 deletions(-) - -diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc ---- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc -+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc -@@ -75,7 +75,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path, - if (inspection_type == DownloadFileType::ZIP) { - StartExtractZipFeatures(); - } else if (inspection_type == DownloadFileType::RAR) { -- StartExtractRarFeatures(); -+ LOG(WARNING) << "Safebrowser inspection of rar files is disabled in this build"; - #if BUILDFLAG(IS_MAC) - } else if (inspection_type == DownloadFileType::DMG) { - StartExtractDmgFeatures(); -diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc ---- a/chrome/services/file_util/safe_archive_analyzer.cc -+++ b/chrome/services/file_util/safe_archive_analyzer.cc -@@ -77,19 +77,8 @@ void SafeArchiveAnalyzer::AnalyzeRarFile( - DCHECK(rar_file.IsValid()); - temp_file_getter_.Bind(std::move(temp_file_getter)); - callback_ = std::move(callback); -- AnalysisFinishedCallback analysis_finished_callback = -- base::BindOnce(&SafeArchiveAnalyzer::AnalysisFinished, -- weak_factory_.GetWeakPtr(), base::FilePath()); -- base::RepeatingCallback -- temp_file_getter_callback = -- base::BindRepeating(&SafeArchiveAnalyzer::RequestTemporaryFile, -- weak_factory_.GetWeakPtr()); -- timeout_timer_.Start(FROM_HERE, kArchiveAnalysisTimeout, this, -- &SafeArchiveAnalyzer::Timeout); -- rar_analyzer_.Analyze(std::move(rar_file), base::FilePath(), -- /*password=*/password, -- std::move(analysis_finished_callback), -- std::move(temp_file_getter_callback), &results_); -+ Timeout(); -+ LOG(FATAL) << "AnalyzeRarFile is disabled in this build"; - } - - void SafeArchiveAnalyzer::AnalyzeSevenZipFile( -diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h ---- a/chrome/services/file_util/safe_archive_analyzer.h -+++ b/chrome/services/file_util/safe_archive_analyzer.h -@@ -9,7 +9,6 @@ - - #include "chrome/common/safe_browsing/archive_analyzer_results.h" - #include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h" --#include "chrome/utility/safe_browsing/rar_analyzer.h" - #include "chrome/utility/safe_browsing/seven_zip_analyzer.h" - #include "chrome/utility/safe_browsing/zip_analyzer.h" - #include "mojo/public/cpp/bindings/remote.h" -@@ -67,7 +66,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer { - void Timeout(); - - safe_browsing::ZipAnalyzer zip_analyzer_; -- safe_browsing::RarAnalyzer rar_analyzer_; - safe_browsing::SevenZipAnalyzer seven_zip_analyzer_; - #if BUILDFLAG(IS_MAC) - safe_browsing::dmg::DMGAnalyzer dmg_analyzer_; -diff --git a/chrome/utility/safe_browsing/BUILD.gn b/chrome/utility/safe_browsing/BUILD.gn ---- a/chrome/utility/safe_browsing/BUILD.gn -+++ b/chrome/utility/safe_browsing/BUILD.gn -@@ -11,8 +11,6 @@ source_set("safe_browsing") { - sources = [ - "archive_analyzer.cc", - "archive_analyzer.h", -- "rar_analyzer.cc", -- "rar_analyzer.h", - "seven_zip_analyzer.cc", - "seven_zip_analyzer.h", - "zip_analyzer.cc", -diff --git a/chrome/utility/safe_browsing/archive_analyzer.cc b/chrome/utility/safe_browsing/archive_analyzer.cc ---- a/chrome/utility/safe_browsing/archive_analyzer.cc -+++ b/chrome/utility/safe_browsing/archive_analyzer.cc -@@ -24,7 +24,7 @@ namespace safe_browsing { - std::unique_ptr ArchiveAnalyzer::CreateForArchiveType( - DownloadFileType_InspectionType file_type) { - if (file_type == DownloadFileType::RAR) { -- return std::make_unique(); -+ return nullptr; - } else if (file_type == DownloadFileType::ZIP) { - return std::make_unique(); - } else if (file_type == DownloadFileType::SEVEN_ZIP) { --- diff --git a/build/patches/Disable-text-fragments-by-default.patch b/build/patches/Disable-text-fragments-by-default.patch index 66c5eaf4..9ce58fd0 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 -@@ -383,7 +383,7 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -374,7 +374,7 @@ void PrefsTabHelper::RegisterProfilePrefs( registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true); registry->RegisterStringPref(prefs::kPrefixedVideoFullscreenApiAvailability, "runtime-enabled"); @@ -34,7 +34,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -291,6 +291,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -288,6 +288,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { #endif {wf::EnableTouchDragAndContextMenu, raw_ref(features::kTouchDragAndContextMenu)}, @@ -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 -@@ -4599,9 +4599,14 @@ void Document::SetURL(const KURL& url) { +@@ -4606,9 +4606,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 -@@ -3972,10 +3972,9 @@ +@@ -4047,10 +4047,9 @@ }, { name: "TextFragmentIdentifiers", diff --git a/build/patches/Disable-third-party-origin-trials.patch b/build/patches/Disable-third-party-origin-trials.patch index 3db71015..1ca3ae21 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 -@@ -8971,7 +8971,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { +@@ -9048,7 +9048,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { void NavigationRequest::ForceEnableOriginTrials( const std::vector& trials) { DCHECK(!HasCommitted()); @@ -141,7 +141,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(), -@@ -662,7 +647,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -667,7 +652,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.HasUserGesture(), info->url_request.HasTextFragmentToken(), info->should_check_main_world_content_security_policy, @@ -193,7 +193,7 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t 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 -@@ -188,13 +188,6 @@ namespace { +@@ -191,13 +191,6 @@ namespace { Vector CopyInitiatorOriginTrials( const WebVector& initiator_origin_trial_features) { Vector result; @@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -208,18 +201,12 @@ WebVector CopyInitiatorOriginTrials( +@@ -211,18 +204,12 @@ WebVector CopyInitiatorOriginTrials( Vector CopyForceEnabledOriginTrials( const WebVector& force_enabled_origin_trials) { Vector result; @@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -3070,10 +3057,6 @@ void DocumentLoader::CreateParserPostCommit() { +@@ -3096,10 +3083,6 @@ void DocumentLoader::CreateParserPostCommit() { mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection); } @@ -252,7 +252,7 @@ diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc --- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc +++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc -@@ -315,6 +315,9 @@ void OriginTrialContext::AddToken(const String& token) { +@@ -312,6 +312,9 @@ void OriginTrialContext::AddToken(const String& token) { void OriginTrialContext::AddTokenFromExternalScript( const String& token, const Vector>& external_origins) { @@ -262,7 +262,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context. Vector script_origins; for (const scoped_refptr& origin : external_origins) { OriginInfo origin_info = {.origin = origin, -@@ -470,8 +473,6 @@ bool OriginTrialContext::InstallSettingFeature( +@@ -449,8 +452,6 @@ bool OriginTrialContext::InstallSettingFeature( } void OriginTrialContext::AddFeature(mojom::blink::OriginTrialFeature feature) { @@ -271,12 +271,12 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context. } bool OriginTrialContext::IsFeatureEnabled( -@@ -515,6 +516,7 @@ void OriginTrialContext::AddForceEnabledTrials( +@@ -494,6 +495,7 @@ void OriginTrialContext::AddForceEnabledTrials( } bool OriginTrialContext::CanEnableTrialFromName(const StringView& trial_name) { + if ((true)) return false; - if (trial_name == "PrivacySandboxAdsAPIs") - return base::FeatureList::IsEnabled(features::kPrivacySandboxAdsAPIs); - + if (trial_name == "FledgeBiddingAndAuctionServer") { + return base::FeatureList::IsEnabled(features::kInterestGroupStorage) && + base::FeatureList::IsEnabled( -- diff --git a/build/patches/Disable-various-metrics.patch b/build/patches/Disable-various-metrics.patch index ba5e1e25..d54bd078 100644 --- a/build/patches/Disable-various-metrics.patch +++ b/build/patches/Disable-various-metrics.patch @@ -111,7 +111,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" -@@ -5106,16 +5105,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5304,16 +5303,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( content::NavigationHandle* handle) { std::vector> throttles; @@ -128,7 +128,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 -@@ -5223,10 +5212,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5421,10 +5410,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( } } @@ -188,7 +188,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn "most_visited_sites.cc", "most_visited_sites.h", "ntp_tile.cc", -@@ -97,7 +95,6 @@ source_set("unit_tests") { +@@ -98,7 +96,6 @@ source_set("unit_tests") { "custom_links_manager_impl_unittest.cc", "custom_links_store_unittest.cc", "icon_cacher_impl_unittest.cc", @@ -210,7 +210,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 -@@ -747,8 +747,6 @@ void MostVisitedSites::SaveTilesAndNotify( +@@ -771,8 +771,6 @@ void MostVisitedSites::SaveTilesAndNotify( : new_tiles; if (fixed_tiles.size() != new_tiles.size()) { diff --git a/build/patches/Disable-visited-pseudo-class.patch b/build/patches/Disable-visited-pseudo-class.patch index c208f373..5c495c85 100644 --- a/build/patches/Disable-visited-pseudo-class.patch +++ b/build/patches/Disable-visited-pseudo-class.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/visitedlink/browser/visitedlink_writer.cc --- a/components/visitedlink/browser/visitedlink_writer.cc +++ b/components/visitedlink/browser/visitedlink_writer.cc -@@ -237,7 +237,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context, +@@ -241,7 +241,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context, : browser_context_(browser_context), delegate_(delegate), listener_(std::make_unique(browser_context)), @@ -22,7 +22,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v VisitedLinkWriter::VisitedLinkWriter(Listener* listener, VisitedLinkDelegate* delegate, -@@ -247,10 +247,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener, +@@ -251,10 +251,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener, int32_t default_table_size) : delegate_(delegate), listener_(listener), @@ -35,7 +35,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v DCHECK(listener_); } -@@ -320,6 +320,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) { +@@ -324,6 +324,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) { } VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) { @@ -43,7 +43,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v // Extra check that we are not incognito. This should not happen. // TODO(boliu): Move this check to HistoryService when IsOffTheRecord is // removed from BrowserContext. -@@ -1049,7 +1050,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() { +@@ -1053,7 +1054,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() { // TODO(brettw) make sure we have reasonable salt! table_builder_ = new TableBuilder(this, salt_); @@ -54,7 +54,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc --- a/components/visitedlink/common/visitedlink_common.cc +++ b/components/visitedlink/common/visitedlink_common.cc -@@ -75,6 +75,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url, +@@ -79,6 +79,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url, } bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const { diff --git a/build/patches/Disable-wip-Android-Hub.patch b/build/patches/Disable-wip-Android-Hub.patch deleted file mode 100644 index 3c5446a6..00000000 --- a/build/patches/Disable-wip-Android-Hub.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: uazo -Date: Tue, 11 Jun 2024 13:33:20 +0000 -Subject: Disable wip Android Hub - -Temporarily disable android hub being still in work in progress ---- - .../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 2 +- - .../android/chrome_feature_list_cc/Disable-Android-Hub.inc | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc - -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 -@@ -557,7 +557,7 @@ public abstract class ChromeFeatureList { - newCachedFlag(ANDROID_APP_INTEGRATION, false); - public static final CachedFlag sAndroidElegantTextHeight = - newCachedFlag(ANDROID_ELEGANT_TEXT_HEIGHT, false); -- public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, true); -+ public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, false); - public static final CachedFlag sAndroidHubFloatingActionButton = - newCachedFlag( - ANDROID_HUB_FLOATING_ACTION_BUTTON, -diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc -new file mode 100644 ---- /dev/null -+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc -@@ -0,0 +1 @@ -+SET_CROMITE_FEATURE_DISABLED(kAndroidHub); --- diff --git a/build/patches/Disallow-Android-App-Scheme-as-referrer.patch b/build/patches/Disallow-Android-App-Scheme-as-referrer.patch index 1e438431..48929109 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 -@@ -548,11 +548,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -547,11 +547,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 47186ea5..5db6e772 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 -@@ -1500,8 +1500,6 @@ static_library("ui") { +@@ -1409,8 +1409,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 c888b015..c4edd0cc 100644 --- a/build/patches/Do-not-compile-QR-code-sharing.patch +++ b/build/patches/Do-not-compile-QR-code-sharing.patch @@ -14,7 +14,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 -@@ -3606,7 +3606,6 @@ generate_jni("chrome_jni_headers") { +@@ -3624,7 +3624,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", @@ -25,7 +25,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -114,7 +114,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; +@@ -118,7 +118,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; import org.chromium.chrome.browser.share.ShareUtils; @@ -33,7 +33,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController; -@@ -604,10 +603,6 @@ public class RootUiCoordinator +@@ -592,10 +591,6 @@ public class RootUiCoordinator } public void onAttachFragment(Fragment fragment) { @@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/share/BUILD.gn b/chrome/browser/share/BUILD.gn --- a/chrome/browser/share/BUILD.gn +++ b/chrome/browser/share/BUILD.gn -@@ -45,7 +45,6 @@ source_set("share") { +@@ -47,7 +47,6 @@ source_set("share") { "link_to_text_bridge.cc", "page_info_sharing_bridge.cc", "page_info_sharing_bridge.h", diff --git a/build/patches/Do-not-store-passwords-by-default.patch b/build/patches/Do-not-store-passwords-by-default.patch index 136b2823..e3011b09 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 -@@ -277,14 +277,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) { +@@ -314,14 +314,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) { void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( @@ -27,7 +27,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(), PrefRegistry::NO_REGISTRATION_FLAGS); -@@ -324,9 +324,9 @@ void PasswordManager::RegisterProfilePrefs( +@@ -361,9 +361,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 5e0fd6bd..f7d6bea7 100644 --- a/build/patches/DoH-improvements.patch +++ b/build/patches/DoH-improvements.patch @@ -128,7 +128,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -639,6 +639,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) { +@@ -640,6 +640,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) { bool changed = dns_client_->SetConfigOverrides(std::move(overrides)); if (changed) { diff --git a/build/patches/Downstream-validate-opaque-origins-checking-their-precursor.patch b/build/patches/Downstream-validate-opaque-origins-checking-their-precursor.patch deleted file mode 100644 index 7a55ce3b..00000000 --- a/build/patches/Downstream-validate-opaque-origins-checking-their-precursor.patch +++ /dev/null @@ -1,201 +0,0 @@ -From: uazo -Date: Mon, 29 Jul 2024 10:22:46 +0000 -Subject: Downstream validate opaque origins checking their precursor - -commit https://source.chromium.org/chromium/chromium/src/+/4043b7370f9b845cd06f07296e115c7094662c66 ---- - content/browser/renderer_host/ipc_utils.cc | 55 +++++++++++++++---- - .../renderer_host/render_frame_host_impl.cc | 47 ++++++++++------ - .../renderer_host/render_frame_host_impl.h | 7 ++- - content/public/browser/render_frame_host.h | 2 +- - 4 files changed, 79 insertions(+), 32 deletions(-) - -diff --git a/content/browser/renderer_host/ipc_utils.cc b/content/browser/renderer_host/ipc_utils.cc ---- a/content/browser/renderer_host/ipc_utils.cc -+++ b/content/browser/renderer_host/ipc_utils.cc -@@ -12,6 +12,7 @@ - #include "content/browser/child_process_security_policy_impl.h" - #include "content/browser/renderer_host/frame_tree_node.h" - #include "content/browser/renderer_host/render_frame_host_impl.h" -+#include "content/common/features.h" - #include "content/common/frame.mojom.h" - #include "content/common/navigation_params_utils.h" - #include "content/public/browser/browser_context.h" -@@ -50,18 +51,48 @@ bool VerifyInitiatorOrigin( - const RenderFrameHostImpl* current_rfh = nullptr, - GURL* navigation_url = nullptr, - std::optional* initiator_frame_token = nullptr) { -- // TODO(acolwell, nasko): https://crbug.com/1029092: Ensure the precursor of -- // opaque origins matches the origin lock. One known problematic case are -- // reloads initiated from error pages - see the following -- // RenderFrameHostManagerTest tests: -- // 1. ErrorPageNavigationReload: -- // - renderer origin lock = chrome-error://chromewebdata/ -- // - precursor of initiator origin = http://127.0.0.1:.../ -- // 2. ErrorPageNavigationReload_InSubframe_BlockedByClient -- // - renderer origin lock = http://b.com:.../ -- // - precursor of initiator origin = http://c.com:.../ -- if (initiator_origin.opaque()) -- return true; -+ // from https://chromium-review.googlesource.com/c/chromium/src/+/5590305 -+ -+ // TODO(crbug.com/40109437): Ideally, origin verification should be performed -+ // even if `initiator_origin` is opaque, to ensure that the precursor origin -+ // matches the process lock. However, there are a couple of cases where this -+ // doesn't yet work, which are documented and skipped below. -+ if (initiator_origin.opaque()) { -+ // TODO(alexmos): This used to allow all opaque origins; this behavior is -+ // now behind a kill switch and should be removed once the rollout in M128 -+ // is complete. -+ if (!base::FeatureList::IsEnabled( -+ features::kAdditionalOpaqueOriginEnforcements)) { -+ return true; -+ } -+ -+ // Reloads initiated from error pages may currently lead to a precursor -+ // mismatch, since the error page loads with an opaque origin with the -+ // original URL's origin as its precursor, which may not match the error -+ // page's process lock. This is seen in the following -+ // RenderFrameHostManagerTest tests: -+ // 1. ErrorPageNavigationReload: -+ // - renderer origin lock = chrome-error://chromewebdata/ -+ // - precursor of initiator origin = http://127.0.0.1:.../ -+ // 2. ErrorPageNavigationReload_InSubframe_BlockedByClient -+ // - renderer origin lock = http://b.com:.../ -+ // - precursor of initiator origin = http://c.com:.../ -+ if (current_rfh && current_rfh->IsErrorDocument()) { -+ return true; -+ } -+ -+ // Certain (e.g., data:) navigations in subframes of MHTML documents may -+ // have precursor origins that do not match the process lock of the MHTML -+ // document. This is seen in NavigationMhtmlBrowserTest.DataIframe, where: -+ // - renderer origin lock = { file:/// sandboxed } -+ // - precursor of initiator origin = http://8.8.8.8/ -+ // Note that RenderFrameHostImpl::CanCommitOriginAndUrl() similarly allows -+ // such navigations to commit, and it also ensures that they can only commit -+ // in the main frame MHTML document's process. -+ if (current_rfh && current_rfh->IsMhtmlSubframe()) { -+ return true; -+ } -+ } - - auto* policy = ChildProcessSecurityPolicyImpl::GetInstance(); - if (!policy->HostsOrigin(process_id, initiator_origin)) { -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 -@@ -2525,7 +2525,7 @@ void RenderFrameHostImpl::GetOpenGraphMetadata( - } - } - --bool RenderFrameHostImpl::IsErrorDocument() { -+bool RenderFrameHostImpl::IsErrorDocument() const { - // This shouldn't be called before committing the document as this value is - // set during call to RenderFrameHostImpl::DidNavigate which happens after - // commit. -@@ -4596,6 +4596,16 @@ void RenderFrameHostImpl::SetOriginDependentStateOfNewFrame( - // object could be configured incorrectly if it were initialized before - // knowing the value of |last_committed_origin_|. More at crbug.com/1112959. - ResetPermissionsPolicy({}); -+ -+ // New empty frames created on error page documents are also considered error -+ // documents. Otherwise, site isolation enforcements would get confused by a -+ // non-error document attempting to do things in an error process. Error pages -+ // do not normally have subframes (or do window.open, which would also go -+ // through here), but it's possible to inject new frames into error pages via -+ // DevTools, for example. -+ if (creator_frame) { -+ is_error_document_ = creator_frame->is_error_document_; -+ } - } - - FrameTreeNode* RenderFrameHostImpl::AddChild( -@@ -10113,6 +10123,10 @@ void RenderFrameHostImpl::ResetWaitingState() { - page_close_state_ = PageCloseState::kNotClosing; - } - -+bool RenderFrameHostImpl::IsMhtmlSubframe() const { -+ return !is_main_frame() && GetMainFrame()->is_mhtml_document(); -+} -+ - CanCommitStatus RenderFrameHostImpl::CanCommitOriginAndUrl( - const url::Origin& origin, - const GURL& url, -@@ -10144,24 +10158,23 @@ CanCommitStatus RenderFrameHostImpl::CanCommitOriginAndUrl( - // which the frame was at the time of generating the MHTML - // (e.g. "http://localhost"). In such cases, don't verify the URL, but require - // the URL to commit in the process of the main frame. -- if (!is_main_frame()) { -+ if (IsMhtmlSubframe()) { - RenderFrameHostImpl* main_frame = GetMainFrame(); -- if (main_frame->is_mhtml_document()) { -- if (IsSameSiteInstance(main_frame)) -- return CanCommitStatus::CAN_COMMIT_ORIGIN_AND_URL; -- -- // If an MHTML subframe commits in a different process (even one that -- // appears correct for the subframe's URL), then we aren't correctly -- // loading it from the archive and should kill the renderer. -- static auto* const oopif_in_mhtml_page_key = -- base::debug::AllocateCrashKeyString( -- "oopif_in_mhtml_page", base::debug::CrashKeySize::Size32); -- base::debug::SetCrashKeyString( -- oopif_in_mhtml_page_key, -- is_mhtml_document() ? "is_mhtml_doc" : "not_mhtml_doc"); -- LogCanCommitOriginAndUrlFailureReason("oopif_in_mhtml_page"); -- return CanCommitStatus::CANNOT_COMMIT_URL; -+ if (IsSameSiteInstance(main_frame)) { -+ return CanCommitStatus::CAN_COMMIT_ORIGIN_AND_URL; - } -+ -+ // If an MHTML subframe commits in a different process (even one that -+ // appears correct for the subframe's URL), then we aren't correctly -+ // loading it from the archive and should kill the renderer. -+ static auto* const oopif_in_mhtml_page_key = -+ base::debug::AllocateCrashKeyString("oopif_in_mhtml_page", -+ base::debug::CrashKeySize::Size32); -+ base::debug::SetCrashKeyString( -+ oopif_in_mhtml_page_key, -+ is_mhtml_document() ? "is_mhtml_doc" : "not_mhtml_doc"); -+ LogCanCommitOriginAndUrlFailureReason("oopif_in_mhtml_page"); -+ return CanCommitStatus::CANNOT_COMMIT_URL; - } - - // Same-document navigations cannot change origins, as long as these checks -diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h ---- a/content/browser/renderer_host/render_frame_host_impl.h -+++ b/content/browser/renderer_host/render_frame_host_impl.h -@@ -556,7 +556,7 @@ class CONTENT_EXPORT RenderFrameHostImpl - void GetOpenGraphMetadata( - base::OnceCallback callback) - override; -- bool IsErrorDocument() override; -+ bool IsErrorDocument() const override; - DocumentRef GetDocumentRef() override; - WeakDocumentPtr GetWeakDocumentPtr() override; - void EnableMojoJsBindings( -@@ -1717,7 +1717,10 @@ class CONTENT_EXPORT RenderFrameHostImpl - network::mojom::WebSandboxFlags active_sandbox_flags() { - return policy_container_host_->sandbox_flags(); - } -- bool is_mhtml_document() { return is_mhtml_document_; } -+ bool is_mhtml_document() const { return is_mhtml_document_; } -+ -+ // Returns whether this document is a subframe of a MHTML document. -+ bool IsMhtmlSubframe() const; - - ReloadType reload_type() { return reload_type_; } - -diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h ---- a/content/public/browser/render_frame_host.h -+++ b/content/public/browser/render_frame_host.h -@@ -1061,7 +1061,7 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, - // site can’t be reached". - // This can't be called for pending commit RFH because the value is set - // during call to RenderFrameHostImpl::DidNavigate which happens after commit. -- virtual bool IsErrorDocument() = 0; -+ virtual bool IsErrorDocument() const = 0; - - // Return checked and weak references, respectively, to the current document - // in this RenderFrameHost, which will be no longer valid once the --- diff --git a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch index d64e7a00..36860ff6 100644 --- a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch +++ b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch @@ -11,10 +11,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/version.gni b/chrome/version.gni --- a/chrome/version.gni +++ b/chrome/version.gni -@@ -76,7 +76,7 @@ if (is_mac) { - "trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" " - _version_dictionary_template += +@@ -78,7 +78,7 @@ if (is_mac) { "trichrome_auto_64_version_code = \"@TRICHROME_AUTO_64_VERSION_CODE@\" " + _version_dictionary_template += + "trichrome_desktop_64_version_code = \"@TRICHROME_DESKTOP_64_VERSION_CODE@\" " - if (target_cpu == "arm64") { + if (target_cpu == "arm64" || target_cpu == "x64") { _version_dictionary_template += "trichrome_64_32_high_version_code = \"@TRICHROME_64_32_HIGH_VERSION_CODE@\" " @@ -23,7 +23,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 -@@ -318,9 +318,11 @@ const base::FeatureParam kADPFBoostTimeout{ +@@ -289,9 +289,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 0ed7f62a..3e4873cb 100644 --- a/build/patches/Enable-Certificate-Transparency.patch +++ b/build/patches/Enable-Certificate-Transparency.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features.h --- a/chrome/browser/browser_features.h +++ b/chrome/browser/browser_features.h -@@ -21,6 +21,7 @@ namespace features { +@@ -25,6 +25,7 @@ BASE_DECLARE_FEATURE(kAllowUnmutedAutoplayForTWA); BASE_DECLARE_FEATURE(kAutocompleteActionPredictorConfidenceCutoff); BASE_DECLARE_FEATURE(kBookmarksTreeView); BASE_DECLARE_FEATURE(kBookmarkTriggerForPrerender2); @@ -35,7 +35,7 @@ diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -1032,7 +1032,7 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { +@@ -1012,7 +1012,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-Do-Not-Track-by-default.patch b/build/patches/Enable-Do-Not-Track-by-default.patch index 1d705767..ad0c1435 100644 --- a/build/patches/Enable-Do-Not-Track-by-default.patch +++ b/build/patches/Enable-Do-Not-Track-by-default.patch @@ -10,13 +10,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc --- a/components/privacy_sandbox/tracking_protection_prefs.cc +++ b/components/privacy_sandbox/tracking_protection_prefs.cc -@@ -70,7 +70,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -78,7 +78,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kFingerprintingProtectionEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( - prefs::kEnableDoNotTrack, false, + prefs::kEnableDoNotTrack, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); + registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false); registry->RegisterBooleanPref(prefs::kEnableGPC, true); - } -- diff --git a/build/patches/Enable-Document-Open-Inheritance-Removal.patch b/build/patches/Enable-Document-Open-Inheritance-Removal.patch index e65e89c1..78b352eb 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 -@@ -3537,70 +3537,6 @@ void Document::open(LocalDOMWindow* entered_window, +@@ -3554,70 +3554,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 -@@ -1359,7 +1359,6 @@ +@@ -1439,7 +1439,6 @@ { name: "DocumentOpenSandboxInheritanceRemoval", status: "stable", diff --git a/build/patches/Enable-Global-Privacy-Control.patch b/build/patches/Enable-Global-Privacy-Control.patch index 64521771..82d810af 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 -@@ -965,6 +965,7 @@ chrome_java_sources = [ +@@ -961,6 +961,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", @@ -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 -@@ -2294,6 +2294,21 @@ +@@ -2296,6 +2296,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 -@@ -371,6 +371,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -375,6 +375,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kTrackingProtectionLevel] = settings_api::PrefType::kNumber; (*s_allowlist)[::prefs::kEnableDoNotTrack] = settings_api::PrefType::kBoolean; @@ -231,19 +231,19 @@ 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 -@@ -115,6 +115,7 @@ build_webui("build") { +@@ -118,6 +118,7 @@ build_webui("build") { "privacy_page/cookies_page.ts", "privacy_page/fingerprint_progress_arc.ts", "privacy_page/do_not_track_toggle.ts", + "privacy_page/gpc_toggle.ts", "privacy_page/personalization_options.ts", + "privacy_page/privacy_guide/privacy_guide_ad_topics_fragment.ts", "privacy_page/privacy_guide/privacy_guide_completion_fragment.ts", - "privacy_page/privacy_guide/privacy_guide_cookies_fragment.ts", diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.html b/chrome/browser/resources/settings/privacy_page/cookies_page.html --- a/chrome/browser/resources/settings/privacy_page/cookies_page.html +++ b/chrome/browser/resources/settings/privacy_page/cookies_page.html -@@ -256,6 +256,8 @@ - +@@ -295,6 +295,8 @@ + + @@ -439,7 +439,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/pref_watcher.cc --- a/chrome/browser/ui/prefs/pref_watcher.cc +++ b/chrome/browser/ui/prefs/pref_watcher.cc -@@ -164,6 +164,10 @@ void PrefWatcher::OnDoNotTrackEnabledChanged() { +@@ -165,6 +165,10 @@ void PrefWatcher::OnDoNotTrackEnabledChanged() { UpdateRendererPreferences(); } @@ -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 -@@ -1741,6 +1741,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1758,6 +1758,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}, @@ -477,10 +477,10 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc --- a/components/privacy_sandbox/tracking_protection_prefs.cc +++ b/components/privacy_sandbox/tracking_protection_prefs.cc -@@ -72,6 +72,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { - registry->RegisterBooleanPref( +@@ -81,6 +81,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kEnableDoNotTrack, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); + registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false); + registry->RegisterBooleanPref(prefs::kEnableGPC, true); } @@ -488,19 +488,19 @@ diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/component diff --git a/components/privacy_sandbox/tracking_protection_prefs.h b/components/privacy_sandbox/tracking_protection_prefs.h --- a/components/privacy_sandbox/tracking_protection_prefs.h +++ b/components/privacy_sandbox/tracking_protection_prefs.h -@@ -110,6 +110,8 @@ inline constexpr char kFingerprintingProtectionEnabled[] = +@@ -120,6 +120,8 @@ inline constexpr char kFingerprintingProtectionEnabled[] = // Whether to send the DNT header. inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track"; +inline constexpr char kEnableGPC[] = "enable_gpc"; + - } // namespace prefs - - namespace privacy_sandbox::tracking_protection { + // Whether User Bypass 3PC exceptions have been migrated to Tracking Protection + // exceptions. + inline constexpr char kUserBypass3pcExceptionsMigrated[] = diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/components/privacy_sandbox/tracking_protection_settings.cc --- a/components/privacy_sandbox/tracking_protection_settings.cc +++ b/components/privacy_sandbox/tracking_protection_settings.cc -@@ -39,6 +39,11 @@ TrackingProtectionSettings::TrackingProtectionSettings( +@@ -40,6 +40,11 @@ TrackingProtectionSettings::TrackingProtectionSettings( base::BindRepeating( &TrackingProtectionSettings::OnDoNotTrackEnabledPrefChanged, base::Unretained(this))); @@ -512,7 +512,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon pref_change_registrar_.Add( prefs::kFingerprintingProtectionEnabled, base::BindRepeating( -@@ -185,6 +190,10 @@ void TrackingProtectionSettings::MaybeInitializeIppPref() { +@@ -200,6 +205,10 @@ void TrackingProtectionSettings::MaybeInitializeIppPref() { pref_service_->SetBoolean(prefs::kIpProtectionInitializedByDogfood, true); } @@ -523,7 +523,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon void TrackingProtectionSettings::OnEnterpriseControlForPrefsChanged() { if (!IsTrackingProtection3pcdEnabled()) { return; -@@ -223,6 +232,12 @@ void TrackingProtectionSettings::OnDoNotTrackEnabledPrefChanged() { +@@ -267,6 +276,12 @@ void TrackingProtectionSettings::OnDoNotTrackEnabledPrefChanged() { } } @@ -539,7 +539,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon diff --git a/components/privacy_sandbox/tracking_protection_settings.h b/components/privacy_sandbox/tracking_protection_settings.h --- a/components/privacy_sandbox/tracking_protection_settings.h +++ b/components/privacy_sandbox/tracking_protection_settings.h -@@ -42,6 +42,8 @@ class TrackingProtectionSettings +@@ -43,6 +43,8 @@ class TrackingProtectionSettings // Returns whether "do not track" is enabled. bool IsDoNotTrackEnabled() const; @@ -548,7 +548,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.h b/compone // Returns whether tracking protection for 3PCD (prefs + UX) is enabled. bool IsTrackingProtection3pcdEnabled() const; -@@ -86,6 +88,7 @@ class TrackingProtectionSettings +@@ -89,6 +91,7 @@ class TrackingProtectionSettings // Callbacks for pref observation. void OnDoNotTrackEnabledPrefChanged(); @@ -587,7 +587,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 -@@ -4475,6 +4475,10 @@ void RenderFrameImpl::WillSendRequestInternal( +@@ -4473,6 +4473,10 @@ void RenderFrameImpl::WillSendRequestInternal( request.SetHttpHeaderField( blink::WebString::FromUTF8(blink::kDoNotTrackHeader), "1"); } @@ -671,7 +671,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 -@@ -1265,6 +1265,11 @@ static_idl_files_in_modules = [ +@@ -1261,6 +1261,11 @@ static_idl_files_in_modules = [ "//third_party/blink/renderer/modules/xr/xr_webgl_sub_image.idl", ] @@ -686,7 +686,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 -@@ -3502,6 +3502,9 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3540,6 +3540,9 @@ void WebViewImpl::UpdateRendererPreferences( GetSettings()->SetCaretBrowsingEnabled( renderer_preferences_.caret_browsing_enabled); @@ -699,7 +699,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 -@@ -174,6 +174,10 @@ component("modules") { +@@ -173,6 +173,10 @@ component("modules") { "//third_party/blink/renderer/modules/xr", ] @@ -811,7 +811,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 -@@ -1886,6 +1886,11 @@ +@@ -2022,6 +2022,11 @@ status: "stable", base_feature: "none", }, diff --git a/build/patches/Enable-ImprovedBookmarks-by-default.patch b/build/patches/Enable-ImprovedBookmarks-by-default.patch index 0d148e8c..dcdc3cec 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 -@@ -845,7 +845,7 @@ public abstract class ChromeFeatureList { +@@ -870,7 +870,7 @@ public abstract class ChromeFeatureList { public static final MutableFlagWithSafeDefault sAdaptiveButtonInTopToolbarCustomizationV2 = newMutableFlagWithSafeDefault(ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2, false); public static final MutableFlagWithSafeDefault sAndroidImprovedBookmarks = @@ -90,7 +90,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f + newMutableFlagWithSafeDefault(ANDROID_IMPROVED_BOOKMARKS, true); public static final MutableFlagWithSafeDefault sAndroidTabDeclutter = newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER, false); - public static final MutableFlagWithSafeDefault sAndroidTabDeclutterRescueKillSwitch = + public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveAllButActiveTab = diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc --- a/components/bookmarks/browser/bookmark_node.cc +++ b/components/bookmarks/browser/bookmark_node.cc diff --git a/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch b/build/patches/Enable-StrictOriginIsolation-and-SitePerProcess.patch index 2ff98adf..336d4972 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 -@@ -1531,7 +1531,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1560,7 +1560,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( registry->RegisterFilePathPref(prefs::kDiskCacheDir, base::FilePath()); registry->RegisterIntegerPref(prefs::kDiskCacheSize, 0); registry->RegisterStringPref(prefs::kIsolateOrigins, std::string()); @@ -29,7 +29,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch registry->RegisterBooleanPref(prefs::kTabFreezingEnabled, true); registry->RegisterIntegerPref(prefs::kSCTAuditingHashdanceReportCount, 0); #if BUILDFLAG(IS_CHROMEOS) -@@ -1552,7 +1552,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1581,7 +1581,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 1feea0d6..440b6b24 100644 --- a/build/patches/Enable-darken-websites-checkbox-in-themes.patch +++ b/build/patches/Enable-darken-websites-checkbox-in-themes.patch @@ -14,7 +14,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 -@@ -1850,9 +1850,9 @@ +@@ -1877,9 +1877,9 @@ "expiry_milestone": -1 }, { @@ -26,7 +26,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js + "expiry_milestone": -1 }, { - "name": "dcheck-is-fatal", + "name": "dawn-si-reps-use-client-provided-internal-usages", diff --git a/cromite_flags/components/content_settings/core/common/features_cc/Enable-darken-websites-checkbox-in-themes.inc b/cromite_flags/components/content_settings/core/common/features_cc/Enable-darken-websites-checkbox-in-themes.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Enable-gwp-asan-on-Android.patch b/build/patches/Enable-gwp-asan-on-Android.patch index 1360cd36..80005288 100644 --- a/build/patches/Enable-gwp-asan-on-Android.patch +++ b/build/patches/Enable-gwp-asan-on-Android.patch @@ -21,7 +21,7 @@ in android there is a test function accessible in the developer settings. diff --git a/android_webview/lib/aw_main_delegate.cc b/android_webview/lib/aw_main_delegate.cc --- a/android_webview/lib/aw_main_delegate.cc +++ b/android_webview/lib/aw_main_delegate.cc -@@ -399,7 +399,7 @@ void AwMainDelegate::InitializeMemorySystem(const bool is_browser_process) { +@@ -396,7 +396,7 @@ void AwMainDelegate::InitializeMemorySystem(const bool is_browser_process) { const std::string process_type = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( switches::kProcessType); @@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting 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 -@@ -2004,7 +2004,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { +@@ -2017,7 +2017,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { const std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); const bool is_browser_process = process_type.empty(); @@ -244,7 +244,7 @@ diff --git a/components/gwp_asan/client/gwp_asan.cc b/components/gwp_asan/client diff --git a/components/memory_system/memory_system.cc b/components/memory_system/memory_system.cc --- a/components/memory_system/memory_system.cc +++ b/components/memory_system/memory_system.cc -@@ -197,6 +197,7 @@ void MemorySystem::Impl::Initialize( +@@ -199,6 +199,7 @@ void MemorySystem::Impl::Initialize( if (gwp_asan_parameters) { InitializeGwpASan(*gwp_asan_parameters, initialization_data); diff --git a/build/patches/Enable-menu-on-reload-button.patch b/build/patches/Enable-menu-on-reload-button.patch index bc84e9a1..a99d0094 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 -@@ -4777,10 +4777,10 @@ are declared in tools/grit/grit_rule.gni. +@@ -4762,10 +4762,10 @@ are declared in tools/grit/grit_rule.gni. Normal Reload @@ -30,7 +30,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -558,7 +558,7 @@ void ToolbarView::Update(WebContents* tab) { +@@ -574,7 +574,7 @@ void ToolbarView::Update(WebContents* tab) { } if (reload_) diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index ff9bce38..4041d642 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -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 | 34 +------- + .../ui/autofill/autofill_client_provider.cc | 68 +-------------- .../ui/autofill/autofill_client_provider.h | 6 -- chrome/browser/ui/tab_helpers.cc | 4 +- components/android_autofill/browser/BUILD.gn | 1 + @@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../autofill/core/common/autofill_features.h | 4 - .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 ++ - 32 files changed, 268 insertions(+), 96 deletions(-) + 32 files changed, 268 insertions(+), 130 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 @@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java -@@ -436,8 +436,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -457,8 +457,7 @@ public class MainSettings extends ChromeBaseSettingsFragment private void updateAutofillPreferences() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O @@ -214,7 +214,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. -@@ -984,6 +991,11 @@ class TabImpl implements Tab { +@@ -995,6 +1002,11 @@ class TabImpl implements Tab { for (TabObserver observer : mObservers) observer.onDestroyed(this); mObservers.clear(); @@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1256,8 +1268,7 @@ class TabImpl implements Tab { +@@ -1267,8 +1279,7 @@ class TabImpl implements Tab { */ boolean providesAutofillStructure() { // TODO(b/326231439): Check pref and AutofillService! @@ -236,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav } // Forwarded from TabWebContentsDelegateAndroid. -@@ -1972,15 +1983,20 @@ class TabImpl implements Tab { +@@ -1999,15 +2010,20 @@ class TabImpl implements Tab { * @return true if the the provider is available for the given WebContents. */ private boolean prepareAutofillProvider(WebContents newWebContents) { @@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mAutofillProvider = new AutofillProvider( getContext(), -@@ -1989,7 +2005,16 @@ class TabImpl implements Tab { +@@ -2016,7 +2032,16 @@ class TabImpl implements Tab { getContext().getString(R.string.app_name)); TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid); } @@ -284,7 +284,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 -@@ -3948,19 +3948,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations +@@ -3918,19 +3918,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations kAutofillGranularFillingAvailableVariationWithExpandControlVisibleOnSelectionOnly), nullptr}}; @@ -304,7 +304,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::FeatureParam kDefaultBrowserPromptRefreshAggressive[] = { {"max_prompt_count", "-1"}, {"reprompt_duration", "7d"}, -@@ -6030,15 +6017,6 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6135,15 +6122,6 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_ANDROID) @@ -323,8 +323,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc --- a/chrome/browser/android/tab_android.cc +++ b/chrome/browser/android/tab_android.cc -@@ -360,8 +360,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) { - if (autofill::ContentAutofillClient::FromWebContents(web_contents_.get())) { +@@ -368,8 +368,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) { + ->MaybeInitKeyboardSuppressor(); return; } - android_autofill::AndroidAutofillClient::CreateForWebContents( @@ -336,7 +336,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_ diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn --- a/chrome/browser/autofill/android/BUILD.gn +++ b/chrome/browser/autofill/android/BUILD.gn -@@ -124,7 +124,7 @@ android_library("bottom_sheet_utils_java") { +@@ -125,7 +125,7 @@ android_library("bottom_sheet_utils_java") { generate_jni("jni_headers") { sources = [ "java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java", @@ -348,22 +348,22 @@ diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java -@@ -37,8 +37,8 @@ public class AutofillClientProviderUtils { - * Android: The AutofillManager exists, is enabled, and its provider is not Autofill with - * Google. +@@ -45,8 +45,8 @@ public class AutofillClientProviderUtils { + * @return {@link AndroidAutofillAvailabilityStatus.AVAILABLE} if Android Autofill can be used + * or a reason why it can't. */ - @CalledByNative - public static boolean isAllowedToUseAndroidAutofillFramework() { + public static int getAndroidAutofillFrameworkAvailability(PrefService prefs) { + if ((true)) return true; - if (sAllowedToUseAutofillFrameworkForTesting != null) { - return sAllowedToUseAutofillFrameworkForTesting; + if (sAndroidAutofillFrameworkAvailabilityForTesting != null) { + return sAndroidAutofillFrameworkAvailabilityForTesting; } 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 -@@ -652,12 +652,6 @@ const char kAutofillUpstreamUpdatedUiDescription[] = - "When enabled, shows different text and images in the UI of the credit " - "card upload save bubble."; +@@ -675,12 +675,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."; -const char kAutofillVirtualViewStructureAndroidName[] = - "Enable the setting to provide a virtual view structure for Autofill"; @@ -377,9 +377,9 @@ 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 -@@ -388,9 +388,6 @@ extern const char kAutofillSyncEwalletAccountsDescription[]; - extern const char kAutofillUpstreamUpdatedUiName[]; - extern const char kAutofillUpstreamUpdatedUiDescription[]; +@@ -399,9 +399,6 @@ extern const char kAutofillUpstreamUpdatedUiDescription[]; + extern const char kAutofillVcnEnrollRequestTimeoutName[]; + extern const char kAutofillVcnEnrollRequestTimeoutDescription[]; -extern const char kAutofillVirtualViewStructureAndroidName[]; -extern const char kAutofillVirtualViewStructureAndroidDescription[]; @@ -390,7 +390,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 -@@ -673,6 +673,12 @@ For more settings that use data to improve your Chrome experience, go to Save passwords @@ -406,53 +406,85 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/browser/ui/autofill/autofill_client_provider.cc --- a/chrome/browser/ui/autofill/autofill_client_provider.cc +++ b/chrome/browser/ui/autofill/autofill_client_provider.cc -@@ -13,7 +13,6 @@ +@@ -13,8 +13,6 @@ #if BUILDFLAG(IS_ANDROID) #include "base/android/jni_android.h" +-#include "chrome/browser/autofill/android/android_autofill_availability_status.h" -#include "chrome/browser/autofill/android/jni_headers/AutofillClientProviderUtils_jni.h" #include "chrome/browser/keyboard_accessory/android/manual_filling_controller_impl.h" #include "components/android_autofill/browser/android_autofill_client.h" #endif // BUILDFLAG(IS_ANDROID) -@@ -21,35 +20,14 @@ +@@ -22,66 +20,12 @@ namespace autofill { namespace { --bool UsesVirtualViewStructureForAutofill(const PrefService* prefs) { -#if BUILDFLAG(IS_ANDROID) -- if (!base::FeatureList::IsEnabled( -- features::kAutofillVirtualViewStructureAndroid)) { -- return false; +-AndroidAutofillAvailabilityStatus GetAndroidAutofillAvailabilityStatus( +- PrefService& prefs) { +- return static_cast( +- Java_AutofillClientProviderUtils_getAndroidAutofillFrameworkAvailability( +- base::android::AttachCurrentThread(), prefs.GetJavaObject())); +-} +-#endif +- +-#if BUILDFLAG(IS_ANDROID) +-void RecordAvailabilityStatus(AndroidAutofillAvailabilityStatus availability) { +- base::UmaHistogramEnumeration("Autofill.AndroidAutofillAvailabilityStatus", +- availability); +-} +- +-// Counts how often the Chrome pref is reset because an platform autofill +-// isn't allowed or doesn't fulfill all preconditions. +-void RecordWhetherAndroidPrefResets(PrefService& prefs, +- bool uses_platform_autofill) { +- const bool will_reset_pref = +- prefs.GetBoolean(prefs::kAutofillUsingVirtualViewStructure) && +- !uses_platform_autofill; +- base::UmaHistogramBoolean("Autofill.ResetAutofillPrefToChrome", +- will_reset_pref); +-} +-#endif // BUILDFLAG(IS_ANDROID) +- +-bool UsesVirtualViewStructureForAutofill(PrefService& prefs) { +-#if BUILDFLAG(IS_ANDROID) +- const AndroidAutofillAvailabilityStatus availability = +- GetAndroidAutofillAvailabilityStatus(prefs); +- RecordAvailabilityStatus(availability); +- switch (availability) { +- case AndroidAutofillAvailabilityStatus::kAvailable: +- return true; +- case AndroidAutofillAvailabilityStatus::kSettingTurnedOff: +- case AndroidAutofillAvailabilityStatus::kNotAllowedByPolicy: +- return false; +- case AndroidAutofillAvailabilityStatus::kAndroidVersionTooOld: +- case AndroidAutofillAvailabilityStatus::kAndroidAutofillManagerNotAvailable: +- case AndroidAutofillAvailabilityStatus::kAndroidAutofillNotSupported: +- case AndroidAutofillAvailabilityStatus::kUnknownAndroidAutofillService: +- case AndroidAutofillAvailabilityStatus::kAndroidAutofillServiceIsGoogle: +- return features:: +- kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck.Get(); - } -- if (!prefs->GetBoolean(prefs::kAutofillThirdPartyPasswordManagersAllowed)) { -- return false; -- } -- if (!prefs->GetBoolean(prefs::kAutofillUsingVirtualViewStructure)) { -- return false; -- } -- return features::kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck -- .Get() || -- Java_AutofillClientProviderUtils_isAllowedToUseAndroidAutofillFramework( -- base::android::AttachCurrentThread()); -#else - return false; -#endif // BUILDFLAG(IS_ANDROID) -} - +- } // namespace -AutofillClientProvider::AutofillClientProvider(PrefService* prefs) -- : uses_platform_autofill_(UsesVirtualViewStructureForAutofill(prefs)) { +- : uses_platform_autofill_(UsesVirtualViewStructureForAutofill(*prefs)) { +AutofillClientProvider::AutofillClientProvider(PrefService* prefs) { #if BUILDFLAG(IS_ANDROID) - // Ensure the pref is reset if platform autofill is restricted. +- RecordWhetherAndroidPrefResets(*prefs, uses_platform_autofill_); +- // Ensure the pref is reset if platform autofill is restricted. prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure, - uses_platform_autofill_); + true); #endif // BUILDFLAG(IS_ANDROID) } -@@ -57,15 +35,7 @@ AutofillClientProvider::~AutofillClientProvider() = default; +@@ -89,15 +33,7 @@ AutofillClientProvider::~AutofillClientProvider() = default; void AutofillClientProvider::CreateClientForWebContents( content::WebContents* web_contents) { @@ -488,7 +520,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 -@@ -382,9 +382,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents); chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents); chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents); @@ -573,7 +605,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java --- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java +++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java -@@ -193,13 +193,19 @@ public class AutofillProvider { +@@ -196,13 +196,19 @@ public class AutofillProvider { /** @return whether query autofill suggestion. */ public boolean shouldQueryAutofillSuggestion() { @@ -593,7 +625,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component FocusField focusField = mRequest.getFocusField(); mAutofillManager.requestAutofill( mContainerView, -@@ -259,6 +265,7 @@ public class AutofillProvider { +@@ -262,6 +268,7 @@ public class AutofillProvider { float width, float height, boolean hasServerPrediction) { @@ -685,7 +717,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }, source, Lift(source, std::forward(args))...); } -@@ -589,6 +596,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue( +@@ -592,6 +599,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue( void ContentAutofillDriver::Reset() { owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/false); autofill_manager_->Reset(); @@ -694,7 +726,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co } const mojo::AssociatedRemote& -@@ -601,6 +610,10 @@ ContentAutofillDriver::GetAutofillAgent() { +@@ -604,6 +613,10 @@ ContentAutofillDriver::GetAutofillAgent() { return autofill_agent_; } @@ -735,7 +767,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc --- a/components/autofill/content/browser/content_autofill_driver_factory.cc +++ b/components/autofill/content/browser/content_autofill_driver_factory.cc -@@ -21,6 +21,12 @@ +@@ -22,6 +22,12 @@ #include "content/public/browser/web_contents.h" #include "third_party/blink/public/common/features.h" @@ -748,7 +780,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory namespace autofill { class ScopedAutofillManagersObservation; -@@ -95,6 +101,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame( +@@ -98,6 +104,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame( // 5. `render_frame_host->~RenderFrameHostImpl()` finishes. if (render_frame_host->IsRenderFrameLive()) { driver = std::make_unique(render_frame_host, this); @@ -764,7 +796,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 -@@ -1250,12 +1250,16 @@ void AutofillAgent::ShowSuggestions( +@@ -1440,12 +1440,16 @@ void AutofillAgent::ShowSuggestions( password_generation_agent_->ShowPasswordGenerationSuggestions( input_element)) { is_popup_possibly_visible_ = true; @@ -781,12 +813,12 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components } } -@@ -1266,10 +1270,12 @@ void AutofillAgent::ShowSuggestions( - // parenthesis to not match a regex). In this specific case we are actually - // interested in whether the field is currently a password field, not whether - // it has ever been a password field. +@@ -1454,10 +1458,12 @@ void AutofillAgent::ShowSuggestions( + // IsPasswordFieldForAutofill() because we are interested in whether the field + // is *currently* a password field, not whether it has ever been a password + // field. +#if !BUILDFLAG(IS_ANDROID) - if (input_element && input_element.IsPasswordField /*disable presubmit*/ () && + if (input_element && input_element.IsPasswordField() && // nocheck !config_.query_password_suggestions) { return; } @@ -797,10 +829,10 @@ 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 -@@ -849,7 +849,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( +@@ -857,7 +857,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( void PasswordAutofillAgent::TrackAutofilledElement( - const blink::WebFormControlElement& element) { + const WebFormControlElement& element) { - autofill_agent_->TrackAutofilledElement(element); + // fix for https://github.com/bromite/bromite/issues/1570 + AutofillAgent* agent = autofill_agent_.get(); @@ -836,7 +868,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 -@@ -693,6 +693,8 @@ BrowserAutofillManager::~BrowserAutofillManager() { +@@ -696,6 +696,8 @@ BrowserAutofillManager::~BrowserAutofillManager() { // (due to a navigation). } @@ -848,7 +880,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 -@@ -146,6 +146,8 @@ class BrowserAutofillManager : public AutofillManager { +@@ -106,6 +106,8 @@ class BrowserAutofillManager : public AutofillManager { ~BrowserAutofillManager() override; @@ -856,11 +888,11 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/compo + // Whether the |field| should show an entry to scan a credit card. virtual bool ShouldShowScanCreditCard(const FormData& form, - const FormFieldData& field) const; + const FormFieldData& field); 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 -@@ -779,7 +779,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, +@@ -834,7 +834,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, BASE_FEATURE(kAutofillVirtualViewStructureAndroid, "AutofillVirtualViewStructureAndroid", base::FEATURE_DISABLED_BY_DEFAULT); @@ -872,7 +904,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 -@@ -242,10 +242,6 @@ BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid); +@@ -285,10 +285,6 @@ BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid); COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid); @@ -886,7 +918,7 @@ diff --git a/components/autofill/core/common/autofill_features.h b/components/au diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -66,6 +66,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -67,6 +67,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kAutofillCreditCardFidoAuthOfferCheckboxState, true); #endif @@ -895,7 +927,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto registry->RegisterIntegerPref(prefs::kAutocompleteLastVersionRetentionPolicy, 0); registry->RegisterStringPref(prefs::kAutofillUploadEncodingSeed, ""); -@@ -107,7 +109,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -109,7 +111,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #if BUILDFLAG(IS_ANDROID) registry->RegisterBooleanPref(prefs::kAutofillUsingVirtualViewStructure, @@ -907,7 +939,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 -@@ -100,6 +100,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] = +@@ -104,6 +104,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] = // retention policy was run. inline constexpr char kAutocompleteLastVersionRetentionPolicy[] = "autocomplete.retention_policy_last_version"; diff --git a/build/patches/Enable-percent-based-scrolling-on-Windows.patch b/build/patches/Enable-percent-based-scrolling-on-Windows.patch index 3db3146d..b0e63961 100644 --- a/build/patches/Enable-percent-based-scrolling-on-Windows.patch +++ b/build/patches/Enable-percent-based-scrolling-on-Windows.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -172,6 +172,9 @@ static_assert(!BUILDFLAG(IS_MAC) || +@@ -186,6 +186,9 @@ static_assert(!BUILDFLAG(IS_MAC) || BASE_FEATURE(kWindowsScrollingPersonality, "WindowsScrollingPersonality", kWindowsScrollingPersonalityDefaultStatus); diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch index 84882b11..fdd54b0b 100644 --- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch +++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch @@ -69,7 +69,7 @@ diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_c diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc --- a/media/base/win/mf_helpers.cc +++ b/media/base/win/mf_helpers.cc -@@ -18,6 +18,7 @@ +@@ -19,6 +19,7 @@ #include "base/check_op.h" #include "base/win/scoped_co_mem.h" #include "base/win/windows_version.h" @@ -77,7 +77,7 @@ diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc #include "media/base/audio_codecs.h" #include "media/base/audio_decoder_config.h" #include "media/base/channel_layout.h" -@@ -464,7 +465,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config, +@@ -467,7 +468,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config, size_t extra_size = wave_format_size - sizeof(WAVEFORMATEX); aac_wave_format->wfx.cbSize = static_cast(extra_size); @@ -131,7 +131,7 @@ diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_ #include "media/base/decoder_buffer.h" #include "media/base/limits.h" #include "media/base/media_log.h" -@@ -123,6 +124,16 @@ static void ReleaseVideoBufferImpl(void* opaque, uint8_t* data) { +@@ -120,6 +121,16 @@ static void ReleaseVideoBufferImpl(void* opaque, uint8_t* data) { // static bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) { @@ -184,7 +184,7 @@ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/supported_profile_helpers.cc --- a/media/gpu/windows/supported_profile_helpers.cc +++ b/media/gpu/windows/supported_profile_helpers.cc -@@ -252,7 +252,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( +@@ -248,7 +248,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( // // On Windows 7 the maximum resolution supported by media foundation is // 1920 x 1088. We use 1088 to account for 16x16 macro-blocks. @@ -196,7 +196,7 @@ diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/ SupportedResolutionRange h264_profile; h264_profile.min_resolution = kMinResolution; h264_profile.max_landscape_resolution = kDefaultMaxH264Resolution; -@@ -260,7 +264,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( +@@ -256,7 +260,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( // We don't have a way to map DXVA support to specific H.264 profiles, so just // mark all the common ones with the same level of support. constexpr VideoCodecProfile kSupportedH264Profiles[] = { diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch index aac64460..9d0e34ef 100644 --- a/build/patches/Enable-search-engine-settings-desktop-ui.patch +++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch @@ -60,7 +60,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ui/webui/BUILD.gn | 8 + ui/webui/resources/BUILD.gn | 10 + .../customize_color_scheme_mode/BUILD.gn | 2 +- - .../cr_components/customize_themes/BUILD.gn | 2 +- .../cr_components/help_bubble/BUILD.gn | 2 +- .../cr_components/theme_color_picker/BUILD.gn | 2 +- .../cr_elements/cr_dialog/cr_dialog.css | 2 +- @@ -70,7 +69,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, 1106 insertions(+), 62 deletions(-) + 62 files changed, 1105 insertions(+), 61 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 @@ -92,7 +91,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; -@@ -36,6 +39,13 @@ public class SettingsLauncherImpl implements SettingsLauncher { +@@ -39,6 +42,13 @@ public class SettingsLauncherImpl implements SettingsLauncher { public SettingsLauncherImpl() {} @@ -109,8 +108,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -314,6 +314,11 @@ are declared in tools/grit/grit_rule.gni. - +@@ -318,6 +318,11 @@ are declared in tools/grit/grit_rule.gni. + + @@ -121,7 +120,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources -@@ -500,7 +505,7 @@ are declared in tools/grit/grit_rule.gni. +@@ -504,7 +509,7 @@ are declared in tools/grit/grit_rule.gni. Disable @@ -133,7 +132,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 -@@ -2594,6 +2594,9 @@ +@@ -2596,6 +2596,9 @@ URL with %s in place of query @@ -411,7 +410,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 -@@ -3764,6 +3764,9 @@ static_library("browser") { +@@ -3745,6 +3745,9 @@ static_library("browser") { "//components/user_scripts/android", ] } @@ -424,7 +423,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 -@@ -145,6 +145,9 @@ +@@ -144,6 +144,9 @@ #endif #if BUILDFLAG(IS_ANDROID) @@ -432,9 +431,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/offline_pages/android/offline_page_auto_fetcher.h" - #include "chrome/browser/ui/webui/feed_internals/feed_internals.mojom.h" -@@ -1168,6 +1171,15 @@ void PopulateChromeWebUIFrameBinders( +@@ -1174,6 +1177,15 @@ void PopulateChromeWebUIFrameBinders( app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); #endif @@ -643,7 +642,7 @@ diff --git a/chrome/browser/resources/settings/search_engines_page/search_engine
$i18n{searchEnginesSearchEnginesExplanation}
-@@ -101,7 +106,10 @@ +@@ -102,7 +107,10 @@ hidden="[[!matchingOtherEngines_.length]]" engines="[[matchingOtherEngines_]]" scroll-target="[[subpageScrollTarget]]" @@ -863,9 +862,9 @@ 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 -@@ -1098,6 +1098,18 @@ static_library("ui") { - +@@ -1030,6 +1030,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" ] + sources += [ + "webui/settings/settings_ui_android.cc", @@ -1074,7 +1073,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" -@@ -588,6 +590,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -569,6 +571,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; } #endif // !BUILDFLAG(IS_ANDROID) @@ -1110,7 +1109,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui #include "third_party/skia/include/core/SkBitmap.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_scale_factor.h" -@@ -208,18 +212,22 @@ bool FaviconSource::ShouldServiceRequest( +@@ -206,18 +210,22 @@ bool FaviconSource::ShouldServiceRequest( const GURL& url, content::BrowserContext* browser_context, int render_process_id) { @@ -1133,7 +1132,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui void FaviconSource::OnFaviconDataAvailable( content::URLDataSource::GotDataCallback callback, -@@ -243,7 +251,11 @@ void FaviconSource::SendDefaultResponse( +@@ -241,7 +249,11 @@ void FaviconSource::SendDefaultResponse( parsed.device_scale_factor, parsed.force_light_mode ? false @@ -1145,7 +1144,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui return; } int icon_size = std::ceil(parsed.size_in_dip * parsed.device_scale_factor); -@@ -262,7 +274,11 @@ void FaviconSource::SendDefaultResponse( +@@ -260,7 +272,11 @@ void FaviconSource::SendDefaultResponse( SendDefaultResponse(std::move(callback), 16, 1.0f, force_light_mode ? false @@ -1157,7 +1156,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui } void FaviconSource::SendDefaultResponse( -@@ -272,6 +288,7 @@ void FaviconSource::SendDefaultResponse( +@@ -270,6 +286,7 @@ void FaviconSource::SendDefaultResponse( bool dark_mode) { int resource_id; switch (size_in_dip) { @@ -1165,7 +1164,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui case 64: resource_id = dark_mode ? IDR_DEFAULT_FAVICON_DARK_64 : IDR_DEFAULT_FAVICON_64; -@@ -280,6 +297,7 @@ void FaviconSource::SendDefaultResponse( +@@ -278,6 +295,7 @@ void FaviconSource::SendDefaultResponse( resource_id = dark_mode ? IDR_DEFAULT_FAVICON_DARK_32 : IDR_DEFAULT_FAVICON_32; break; @@ -1322,7 +1321,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 -@@ -2407,6 +2407,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { +@@ -2432,6 +2432,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { {"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL}, {"searchEnginesQueryURLExplanation", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION}, @@ -1331,7 +1330,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}, -@@ -3711,6 +3713,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3736,6 +3738,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, AddSystemStrings(html_source); #endif @@ -1858,8 +1857,8 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java --- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java +++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java -@@ -53,6 +53,8 @@ public interface SettingsLauncher { - int MANAGE_SYNC = 9; +@@ -56,6 +56,8 @@ public interface SettingsLauncher { + int FINANCIAL_ACCOUNTS = 10; } + void launchUrlInCustomTab(Context context, String url); @@ -1893,18 +1892,18 @@ 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 -@@ -36,6 +36,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES) +@@ -38,6 +38,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES) BASE_FEATURE(kSearchEngineChoiceTrigger, "SearchEngineChoiceTrigger", base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kSearchEngineChoiceTrigger); + #if BUILDFLAG(IS_ANDROID) COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES) - BASE_FEATURE(kSearchEngineChoiceAttribution, 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 -@@ -708,13 +708,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( +@@ -687,13 +687,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1921,7 +1920,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear return Add(std::move(template_url)); } -@@ -918,7 +920,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { +@@ -897,7 +899,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -1931,7 +1930,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear DCHECK(!IsCreatedByExtension(url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -930,6 +933,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, +@@ -909,6 +912,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, // The urls have changed, reset the favicon url. data.favicon_url = GURL(); } @@ -1942,7 +1941,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h --- a/components/search_engines/template_url_service.h +++ b/components/search_engines/template_url_service.h -@@ -255,7 +255,8 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -250,7 +250,8 @@ class TemplateURLService final : public WebDataServiceConsumer, TemplateURL* AddWithOverrides(std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1952,7 +1951,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc // Removes the keyword from the model. This deletes the supplied TemplateURL. // This fails if the supplied template_url is the default search provider. -@@ -319,7 +320,8 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -314,7 +315,8 @@ class TemplateURLService final : public WebDataServiceConsumer, void ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -2085,7 +2084,7 @@ diff --git a/ui/webui/BUILD.gn b/ui/webui/BUILD.gn diff --git a/ui/webui/resources/BUILD.gn b/ui/webui/resources/BUILD.gn --- a/ui/webui/resources/BUILD.gn +++ b/ui/webui/resources/BUILD.gn -@@ -79,6 +79,16 @@ generate_grd("build_grd") { +@@ -77,6 +77,16 @@ generate_grd("build_grd") { "$target_gen_dir/cr_components/managed_footnote/resources.grdp", "$target_gen_dir/cr_components/most_visited/resources.grdp", ] @@ -2114,18 +2113,6 @@ diff --git a/ui/webui/resources/cr_components/customize_color_scheme_mode/BUILD. mojom("mojom") { sources = [ "customize_color_scheme_mode.mojom" ] -diff --git a/ui/webui/resources/cr_components/customize_themes/BUILD.gn b/ui/webui/resources/cr_components/customize_themes/BUILD.gn ---- a/ui/webui/resources/cr_components/customize_themes/BUILD.gn -+++ b/ui/webui/resources/cr_components/customize_themes/BUILD.gn -@@ -5,7 +5,7 @@ - import("//mojo/public/tools/bindings/mojom.gni") - import("//ui/webui/resources/tools/build_webui.gni") - --assert(!is_android && !is_ios) -+assert(!is_ios) - - mojom("mojom") { - sources = [ "customize_themes.mojom" ] diff --git a/ui/webui/resources/cr_components/help_bubble/BUILD.gn b/ui/webui/resources/cr_components/help_bubble/BUILD.gn --- a/ui/webui/resources/cr_components/help_bubble/BUILD.gn +++ b/ui/webui/resources/cr_components/help_bubble/BUILD.gn diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index d8754356..c05e7642 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -35,7 +35,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni @@ -571,6 +571,7 @@ chrome_java_resources = [ - "java/res/layout/signin_activity.xml", + "java/res/layout/signin_settings_card_view.xml", "java/res/layout/status_indicator_container.xml", "java/res/layout/suggestions_tile_view_condensed.xml", + "java/res/layout/sharing_intent_content.xml", @@ -45,7 +45,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -1035,6 +1035,7 @@ chrome_java_sources = [ +@@ -1031,6 +1031,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", @@ -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 { +@@ -684,6 +685,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 -@@ -275,6 +275,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -286,6 +286,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReengagementNotification, &kSearchReadyOmniboxFeature, &kRelatedSearchesAllLanguage, + &kSharedIntentUI, &kReportParentalControlSitesChild, - &kSearchEnginesPromoV3, &kSearchInCCT, + &kSearchResumptionModuleAndroid, 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 -@@ -425,6 +425,7 @@ public abstract class ChromeFeatureList { +@@ -435,6 +435,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 -@@ -5514,6 +5514,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5764,6 +5764,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 33a58792..e483fb09 100644 --- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch +++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch @@ -28,7 +28,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts --- a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts +++ b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts -@@ -217,6 +217,9 @@ export class DebuggerModel extends SDKModel { +@@ -225,6 +225,9 @@ export class DebuggerModel extends SDKModel { Common.Settings.Settings.instance() .moduleSetting('disable-async-stack-traces') .addChangeListener(this.asyncStackTracesStateChanged, this); @@ -38,7 +38,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel. Common.Settings.Settings.instance() .moduleSetting('breakpoints-active') .addChangeListener(this.breakpointsActiveChanged, this); -@@ -230,6 +233,7 @@ export class DebuggerModel extends SDKModel { +@@ -238,6 +241,7 @@ export class DebuggerModel extends SDKModel { Common.Settings.Settings.instance() .moduleSetting('js-source-maps-enabled') .addChangeListener(event => this.#sourceMapManagerInternal.setEnabled((event.data as boolean))); @@ -46,7 +46,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel. const resourceTreeModel = (target.model(ResourceTreeModel) as ResourceTreeModel); if (resourceTreeModel) { -@@ -387,6 +391,11 @@ export class DebuggerModel extends SDKModel { +@@ -396,6 +400,11 @@ export class DebuggerModel extends SDKModel { return this.agent.invoke_setAsyncCallStackDepth({maxDepth}); } @@ -101,7 +101,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js --- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js +++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js -@@ -1346,6 +1346,10 @@ inspectorBackend.registerCommand("Debugger.restartFrame", [{"name": "callFrameId +@@ -1362,6 +1362,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 -@@ -4598,6 +4598,10 @@ export namespace ProtocolMapping { +@@ -4640,6 +4640,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 -@@ -4079,6 +4079,8 @@ declare namespace ProtocolProxyApi { +@@ -4123,6 +4123,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 -@@ -17831,6 +17831,10 @@ export namespace Debugger { +@@ -17977,6 +17977,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 -@@ -26939,8 +26939,17 @@ +@@ -27236,8 +27236,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, -@@ -30066,4 +30075,4 @@ +@@ -30363,4 +30372,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 -@@ -741,6 +741,7 @@ namespace internal { +@@ -743,6 +743,7 @@ namespace internal { /* AggregateError */ \ T(AllPromisesRejected, "All promises were rejected") \ T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \ @@ -210,7 +210,7 @@ diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h diff --git a/v8/src/debug/debug-interface.cc b/v8/src/debug/debug-interface.cc --- a/v8/src/debug/debug-interface.cc +++ b/v8/src/debug/debug-interface.cc -@@ -1020,6 +1020,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) { +@@ -1019,6 +1019,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) { reinterpret_cast(v8_isolate)->set_async_event_delegate(delegate); } @@ -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 -@@ -433,6 +433,9 @@ class V8_EXPORT_PRIVATE Debug { +@@ -435,6 +435,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(); -@@ -607,6 +610,8 @@ class V8_EXPORT_PRIVATE Debug { +@@ -611,6 +614,8 @@ class V8_EXPORT_PRIVATE Debug { // Termination exception because side effect check has failed. bool side_effect_check_failed_; @@ -260,7 +260,7 @@ diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc --- a/v8/src/execution/messages.cc +++ b/v8/src/execution/messages.cc -@@ -496,6 +496,7 @@ MaybeHandle MessageFormatter::TryFormat( +@@ -494,6 +494,7 @@ MaybeHandle MessageFormatter::TryFormat( MessageTemplate::kUndefinedOrNullToObject, MessageTemplate::kUnexpectedStrictReserved, MessageTemplate::kUnexpectedTokenIdentifier, diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 690b1308..326d5446 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -226,7 +226,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 -@@ -198,7 +198,11 @@ if (current_toolchain == default_toolchain) { +@@ -199,7 +199,11 @@ if (current_toolchain == default_toolchain) { sources = chrome_java_resources sources += [ "//chrome/android/java/res_app/layout/main.xml" ] @@ -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", -@@ -647,6 +651,7 @@ if (current_toolchain == default_toolchain) { +@@ -670,6 +674,7 @@ if (current_toolchain == default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -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; +@@ -147,6 +147,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 { +@@ -621,6 +623,8 @@ public class ProcessInitializationHandler { DefaultBrowserInfo.initBrowserFetcher(); @@ -309,7 +309,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni -@@ -24,6 +24,7 @@ import("//chrome/common/features.gni") +@@ -20,6 +20,7 @@ import("//chrome/common/features.gni") import("//components/feed/features.gni") import("//components/offline_pages/buildflags/features.gni") import("//device/vr/buildflags/buildflags.gni") @@ -317,7 +317,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni # Only used for testing, should not be shipped to end users. if (enable_offline_pages_harness) { -@@ -62,3 +63,5 @@ if (enable_cardboard) { +@@ -56,3 +57,5 @@ if (enable_cardboard) { "java/src/org/chromium/chrome/browser/vr/VrCompositorDelegateProviderImpl.java", ] } @@ -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 -@@ -3748,6 +3748,13 @@ static_library("browser") { +@@ -3729,6 +3729,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -343,18 +343,18 @@ 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 -@@ -175,6 +175,7 @@ +@@ -174,6 +174,7 @@ #include "components/ui_devtools/switches.h" #include "components/variations/variations_switches.h" #include "components/version_info/channel.h" +#include "components/user_scripts/common/user_scripts_features.h" #include "components/version_info/version_info.h" + #include "components/visited_url_ranking/public/features.h" #include "components/viz/common/features.h" - #include "components/viz/common/switches.h" 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 @@ +@@ -278,6 +278,7 @@ #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" @@ -362,7 +362,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/cart/cart_service.h" #include "chrome/browser/companion/core/promo_handler.h" -@@ -2065,6 +2066,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1854,6 +1855,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, translate::TranslatePrefs::RegisterProfilePrefs(registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -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 -@@ -531,6 +531,10 @@ +@@ -539,6 +539,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) { -@@ -1308,6 +1312,9 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1328,6 +1332,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 -@@ -115,6 +115,10 @@ +@@ -117,6 +117,10 @@ #include "extensions/common/manifest.h" #endif @@ -423,10 +423,10 @@ 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" -@@ -1526,6 +1530,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, - // initializing the supervised flag if necessary). +@@ -1529,6 +1533,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, ChildAccountServiceFactory::GetForProfile(profile)->Init(); SupervisedUserServiceFactory::GetForProfile(profile)->Init(); + ListFamilyMembersServiceFactory::GetForProfile(profile)->Init(); +#if BUILDFLAG(IS_ANDROID) + user_scripts::UserScriptsBrowserClient* userscript_client = + user_scripts::UserScriptsBrowserClient::GetInstance(); @@ -509,7 +509,7 @@ 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" -@@ -488,6 +489,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -479,6 +480,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIVersionHost) 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 -@@ -243,6 +243,12 @@ static_library("renderer") { +@@ -233,6 +233,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 @@ +@@ -255,6 +255,11 @@ #include "chrome/renderer/media/chrome_key_systems.h" #endif @@ -581,7 +581,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer using autofill::AutofillAgent; using autofill::PasswordAutofillAgent; using autofill::PasswordGenerationAgent; -@@ -451,6 +456,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -450,6 +455,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(extensions::kExtensionScheme)); #endif @@ -596,7 +596,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_SPELLCHECK) if (!spellcheck_) InitSpellCheck(); -@@ -614,6 +627,15 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -613,6 +626,15 @@ void ChromeContentRendererClient::RenderFrameCreated( render_frame, 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 -@@ -1637,6 +1659,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1640,6 +1662,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( -@@ -1646,6 +1679,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1649,6 +1682,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( -@@ -1655,6 +1699,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1658,6 +1702,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. #endif @@ -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 -@@ -338,6 +338,7 @@ +@@ -339,6 +339,7 @@ @@ -10476,12 +10476,12 @@ diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h PpapiMsgStart, + ExtensionMsgStart, NaClHostMsgStart, - GinJavaBridgeMsgStart, LastIPCMsgStart // Must come last. + }; diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1041,6 +1041,12 @@ +@@ -1048,6 +1048,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 602211f0..b06682af 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -190,7 +190,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -158,8 +158,6 @@ static_library("browser") { +@@ -160,8 +160,6 @@ static_library("browser") { "adblock/adblock_content_browser_client.h", "adblock/adblock_controller_factory.cc", "adblock/adblock_controller_factory.h", @@ -724,7 +724,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br 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 -@@ -6399,7 +6399,9 @@ ChromeContentBrowserClient:: +@@ -6613,7 +6613,9 @@ ChromeContentBrowserClient:: } bool ChromeContentBrowserClient::WillInterceptWebSocket( @@ -735,7 +735,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(ENABLE_EXTENSIONS) if (!frame) { return false; -@@ -6422,9 +6424,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( +@@ -6636,9 +6638,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( } void ChromeContentBrowserClient::CreateWebSocket( @@ -750,7 +750,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h -@@ -663,11 +663,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -675,11 +675,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { CreateURLLoaderHandlerForServiceWorkerNavigationPreload( int frame_tree_node_id, const network::ResourceRequest& resource_request) override; @@ -1002,15 +1002,15 @@ diff --git a/chrome/browser/extensions/api/eyeo_filtering_private/eyeo_filtering 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 -@@ -18,7 +18,6 @@ - #include "chrome/browser/accessibility/page_colors_factory.h" +@@ -19,7 +19,6 @@ #include "chrome/browser/affiliations/affiliation_service_factory.h" + #include "chrome/browser/ai/ai_manager_keyed_service_factory.h" #include "chrome/browser/adblock/adblock_controller_factory.h" -#include "chrome/browser/adblock/adblock_telemetry_service_factory.h" #include "chrome/browser/adblock/content_security_policy_injector_factory.h" #include "chrome/browser/adblock/element_hider_factory.h" #include "chrome/browser/adblock/resource_classification_runner_factory.h" -@@ -861,7 +860,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -873,7 +872,6 @@ void ChromeBrowserMainExtraPartsProfiles:: FakeSmartCardDeviceServiceFactory::GetInstance(); #endif adblock::AdblockControllerFactory::GetInstance(); @@ -1044,7 +1044,7 @@ diff --git a/chrome/browser/resources/adblock_internals/BUILD.gn b/chrome/browse 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 -@@ -62,6 +62,7 @@ build_webui("build") { +@@ -64,6 +64,7 @@ build_webui("build") { "a11y_page/a11y_page.ts", "about_page/about_page.ts", "ai_page/ai_page.ts", @@ -1052,7 +1052,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc "appearance_page/appearance_fonts_page.ts", "appearance_page/appearance_page.ts", "appearance_page/home_url_input.ts", -@@ -397,6 +398,7 @@ build_webui("build") { +@@ -401,6 +402,7 @@ build_webui("build") { ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", "//tools/typescript/definitions/chrome_event.d.ts", @@ -1610,7 +1610,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 -@@ -215,6 +215,10 @@ function createRoutes(): SettingsRoutes { +@@ -217,6 +217,10 @@ function createRoutes(): SettingsRoutes { r.FONTS = r.APPEARANCE.createChild('/fonts'); } @@ -1669,7 +1669,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" -@@ -382,6 +383,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -380,6 +381,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } } @@ -1678,7 +1678,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc AdblockWebContentObserver::CreateForWebContents( web_contents, adblock::SubscriptionServiceFactory::GetForBrowserContext( -@@ -390,7 +393,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -388,7 +391,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents->GetBrowserContext()), adblock::SitekeyStorageFactory::GetForBrowserContext( web_contents->GetBrowserContext()), @@ -1761,7 +1761,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext }, { "channel": "stable", "contexts": ["webui"], -@@ -523,7 +523,7 @@ +@@ -517,7 +517,7 @@ }, "eyeoFilteringPrivate": [{ "dependencies": ["permission:eyeoFilteringPrivate"], @@ -9900,7 +9900,7 @@ new file mode 100644 diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/browser/websockets/websocket_connector_impl.cc --- a/content/browser/websockets/websocket_connector_impl.cc +++ b/content/browser/websockets/websocket_connector_impl.cc -@@ -89,14 +89,14 @@ void WebSocketConnectorImpl::Connect( +@@ -90,14 +90,14 @@ void WebSocketConnectorImpl::Connect( const uint32_t options = GetContentClient()->browser()->GetWebSocketOptions(frame); @@ -9910,9 +9910,9 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br - frame, + process, frame, base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols, - site_for_cookies, has_storage_access, isolation_info_, - process_id_, frame_id_, origin_, options, - std::move(throttling_profile_id)), + site_for_cookies, storage_access_api_status, + isolation_info_, process_id_, frame_id_, origin_, + options, std::move(throttling_profile_id)), - url, site_for_cookies, user_agent, std::move(handshake_client)); + url, origin_, site_for_cookies, user_agent, std::move(handshake_client)); return; @@ -9921,7 +9921,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 -@@ -1048,7 +1048,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( +@@ -1065,7 +1065,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( DCHECK(browser_context); } @@ -9930,7 +9930,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b return false; } -@@ -1057,9 +1057,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { +@@ -1074,9 +1074,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { } void ContentBrowserClient::CreateWebSocket( @@ -9945,7 +9945,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 -@@ -1951,7 +1951,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1991,7 +1991,7 @@ class CONTENT_EXPORT ContentBrowserClient { scoped_refptr navigation_response_task_runner); // Returns true when the embedder wants to intercept a websocket connection. @@ -9954,7 +9954,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); -@@ -1973,9 +1973,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2013,9 +2013,11 @@ class CONTENT_EXPORT ContentBrowserClient { // Always called on the UI thread and only when the Network Service is // enabled. virtual void CreateWebSocket( @@ -10006,7 +10006,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc --- a/third_party/blink/renderer/core/css/style_engine.cc +++ b/third_party/blink/renderer/core/css/style_engine.cc -@@ -634,6 +634,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow( +@@ -640,6 +640,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow( } } @@ -10035,7 +10035,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/bl diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc --- a/third_party/blink/renderer/core/exported/web_document.cc +++ b/third_party/blink/renderer/core/exported/web_document.cc -@@ -288,6 +288,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( +@@ -291,6 +291,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( Document* document = Unwrap(); DCHECK(document); @@ -10052,7 +10052,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa auto* parsed_sheet = MakeGarbageCollected( MakeGarbageCollected(*document)); parsed_sheet->ParseString(source_code); -@@ -297,7 +307,7 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( +@@ -300,7 +310,7 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( if (IsValidAbpRule(parsed_sheet->RuleAt(n))) ++n; else { @@ -10061,7 +10061,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa parsed_sheet->WrapperDeleteRule(n); LOG(WARNING) << "[eyeo] Broken rule"; } -@@ -309,9 +319,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( +@@ -312,9 +322,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( {SchedulingPolicy::DisableBackForwardCache()}); } diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index 07ab9b8a..9b9cb316 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -18,10 +18,10 @@ 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 -@@ -415,7 +415,6 @@ group("gn_all") { +@@ -413,7 +413,6 @@ group("gn_all") { "//android_webview:empty_group", "//android_webview/test", - "//android_webview/tools/automated_ui_tests:webview_ui_test_app", + "//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk", - "//android_webview/tools/captured_sites_tests:captured_sites_test_app", "//android_webview/tools/sdk_sandbox", "//android_webview/tools/system_webview_shell", @@ -41,7 +41,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -186,6 +186,7 @@ static_library("safe_browsing") { +@@ -198,6 +198,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom:mojom", @@ -52,7 +52,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin 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 -@@ -96,8 +96,8 @@ void AutocompleteClassifier::Classify( +@@ -102,8 +102,8 @@ void AutocompleteClassifier::Classify( metrics::OmniboxEventProto::PageClassification page_classification, AutocompleteMatch* match, GURL* alternate_nav_url) { @@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc --- a/components/omnibox/browser/omnibox_field_trial.cc +++ b/components/omnibox/browser/omnibox_field_trial.cc -@@ -1068,11 +1068,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default; +@@ -1047,11 +1047,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default; ScopedMLConfigForTesting::ScopedMLConfigForTesting() : original_config_(std::make_unique(GetMLConfig())) { @@ -118,7 +118,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 -@@ -1630,6 +1630,7 @@ component("net") { +@@ -1666,6 +1666,7 @@ component("net") { if (!is_cronet_build) { deps += [ "//mojo/public/cpp/bindings:default_construct_tag" ] } diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch index d6d2ba7e..d265c6b3 100644 --- a/build/patches/Fonts-fingerprinting-mitigation.patch +++ b/build/patches/Fonts-fingerprinting-mitigation.patch @@ -65,7 +65,7 @@ new file mode 100644 diff --git a/skia/ext/skia_utils_win.cc b/skia/ext/skia_utils_win.cc --- a/skia/ext/skia_utils_win.cc +++ b/skia/ext/skia_utils_win.cc -@@ -365,6 +365,26 @@ void CreateBitmapHeaderForXRGB888(int width, +@@ -370,6 +370,26 @@ void CreateBitmapHeaderForXRGB888(int width, CreateBitmapHeaderWithColorDepth(width, height, 32, hdr); } @@ -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 -@@ -292,6 +292,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam +@@ -293,6 +293,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 -@@ -784,6 +784,7 @@ component("platform") { +@@ -786,6 +786,7 @@ component("platform") { "fonts/simple_font_data.cc", "fonts/simple_font_data.h", "fonts/skia/font_cache_skia.cc", @@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_party/blink/renderer/platform/fonts/font_cache.h --- a/third_party/blink/renderer/platform/fonts/font_cache.h +++ b/third_party/blink/renderer/platform/fonts/font_cache.h -@@ -310,7 +310,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -312,7 +312,7 @@ class PLATFORM_EXPORT FontCache final { sk_sp CreateTypeface(const FontDescription&, const FontFaceCreationParams&, @@ -527,7 +527,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 -@@ -427,6 +427,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -430,6 +430,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( sk_sp typeface; std::string name; @@ -535,7 +535,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (alternate_font_name == AlternateFontName::kLocalUniqueFace && RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) { -@@ -438,7 +439,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -441,7 +442,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( return nullptr; } else { @@ -544,7 +544,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 -@@ -472,7 +473,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -475,7 +476,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetWeight(variant_weight); typeface = @@ -553,7 +553,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; -@@ -484,7 +485,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -487,7 +488,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 c4ec96c0..c51d5a24 100644 --- a/build/patches/Guard-for-user-agent-reduction.patch +++ b/build/patches/Guard-for-user-agent-reduction.patch @@ -12,15 +12,15 @@ 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 -@@ -1591,7 +1591,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1620,7 +1620,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( registry->RegisterIntegerPref( prefs::kUserAgentReduction, static_cast( - embedder_support::UserAgentReductionEnterprisePolicyState::kDefault)); + embedder_support::UserAgentReductionEnterprisePolicyState::kForceEnabled)); registry->RegisterBooleanPref(prefs::kOriginAgentClusterDefaultEnabled, true); + registry->RegisterBooleanPref( - policy::policy_prefs::kIsolatedAppsDeveloperModeAllowed, true); diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc --- a/content/common/user_agent.cc +++ b/content/common/user_agent.cc @@ -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 -@@ -3251,23 +3251,23 @@ +@@ -3338,23 +3338,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/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 0bc14d44..d4305b64 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -155,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -37,6 +37,7 @@ +@@ -40,6 +40,7 @@ #include "components/content_settings/core/common/pref_names.h" #include "components/dom_distiller/core/pref_names.h" #include "components/drive/drive_pref_names.h" @@ -163,7 +163,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/embedder_support/pref_names.h" #include "components/language/core/browser/pref_names.h" #include "components/live_caption/pref_names.h" -@@ -210,6 +211,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -213,6 +214,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kShowForwardButton] = settings_api::PrefType::kBoolean; @@ -172,7 +172,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro + // Appearance settings. (*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString; - (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; + (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/history/history_service_factory.cc --- a/chrome/browser/history/history_service_factory.cc +++ b/chrome/browser/history/history_service_factory.cc @@ -188,7 +188,7 @@ diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -375,6 +375,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, +@@ -376,6 +376,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, void ProfileImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); @@ -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 -@@ -1282,6 +1282,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1290,6 +1290,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 -@@ -1814,6 +1814,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1831,6 +1831,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC}, {"safeBrowsingStandardDescUpdated", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC_UPDATED}, @@ -464,7 +464,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his // The maximum number of days for which domain visit metrics are computed // each time HistoryBackend::GetDomainDiversity() is called. -@@ -1311,6 +1311,19 @@ void HistoryBackend::InitImpl( +@@ -1312,6 +1312,19 @@ void HistoryBackend::InitImpl( expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } @@ -574,7 +574,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist // Triggers the backend to load if it hasn't already, and then returns whether // it's finished loading. // Note: Virtual needed for mocking. -@@ -1217,6 +1221,10 @@ class HistoryService : public KeyedService, +@@ -1215,6 +1219,10 @@ class HistoryService : public KeyedService, raw_ptr local_device_info_provider_ = nullptr; diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch index 2bc1a3ce..b4d6ea3c 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 -@@ -224,4 +224,12 @@ bool IsNetworkSandboxEnabled() { +@@ -240,4 +240,12 @@ bool IsNetworkSandboxEnabled() { #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) } diff --git a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch index c771ef43..e47fc78e 100644 --- a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch +++ b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch @@ -35,7 +35,7 @@ diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/r 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 -@@ -305,6 +305,7 @@ +@@ -310,6 +310,7 @@ #include "third_party/blink/renderer/core/page/pointer_lock_controller.h" #include "third_party/blink/renderer/core/page/scrolling/fragment_anchor.h" #include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h" @@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h" #include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h" #include "third_party/blink/renderer/core/page/spatial_navigation_controller.h" -@@ -384,6 +385,8 @@ +@@ -390,6 +391,8 @@ #include "third_party/blink/renderer/platform/wtf/text/string_buffer.h" #include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h" @@ -52,7 +52,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #ifndef NDEBUG using WeakDocumentSet = blink::HeapHashSet>; static WeakDocumentSet& LiveDocumentSet(); -@@ -7398,6 +7401,64 @@ void Document::OnPrepareToStopParsing() { +@@ -7422,6 +7425,64 @@ void Document::OnPrepareToStopParsing() { MilestoneForDelayedAsyncScript::kFinishedParsing); } @@ -117,7 +117,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink void Document::FinishedParsing() { TRACE_EVENT_WITH_FLOW0("blink", "Document::FinishedParsing", TRACE_ID_LOCAL(this), -@@ -7483,6 +7544,9 @@ void Document::FinishedParsing() { +@@ -7507,6 +7568,9 @@ void Document::FinishedParsing() { } frame->Loader().FinishedParsing(); @@ -130,7 +130,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 -@@ -2185,6 +2185,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2205,6 +2205,9 @@ class CORE_EXPORT Document : public ContainerNode, void AXContextModeChanged(); void ClearAXObjectCache(); diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch index 86d4bdce..3b0c7ad7 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 -@@ -2575,6 +2575,7 @@ static_library("browser") { +@@ -2563,6 +2563,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 -@@ -214,6 +214,7 @@ +@@ -213,6 +213,7 @@ #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" @@ -81,8 +81,8 @@ 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 -@@ -170,6 +170,36 @@ bool ShouldOpenPdfInline(DownloadItem* item) { - !item->IsMustDownload() && item->IsTransient(); +@@ -234,6 +234,36 @@ void RecordDownloadBlocklistState(download::DownloadItem* item) { + checker->Start(); } +const net::NetworkTrafficAnnotationTag traffic_annotation = @@ -118,7 +118,7 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro } // namespace static void JNI_DownloadController_OnAcquirePermissionResult( -@@ -216,7 +246,7 @@ static void JNI_DownloadController_DownloadUrl(JNIEnv* env, +@@ -280,7 +310,7 @@ static void JNI_DownloadController_DownloadUrl(JNIEnv* env, if (download_manager) { auto dl_params = std::make_unique( GURL(url), @@ -289,7 +289,7 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1049,6 +1049,7 @@ component("net") { +@@ -1079,6 +1079,7 @@ component("net") { "//build:chromeos_buildflags", "//components/miracle_parameter/common", "//net/http:transport_security_state_generated_files", @@ -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 -@@ -391,6 +391,9 @@ URLRequestHttpJob::URLRequestHttpJob( +@@ -421,6 +421,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() { -@@ -677,6 +680,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { +@@ -737,6 +740,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { void URLRequestHttpJob::StartTransactionInternal() { DCHECK(!override_response_headers_); @@ -346,7 +346,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque diff --git a/net/url_request/url_request_http_job.h b/net/url_request/url_request_http_job.h --- a/net/url_request/url_request_http_job.h +++ b/net/url_request/url_request_http_job.h -@@ -29,6 +29,7 @@ +@@ -30,6 +30,7 @@ #include "net/http/http_request_info.h" #include "net/socket/connection_attempts.h" #include "net/url_request/url_request_job.h" @@ -354,7 +354,7 @@ diff --git a/net/url_request/url_request_http_job.h b/net/url_request/url_reques namespace net { -@@ -79,6 +80,8 @@ class NET_EXPORT_PRIVATE URLRequestHttpJob : public URLRequestJob { +@@ -81,6 +82,8 @@ class NET_EXPORT_PRIVATE URLRequestHttpJob : public URLRequestJob { return priority_; } @@ -1647,15 +1647,15 @@ 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 -@@ -94,6 +94,7 @@ +@@ -96,6 +96,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" +#include "services/firewall/public/firewall_service.h" #include "services/network/brokered_client_socket_factory.h" #include "services/network/cookie_manager.h" - #include "services/network/cors/cors_url_loader_factory.h" -@@ -1680,6 +1681,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { + #include "services/network/data_remover_util.h" +@@ -1715,6 +1716,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)); } -@@ -1692,6 +1696,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1727,6 +1731,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), -@@ -1704,6 +1719,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1739,6 +1754,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), -@@ -1718,6 +1744,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1753,6 +1779,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), -@@ -1729,6 +1770,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1764,6 +1805,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), -@@ -1795,6 +1850,24 @@ void NetworkContext::CreateWebSocket( +@@ -1830,6 +1885,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const std::optional& throttling_profile_id) { @@ -1772,7 +1772,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network/public/cpp/simple_url_loader.cc --- a/services/network/public/cpp/simple_url_loader.cc +++ b/services/network/public/cpp/simple_url_loader.cc -@@ -1277,6 +1277,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( +@@ -1284,6 +1284,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( timeout_timer_(timeout_tick_clock_) { // Allow creation and use on different threads. DETACH_FROM_SEQUENCE(sequence_checker_); @@ -1781,7 +1781,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network #if DCHECK_IS_ON() if (resource_request_->request_body) { for (const DataElement& element : -@@ -1724,6 +1726,22 @@ void SimpleURLLoaderImpl::StartRequest( +@@ -1731,6 +1733,22 @@ void SimpleURLLoaderImpl::StartRequest( resource_request_->request_body->AppendDataPipe( string_upload_data_pipe_getter_->GetRemoteForNewUpload()); } @@ -1827,7 +1827,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc --- a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc +++ b/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc -@@ -118,32 +118,243 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag( +@@ -119,32 +119,243 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag( case network::mojom::RequestDestination::kIframe: case network::mojom::RequestDestination::kFrame: case network::mojom::RequestDestination::kFencedframe: @@ -2084,7 +2084,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/t semantics { sender: "Blink Resource Loader" description: -@@ -167,7 +378,7 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag( +@@ -168,7 +379,7 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag( case network::mojom::RequestDestination::kEmbed: case network::mojom::RequestDestination::kObject: return net::DefineNetworkTrafficAnnotation( diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch index f73d38d2..21bbe518 100644 --- a/build/patches/JIT-site-settings.patch +++ b/build/patches/JIT-site-settings.patch @@ -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 -@@ -589,7 +589,7 @@ void ContentSettingsRegistry::Init() { +@@ -600,7 +600,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit", @@ -287,7 +287,7 @@ 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 -@@ -3396,13 +3396,8 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3098,13 +3098,8 @@ void RenderProcessHostImpl::AppendRendererCommandLine( } if (IsJitDisabled()) { diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch index 65b0642e..e6c96f06 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 -@@ -707,11 +707,9 @@ +@@ -756,11 +756,9 @@ status: "experimental", }, { diff --git a/build/patches/Keep-Side-Panel-Companion-disabled.patch b/build/patches/Keep-Side-Panel-Companion-disabled.patch index 2833eea7..f12484c7 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 -@@ -1957,7 +1957,7 @@ GURL TemplateURL::GenerateSuggestionURL( +@@ -1999,7 +1999,7 @@ GURL TemplateURL::GenerateSuggestionURL( } bool TemplateURL::IsSideSearchSupported() const { diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index 41d16d53..d8533778 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -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 -@@ -1163,7 +1163,11 @@ void FetchManager::Loader::Failed( +@@ -1168,7 +1168,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()); -@@ -1183,7 +1187,11 @@ void FetchManager::Loader::Failed( +@@ -1188,7 +1192,11 @@ void FetchManager::Loader::Failed( V8String(GetScriptState()->GetIsolate(), IdentifiersFactory::IdFromToken(*issue_id))); } @@ -128,7 +128,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc b/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc --- a/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc +++ b/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc -@@ -254,17 +254,19 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart( +@@ -255,6 +255,12 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart( return; } @@ -141,8 +141,10 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory // Use |keep_alive_loader_factory_| to send the keepalive requests to the // KeepAliveURLLoaderService in the browser process and trigger the special // keepalive request handling. - // |keep_alive_loader_factory_| only presents when - // features::kKeepAliveInBrowserMigration is true. +@@ -263,12 +269,8 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart( + if (request.keepalive) { + FetchUtils::LogFetchKeepAliveRequestSentToServiceMetric(request); + } - if (request.keepalive && keep_alive_loader_factory_ && - base::FeatureList::IsEnabled(features::kKeepAliveInBrowserMigration) && - (request.attribution_reporting_eligibility == @@ -157,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 -@@ -2890,7 +2890,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -2912,7 +2912,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. @@ -169,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 -@@ -1664,10 +1664,9 @@ +@@ -1768,10 +1768,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 334c3569..ab14afb8 100644 --- a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch +++ b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc --- a/android_webview/common/aw_features.cc +++ b/android_webview/common/aw_features.cc -@@ -259,5 +259,7 @@ BASE_FEATURE(kCreateSpareRendererOnBrowserContextCreation, +@@ -256,5 +256,7 @@ BASE_FEATURE(kCreateSpareRendererOnBrowserContextCreation, "CreateSpareRendererOnBrowserContextCreation", base::FEATURE_DISABLED_BY_DEFAULT); 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 4017fd77..549db75e 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 -@@ -5117,9 +5117,9 @@ +@@ -5250,9 +5250,9 @@ "expiry_milestone": 120 }, { diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch index af4f500b..0c751f51 100644 --- a/build/patches/Keyboard-protection-flag.patch +++ b/build/patches/Keyboard-protection-flag.patch @@ -217,7 +217,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -213,6 +213,14 @@ BASE_FEATURE(kSystemKeyboardLock, +@@ -227,6 +227,14 @@ BASE_FEATURE(kSystemKeyboardLock, "SystemKeyboardLock", base::FEATURE_ENABLED_BY_DEFAULT); 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 2d6f7086..8d9ab7b7 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 -@@ -4704,6 +4704,14 @@ void Document::ProcessBaseElement() { +@@ -4711,6 +4711,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); } -@@ -4721,6 +4729,14 @@ void Document::ProcessBaseElement() { +@@ -4728,6 +4736,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 } } -@@ -4740,6 +4756,8 @@ void Document::ProcessBaseElement() { +@@ -4747,6 +4763,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 -@@ -2877,8 +2877,26 @@ void Element::StripScriptingAttributes( +@@ -2901,8 +2901,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 -@@ -669,7 +669,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { +@@ -667,7 +667,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { virtual bool HasLegalLinkAttribute(const QualifiedName&) const; // Only called by the parser immediately after element construction. @@ -128,7 +128,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/r diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc b/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc --- a/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc +++ b/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc -@@ -28,6 +28,8 @@ +@@ -33,6 +33,8 @@ #include "third_party/blink/renderer/core/editing/serializers/markup_formatter.h" #include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-shared.h" @@ -137,7 +137,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte #include "third_party/blink/renderer/core/dom/cdata_section.h" #include "third_party/blink/renderer/core/dom/comment.h" #include "third_party/blink/renderer/core/dom/document.h" -@@ -216,6 +218,13 @@ void MarkupFormatter::AppendAttributeValue(StringBuilder& result, +@@ -221,6 +223,13 @@ void MarkupFormatter::AppendAttributeValue(StringBuilder& result, const Document& document) { if (attribute.Contains('<') || attribute.Contains('>')) { document.CountUse(mojom::blink::WebFeature::kAttributeValueContainsLtOrGt); @@ -154,7 +154,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte diff --git a/third_party/blink/renderer/core/html/forms/html_form_element.cc b/third_party/blink/renderer/core/html/forms/html_form_element.cc --- a/third_party/blink/renderer/core/html/forms/html_form_element.cc +++ b/third_party/blink/renderer/core/html/forms/html_form_element.cc -@@ -318,7 +318,7 @@ void HTMLFormElement::PrepareForSubmission( +@@ -335,7 +335,7 @@ void HTMLFormElement::PrepareForSubmission( if (form_control_element && form_control_element->BlocksFormSubmission()) { UseCounter::Count(GetDocument(), WebFeature::kFormSubmittedWithUnclosedFormControl); @@ -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 -@@ -1463,8 +1463,8 @@ +@@ -1572,8 +1572,8 @@ // Experiment with preventing some instances of mutation XSS // by escaping "<" and ">" in attribute values. // See: crbug.com/1175016 @@ -342,7 +342,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { name: "EventTimingInteractionCount", -@@ -2370,6 +2370,12 @@ +@@ -2514,6 +2514,12 @@ name: "MacFontsDeprecateFontTraitsWorkaround", status: "stable", }, @@ -353,6 +353,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "experimental" + }, { - name: "MachineLearningCommon", - implied_by: ["MachineLearningModelLoader", "MachineLearningNeuralNetwork"], + name: "MachineLearningNeuralNetwork", + // Enabled by webnn::mojom::features::kWebMachineLearningNeuralNetwork. -- diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index 4b9f5efc..cc8fbb80 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 -@@ -720,6 +720,7 @@ static_library("ui") { +@@ -709,6 +709,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 022cf00e..65349245 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 -@@ -300,7 +300,7 @@ ScriptPromise VideoDecoder::isConfigSupported( +@@ -305,7 +305,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 91d120bc..24493dcf 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -76,6 +76,7 @@ +@@ -75,6 +75,7 @@ #include "components/autofill/core/common/autofill_payments_features.h" #include "components/autofill/core/common/autofill_switches.h" #include "components/autofill/core/common/autofill_util.h" @@ -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 -@@ -1548,7 +1548,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1577,7 +1577,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -102,7 +102,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -91,10 +91,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -95,10 +95,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( @@ -118,18 +118,18 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/components/bookmarks/browser/BUILD.gn b/components/bookmarks/browser/BUILD.gn --- a/components/bookmarks/browser/BUILD.gn +++ b/components/bookmarks/browser/BUILD.gn -@@ -24,6 +24,7 @@ static_library("browser") { +@@ -23,6 +23,7 @@ static_library("browser") { + "bookmark_undo_provider.h", "bookmark_utils.h", "bookmark_uuids.h", - "core_bookmark_model.h", + "features.h", "history_bookmark_model.h", "model_loader.h", "scoped_group_bookmark_actions.h", -@@ -47,6 +48,7 @@ static_library("browser") { +@@ -45,6 +46,7 @@ static_library("browser") { + "bookmark_storage.cc", "bookmark_utils.cc", "bookmark_uuids.cc", - "core_bookmark_model.cc", + "features.cc", "model_loader.cc", "scoped_group_bookmark_actions.cc", @@ -145,7 +145,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar #include "components/bookmarks/browser/scoped_group_bookmark_actions.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/pref_registry/pref_registry_syncable.h" -@@ -491,11 +492,13 @@ bool DoesBookmarkContainWords(const std::u16string& title, +@@ -492,11 +493,13 @@ bool DoesBookmarkContainWords(const std::u16string& title, void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( @@ -218,7 +218,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. /*allowlisted_primary_schemes=*/{}, /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, -@@ -374,7 +374,7 @@ void ContentSettingsRegistry::Init() { +@@ -385,7 +385,7 @@ void ContentSettingsRegistry::Init() { // TODO(crbug.com/40602007): Update this to "SECURE_ONLY" once // DeviceOrientationEvents and DeviceMotionEvents are only fired in secure // contexts. @@ -254,7 +254,7 @@ diff --git a/components/payments/core/payment_prefs.cc b/components/payments/cor diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc -@@ -168,13 +168,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -174,13 +174,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( prefs::kSafeBrowsingSawInterstitialScoutReporting, false); registry->RegisterBooleanPref( @@ -273,7 +273,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 -@@ -245,7 +245,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -249,7 +249,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kGoogleServicesSyncingGaiaIdMigratedToSignedIn, std::string()); registry->RegisterStringPref( prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string()); diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index 868f1a15..c8a4a1b5 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -62,7 +62,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 -@@ -2555,6 +2555,7 @@ static_library("browser") { +@@ -2543,6 +2543,7 @@ static_library("browser") { "//services/device/public/cpp:device_features", "//services/device/public/cpp/geolocation", "//services/device/public/cpp/usb", @@ -85,7 +85,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -254,6 +254,7 @@ source_set("browser") { +@@ -269,6 +269,7 @@ source_set("browser") { "//third_party/libyuv", "//third_party/re2", "//third_party/sqlite", @@ -96,15 +96,15 @@ 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 -@@ -215,6 +215,7 @@ +@@ -210,6 +210,7 @@ #include "url/gurl.h" #include "url/origin.h" +#include "third_party/ungoogled/ungoogled_switches.h" #if BUILDFLAG(IS_ANDROID) #include "base/android/child_process_binding_types.h" - #include "content/browser/android/java_interfaces_impl.h" -@@ -3471,6 +3472,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( + #include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h" +@@ -3173,6 +3174,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBreakpad, switches::kDisableDatabases, switches::kDisableFileSystem, @@ -137,7 +137,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. #if BUILDFLAG(IS_ANDROID) #include "base/android/build_info.h" #endif -@@ -543,6 +545,12 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { +@@ -540,6 +542,12 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { // as a last resort. void SetCustomizedRuntimeFeaturesFromCombinedArgs( const base::CommandLine& command_line) { @@ -187,7 +187,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa 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 -@@ -39,6 +39,7 @@ +@@ -44,6 +44,7 @@ #include "base/debug/dump_without_crashing.h" #include "base/i18n/time_formatting.h" #include "base/metrics/histogram_functions.h" @@ -195,7 +195,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" -@@ -910,6 +911,17 @@ Document::Document(const DocumentInit& initializer, +@@ -919,6 +920,17 @@ Document::Document(const DocumentInit& initializer, TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT); DCHECK(agent_); @@ -213,7 +213,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(); -@@ -2491,6 +2503,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2506,6 +2518,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #endif } @@ -231,7 +231,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, +@@ -552,6 +552,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -242,7 +242,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; -@@ -2557,6 +2561,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2577,6 +2581,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -255,7 +255,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 -@@ -2399,6 +2399,7 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2413,6 +2413,7 @@ void Element::ClientQuads(Vector& quads) const { quads.push_back(element_layout_object->LocalToAbsoluteQuad( gfx::QuadF(element_layout_object->ObjectBoundingBox()))); } @@ -263,7 +263,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ return; } -@@ -2407,6 +2408,10 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2421,6 +2422,10 @@ void Element::ClientQuads(Vector& quads) const { element_layout_object->IsBR()) { element_layout_object->AbsoluteQuads(quads); } @@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ } DOMRectList* Element::getClientRects() { -@@ -2452,6 +2457,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { +@@ -2466,6 +2471,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { DCHECK(element_layout_object); GetDocument().AdjustRectForScrollAndAbsoluteZoom(result, *element_layout_object); @@ -316,7 +316,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc b/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc --- a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc +++ b/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc -@@ -21,6 +21,7 @@ +@@ -26,6 +26,7 @@ #include "third_party/blink/renderer/core/fileapi/blob.h" #include "third_party/blink/renderer/core/html/canvas/canvas_rendering_context.h" #include "third_party/blink/renderer/platform/graphics/image_data_buffer.h" @@ -324,7 +324,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h" #include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" -@@ -210,6 +211,10 @@ CanvasAsyncBlobCreator::CanvasAsyncBlobCreator( +@@ -219,6 +220,10 @@ CanvasAsyncBlobCreator::CanvasAsyncBlobCreator( std::min(info.height(), max_dimension)); src_data_.reset(info, src_data_.addr(), src_data_.rowBytes()); } @@ -338,7 +338,7 @@ 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 -@@ -74,6 +74,24 @@ TextMetrics::TextMetrics(const Font& font, +@@ -79,6 +79,24 @@ TextMetrics::TextMetrics(const Font& font, Update(font, direction, baseline, align, text); } @@ -366,9 +366,9 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h --- a/third_party/blink/renderer/core/html/canvas/text_metrics.h +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h -@@ -72,6 +72,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable { - - void Trace(Visitor*) const override; +@@ -93,6 +93,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable { + float x_position_; + }; + void Shuffle(const double factor); + @@ -469,7 +469,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -184,6 +184,11 @@ +@@ -189,6 +189,11 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size_f.h" #include "ui/gfx/geometry/skia_conversions.h" @@ -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" -@@ -2740,6 +2745,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -2832,6 +2837,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; -@@ -3419,8 +3428,22 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { +@@ -3512,8 +3521,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 -@@ -1690,7 +1690,9 @@ component("platform") { +@@ -1699,7 +1699,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", -@@ -1768,6 +1770,7 @@ component("platform") { +@@ -1776,6 +1778,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -778,7 +778,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 -@@ -2699,6 +2699,15 @@ +@@ -2819,6 +2819,15 @@ status: {"Mac": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch index bffc7e37..5f40243a 100644 --- a/build/patches/OpenSearch-miscellaneous.patch +++ b/build/patches/OpenSearch-miscellaneous.patch @@ -195,11 +195,11 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c + DLOG(INFO) << "OpenSearch: found OSDD URL: " << osdd_url; mojo::Remote osdd_handler; - render_frame()->GetBrowserInterfaceBroker()->GetInterface( + render_frame()->GetBrowserInterfaceBroker().GetInterface( diff --git a/components/search_engines/template_url_fetcher.cc b/components/search_engines/template_url_fetcher.cc --- a/components/search_engines/template_url_fetcher.cc +++ b/components/search_engines/template_url_fetcher.cc -@@ -259,18 +259,32 @@ void TemplateURLFetcher::ScheduleDownload( +@@ -260,18 +260,32 @@ void TemplateURLFetcher::ScheduleDownload( return; } @@ -252,7 +252,7 @@ diff --git a/components/search_engines/template_url_parser.cc b/components/searc diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h --- a/components/search_engines/template_url_service.h +++ b/components/search_engines/template_url_service.h -@@ -357,7 +357,10 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -352,7 +352,10 @@ class TemplateURLService final : public WebDataServiceConsumer, void UpdateProviderFavicons(const GURL& potential_search_url, const GURL& favicon_url); @@ -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; -@@ -766,9 +769,6 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -761,9 +764,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 c68b5739..2a762169 100644 --- a/build/patches/Override-Navigator-Language.patch +++ b/build/patches/Override-Navigator-Language.patch @@ -61,15 +61,15 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse 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 -@@ -71,6 +71,7 @@ - #include "components/discardable_memory/public/mojom/discardable_shared_memory_manager.mojom.h" - #include "components/discardable_memory/service/discardable_shared_memory_manager.h" +@@ -70,6 +70,7 @@ + #include "build/chromeos_buildflags.h" + #include "cc/base/switches.h" #include "components/metrics/histogram_controller.h" +#include "components/language/core/browser/language_prefs.h" #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" -@@ -3380,8 +3381,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3082,8 +3083,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 3926fdd5..6d5c7e9f 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -27,7 +27,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/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 +++ b/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc -@@ -413,7 +413,7 @@ static unsigned AvoidDownloadIfHigherDensityResourceIsInCache( +@@ -418,7 +418,7 @@ static unsigned AvoidDownloadIfHigherDensityResourceIsInCache( KURL url = document->CompleteURL( StripLeadingAndTrailingHTMLSpaces(image_candidates[i]->Url())); auto* resource = MemoryCache::Get()->ResourceForURL( @@ -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 -@@ -2436,7 +2436,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, +@@ -2440,7 +2440,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, Resource* cached_resource = document->Fetcher()->CachedResource(url); if (!cached_resource) { cached_resource = MemoryCache::Get()->ResourceForURL( @@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.c diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b/third_party/blink/renderer/core/inspector/inspector_page_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_page_agent.cc -@@ -169,9 +169,9 @@ Resource* CachedResource(LocalFrame* frame, +@@ -174,9 +174,9 @@ Resource* CachedResource(LocalFrame* frame, if (!document) return nullptr; Resource* cached_resource = document->Fetcher()->CachedResource(url); @@ -66,7 +66,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc --- a/third_party/blink/renderer/core/loader/image_loader.cc +++ b/third_party/blink/renderer/core/loader/image_loader.cc -@@ -705,7 +705,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const { +@@ -710,7 +710,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const { // content when style recalc is over and DOM mutation is allowed again. if (!url.IsNull()) { Resource* resource = MemoryCache::Get()->ResourceForURL( @@ -129,7 +129,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -963,7 +963,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( +@@ -973,7 +973,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( if (!archive_ && factory.GetType() == ResourceType::kRaw) return nullptr; @@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c // Most off-main-thread resource fetches use Resource::kRaw and don't reach // this point, but off-main-thread module fetches might. if (IsMainThread()) { -@@ -1392,7 +1393,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, +@@ -1414,7 +1415,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, resource = nullptr; } else { resource = MemoryCache::Get()->ResourceForURL( @@ -150,7 +150,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } if (resource) { policy = DetermineRevalidationPolicy(resource_type, params, *resource, -@@ -1690,7 +1693,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( +@@ -1712,7 +1715,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( const FetchParameters& params, const ResourceFactory& factory) { const String cache_identifier = @@ -160,7 +160,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c if (!base::FeatureList::IsEnabled( blink::features::kScopeMemoryCachePerContext)) { DCHECK(!IsMainThread() || params.IsStaleRevalidation() || -@@ -2762,10 +2766,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() { +@@ -2784,10 +2788,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 -@@ -2778,7 +2785,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { +@@ -2800,7 +2807,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const { if (bundle) return bundle->GetCacheIdentifier(); @@ -188,7 +188,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h -@@ -274,7 +274,8 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -278,7 +278,8 @@ class PLATFORM_EXPORT ResourceFetcher uint32_t inflight_keepalive_bytes); blink::mojom::ControllerServiceWorkerMode IsControlledByServiceWorker() const; diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index 213bd2e1..0715a07a 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.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/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc --- a/chrome/browser/ssl/https_upgrades_interceptor.cc +++ b/chrome/browser/ssl/https_upgrades_interceptor.cc -@@ -359,6 +359,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader( +@@ -393,6 +393,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader( network::mojom::NetworkContext* network_context = profile->GetDefaultStoragePartition()->GetNetworkContext(); network_context->IsHSTSActiveForHost( @@ -89,7 +89,7 @@ diff --git a/components/password_manager/core/browser/hsts_query.cc b/components diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/browser/web_package/signed_exchange_handler.cc --- a/content/browser/web_package/signed_exchange_handler.cc +++ b/content/browser/web_package/signed_exchange_handler.cc -@@ -94,6 +94,7 @@ using VerifyCallback = +@@ -95,6 +95,7 @@ using VerifyCallback = void VerifyCert(const scoped_refptr& certificate, const GURL& url, @@ -97,7 +97,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br const std::string& ocsp_result, const std::string& sct_list, int frame_tree_node_id, -@@ -115,7 +116,7 @@ void VerifyCert(const scoped_refptr& certificate, +@@ -116,7 +117,7 @@ void VerifyCert(const scoped_refptr& certificate, } network_context->VerifyCertForSignedExchange( @@ -106,7 +106,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br } std::string OCSPErrorToString(const bssl::OCSPVerifyResult& ocsp_result) { -@@ -178,6 +179,7 @@ SignedExchangeHandler::SignedExchangeHandler( +@@ -179,6 +180,7 @@ SignedExchangeHandler::SignedExchangeHandler( std::unique_ptr body, ExchangeHeadersCallback headers_callback, std::unique_ptr cert_fetcher_factory, @@ -114,7 +114,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br const std::optional outer_request_isolation_info, int load_flags, const net::IPEndPoint& remote_endpoint, -@@ -191,6 +193,7 @@ SignedExchangeHandler::SignedExchangeHandler( +@@ -192,6 +194,7 @@ SignedExchangeHandler::SignedExchangeHandler( source_(std::move(body)), cert_fetcher_factory_(std::move(cert_fetcher_factory)), devtools_proxy_(std::move(devtools_proxy)), @@ -122,7 +122,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), -@@ -534,7 +537,7 @@ void SignedExchangeHandler::OnCertReceived( +@@ -535,7 +538,7 @@ void SignedExchangeHandler::OnCertReceived( // property, or const std::string& stapled_ocsp_response = unverified_cert_chain_->ocsp(); @@ -585,7 +585,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 -@@ -1450,7 +1450,7 @@ bool QuicChromiumClientSession::CanPool( +@@ -1453,7 +1453,7 @@ bool QuicChromiumClientSession::CanPool( return SpdySession::CanPool(transport_security_state_, ssl_info, *ssl_config_service_, session_key_.host(), @@ -597,7 +597,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 -@@ -1193,7 +1193,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1192,7 +1192,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, @@ -607,7 +607,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 |= -@@ -1215,7 +1216,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1214,7 +1215,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( @@ -648,7 +648,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc } void SpdySession::EnqueueStreamWrite( -@@ -3014,7 +3016,8 @@ void SpdySession::OnAltSvc( +@@ -3015,7 +3017,8 @@ void SpdySession::OnAltSvc( return; } if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_, @@ -674,7 +674,7 @@ diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -399,20 +399,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -401,20 +401,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { context->set_transport_security_state( std::make_unique(hsts_policy_bypass_list_)); @@ -698,7 +698,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 -@@ -333,7 +333,8 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -363,7 +363,8 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { if (TransportSecurityState* hsts = request->context()->transport_security_state()) { upgrade_decision = @@ -708,7 +708,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 -@@ -1151,7 +1152,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { +@@ -1205,7 +1206,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { HttpResponseHeaders* headers = GetResponseHeaders(); std::string value; if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value)) @@ -717,7 +717,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } void URLRequestHttpJob::OnStartCompleted(int result) { -@@ -1221,7 +1222,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { +@@ -1275,7 +1276,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { TransportSecurityState* state = context->transport_security_state(); NotifySSLCertificateError( result, transaction_->GetResponseInfo()->ssl_info, @@ -729,7 +729,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 -@@ -1883,6 +1883,7 @@ void NetworkContext::CreateHostResolver( +@@ -1918,6 +1918,7 @@ void NetworkContext::CreateHostResolver( void NetworkContext::VerifyCertForSignedExchange( const scoped_refptr& certificate, const GURL& url, @@ -737,7 +737,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) { -@@ -1893,6 +1894,7 @@ void NetworkContext::VerifyCertForSignedExchange( +@@ -1928,6 +1929,7 @@ void NetworkContext::VerifyCertForSignedExchange( pending_cert_verify->result = std::make_unique(); pending_cert_verify->certificate = certificate; pending_cert_verify->url = url; @@ -745,7 +745,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 = -@@ -1937,17 +1939,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -1970,17 +1972,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -768,7 +768,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(); -@@ -1957,10 +1961,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -1990,10 +1994,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, return; } @@ -781,7 +781,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -1998,10 +2002,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2031,10 +2035,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( @@ -794,7 +794,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)); -@@ -2039,6 +2043,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2072,6 +2076,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -802,7 +802,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 = -@@ -2049,7 +2054,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -2082,7 +2087,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -811,7 +811,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -2090,7 +2095,7 @@ void NetworkContext::PreconnectSockets( +@@ -2123,7 +2128,7 @@ void NetworkContext::PreconnectSockets( DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -820,7 +820,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // |PreconnectSockets| may receive arguments from the renderer, which is not // guaranteed to validate them. -@@ -2907,12 +2912,15 @@ void NetworkContext::OnConnectionError() { +@@ -2928,12 +2933,15 @@ void NetworkContext::OnConnectionError() { std::move(on_connection_close_callback_).Run(this); } @@ -837,7 +837,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont original_url.host())) { return original_url; } -@@ -2960,7 +2968,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete( +@@ -2981,7 +2989,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete( url_request_context_->transport_security_state()->CheckPublicKeyPins( net::HostPortPair::FromURL(pending_cert_verify->url), pending_cert_verify->result->is_issued_by_known_root, @@ -850,7 +850,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -410,18 +410,21 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -407,18 +407,21 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void VerifyCertForSignedExchange( const scoped_refptr& certificate, const GURL& url, @@ -875,7 +875,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -735,7 +738,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -742,7 +745,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -885,7 +885,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte #if BUILDFLAG(IS_P2P_ENABLED) void DestroySocketManager(P2PSocketManager* socket_manager); -@@ -924,6 +928,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -943,6 +947,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext VerifyCertForSignedExchangeCallback callback; scoped_refptr certificate; GURL url; @@ -896,7 +896,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1522,6 +1522,7 @@ interface NetworkContext { +@@ -1544,6 +1544,7 @@ interface NetworkContext { // implementation is currently specific for use by Signed Exchange. VerifyCertForSignedExchange(X509Certificate certificate, url.mojom.Url url, @@ -904,7 +904,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw string ocsp_response, string sct_list) => (int32 error_code, CertVerifyResult cv_result, -@@ -1529,16 +1530,16 @@ interface NetworkContext { +@@ -1551,16 +1552,16 @@ interface NetworkContext { // Adds explicitly-specified data as if it was processed from an // HSTS header. Used by tests and implementation of chrome://net-internals. @@ -924,7 +924,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw => (mojo_base.mojom.DictionaryValue state); // Sets allowed and blocked origins respectively for the URLLoaderFactory -@@ -1557,7 +1558,7 @@ interface NetworkContext { +@@ -1579,7 +1580,7 @@ interface NetworkContext { // Deletes any dynamic data stored for |host| from the transport // security state. Returns true iff an entry was deleted. // See net::TransportSecurityState::DeleteDynamicDataForHost for more detail. diff --git a/build/patches/Partition-MediaDeviceId-by-default.patch b/build/patches/Partition-MediaDeviceId-by-default.patch index 6626b870..f4808cf6 100644 --- a/build/patches/Partition-MediaDeviceId-by-default.patch +++ b/build/patches/Partition-MediaDeviceId-by-default.patch @@ -39,7 +39,7 @@ diff --git a/content/browser/media/media_devices_util.cc b/content/browser/media diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc --- a/content/browser/renderer_host/media/media_devices_manager.cc +++ b/content/browser/renderer_host/media/media_devices_manager.cc -@@ -835,6 +835,11 @@ void MediaDevicesManager::OnDevicesEnumerated( +@@ -837,6 +837,11 @@ void MediaDevicesManager::OnDevicesEnumerated( has_permissions[i], salt_and_origin, device_info)); } } diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch index ab955788..ff79c452 100644 --- a/build/patches/Partition-blobs-by-top-frame-URL.patch +++ b/build/patches/Partition-blobs-by-top-frame-URL.patch @@ -8,16 +8,16 @@ or, if not defined, by the same agent cluster. 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 --- - storage/browser/blob/blob_url_store_impl.cc | 37 ++++++++++++++++++- - storage/browser/blob/blob_url_store_impl.h | 14 ++++++- - .../public/mojom/blob/blob_url_store.mojom | 12 ++++-- - .../core/fileapi/public_url_manager.cc | 17 +++++++++ - 4 files changed, 75 insertions(+), 5 deletions(-) + storage/browser/blob/blob_url_store_impl.cc | 28 +++++++++++++++++++ + storage/browser/blob/blob_url_store_impl.h | 9 ++++++ + .../public/mojom/blob/blob_url_store.mojom | 10 +++++-- + .../core/fileapi/public_url_manager.cc | 17 +++++++++++ + 4 files changed, 62 insertions(+), 2 deletions(-) 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 -@@ -84,6 +84,20 @@ BlobURLStoreImpl::~BlobURLStoreImpl() { +@@ -80,6 +80,20 @@ BlobURLStoreImpl::~BlobURLStoreImpl() { } } @@ -38,27 +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, -@@ -114,11 +128,18 @@ void BlobURLStoreImpl::Revoke(const GURL& url) { - urls_.erase(url); - } - --void BlobURLStoreImpl::Resolve(const GURL& url, ResolveCallback callback) { -+void BlobURLStoreImpl::Resolve(const GURL& url, -+ const base::UnguessableToken& unsafe_agent_cluster_id, -+ const std::optional& unsafe_top_level_site, -+ ResolveCallback callback) { - if (!registry_) { - std::move(callback).Run(mojo::NullRemote(), std::nullopt); - return; - } -+ if (!IsSamePartition(url, unsafe_agent_cluster_id, unsafe_top_level_site)) { -+ std::move(callback).Run(mojo::NullRemote(), std::nullopt); -+ return; -+ } - mojo::PendingRemote blob = registry_->GetBlobFromUrl(url); - std::move(callback).Run(std::move(blob), - registry_->GetUnsafeAgentClusterID(url)); -@@ -127,6 +148,8 @@ void BlobURLStoreImpl::Resolve(const GURL& url, ResolveCallback callback) { +@@ -113,6 +127,8 @@ void BlobURLStoreImpl::Revoke(const GURL& url) { void BlobURLStoreImpl::ResolveAsURLLoaderFactory( const GURL& url, mojo::PendingReceiver receiver, @@ -67,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)); -@@ -134,6 +157,12 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( +@@ -120,6 +136,12 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( return; } @@ -80,7 +60,7 @@ 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), -@@ -143,11 +172,17 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( +@@ -129,11 +151,17 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( void BlobURLStoreImpl::ResolveForNavigation( const GURL& url, mojo::PendingReceiver token, @@ -101,15 +81,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/blob_url_store_impl.h --- a/storage/browser/blob/blob_url_store_impl.h +++ b/storage/browser/blob/blob_url_store_impl.h -@@ -42,14 +42,21 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl - const std::optional& unsafe_top_level_site, - RegisterCallback callback) override; - void Revoke(const GURL& url) override; -- void Resolve(const GURL& url, ResolveCallback callback) override; -+ void Resolve(const GURL& url, -+ const base::UnguessableToken& unsafe_agent_cluster_id, -+ const std::optional& unsafe_top_level_site, -+ ResolveCallback callback) override; +@@ -46,10 +46,14 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl void ResolveAsURLLoaderFactory( const GURL& url, mojo::PendingReceiver receiver, @@ -124,7 +96,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/b ResolveForNavigationCallback callback) override; private: -@@ -59,6 +66,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl +@@ -59,6 +63,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl // `Revoke()`. bool BlobUrlIsValid(const GURL& url, const char* method) const; @@ -139,18 +111,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/b diff --git a/third_party/blink/public/mojom/blob/blob_url_store.mojom b/third_party/blink/public/mojom/blob/blob_url_store.mojom --- a/third_party/blink/public/mojom/blob/blob_url_store.mojom +++ b/third_party/blink/public/mojom/blob/blob_url_store.mojom -@@ -33,7 +33,9 @@ interface BlobURLStore { - Revoke(url.mojom.Url url); - - // Resolves a public Blob URL. -- Resolve(url.mojom.Url url) => ( -+ Resolve(url.mojom.Url url, -+ mojo_base.mojom.UnguessableToken unsafe_agent_cluster_id, -+ network.mojom.SchemefulSite? unsafe_top_level_site) => ( - pending_remote? blob, - // TODO(https://crbug.com/1224926): Remove this once experiment is over. - mojo_base.mojom.UnguessableToken? unsafe_agent_cluster_id); -@@ -47,7 +49,9 @@ interface BlobURLStore { +@@ -41,7 +41,9 @@ interface BlobURLStore { // both the blob URL and all other references to the blob have been dropped. ResolveAsURLLoaderFactory( url.mojom.Url url, @@ -161,14 +122,16 @@ diff --git a/third_party/blink/public/mojom/blob/blob_url_store.mojom b/third_pa // TODO(https://crbug.com/1224926): Remove these once experiment is over. mojo_base.mojom.UnguessableToken? unsafe_agent_cluster_id, network.mojom.SchemefulSite? unsafe_top_level_site); -@@ -57,7 +61,9 @@ interface BlobURLStore { +@@ -51,7 +53,11 @@ interface BlobURLStore { // refer to, even after the URL is revoked. // As long as the token is alive, the resolved blob will also be kept alive. ResolveForNavigation(url.mojom.Url url, - pending_receiver token) => ( + pending_receiver token, + mojo_base.mojom.UnguessableToken unsafe_agent_cluster_id, -+ network.mojom.SchemefulSite? unsafe_top_level_site) => ( ++ network.mojom.SchemefulSite? unsafe_top_level_site, ++ mojo_base.mojom.UnguessableToken unsafe_agent_cluster_id, ++ network.mojom.SchemefulSite? unsafe_top_level_site) => ( // TODO(https://crbug.com/1224926): Remove this once experiment is over. mojo_base.mojom.UnguessableToken? unsafe_agent_cluster_id); }; @@ -197,7 +160,7 @@ diff --git a/third_party/blink/renderer/core/fileapi/public_url_manager.cc b/thi } // namespace PublicURLManager::PublicURLManager(ExecutionContext* execution_context) -@@ -278,6 +293,7 @@ void PublicURLManager::Resolve( +@@ -269,6 +284,7 @@ void PublicURLManager::Resolve( GetBlobURLStore().ResolveAsURLLoaderFactory( url, std::move(factory_receiver), @@ -205,7 +168,7 @@ diff --git a/third_party/blink/renderer/core/fileapi/public_url_manager.cc b/thi WTF::BindOnce(metrics_callback, WrapPersistent(GetExecutionContext()))); } -@@ -301,6 +317,7 @@ void PublicURLManager::Resolve( +@@ -292,6 +308,7 @@ void PublicURLManager::Resolve( GetBlobURLStore().ResolveForNavigation( url, std::move(token_receiver), 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 875be8f9..dae38904 100644 --- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch @@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/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 -@@ -3524,7 +3524,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( +@@ -3653,7 +3653,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); if (!cookie_settings) { @@ -69,7 +69,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 -@@ -799,16 +799,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( +@@ -791,16 +791,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. @@ -95,7 +95,7 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc --- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc -@@ -361,6 +361,7 @@ bool PrivacySandboxSettingsDelegate::IsCookieDeprecationLabelAllowed() const { +@@ -359,6 +359,7 @@ bool PrivacySandboxSettingsDelegate::IsCookieDeprecationLabelAllowed() const { bool PrivacySandboxSettingsDelegate:: AreThirdPartyCookiesBlockedByCookieDeprecationExperiment() const { @@ -106,7 +106,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc --- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc +++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc -@@ -425,6 +425,18 @@ void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial( +@@ -420,6 +420,18 @@ void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial( permissions::PermissionRequestData request_data, permissions::BrowserPermissionCallback callback, net::FirstPartySetMetadata metadata) { @@ -321,7 +321,7 @@ diff --git a/net/cookies/cookie_deletion_info.cc b/net/cookies/cookie_deletion_i diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc --- a/net/cookies/cookie_monster.cc +++ b/net/cookies/cookie_monster.cc -@@ -2230,6 +2230,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies( +@@ -2238,6 +2238,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies( if (cookie_partition_it == partitioned_cookies_.end()) return num_deleted; @@ -384,7 +384,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 -@@ -836,13 +836,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( +@@ -888,13 +888,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( AnnotateAndMoveUserBlockedCookies(maybe_included_cookies, excluded_cookies); } @@ -427,7 +427,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc --- a/services/network/restricted_cookie_manager.cc +++ b/services/network/restricted_cookie_manager.cc -@@ -954,6 +954,12 @@ void RestrictedCookieManager::SetCookieFromString( +@@ -905,6 +905,12 @@ void RestrictedCookieManager::SetCookieFromString( std::move(callback).Run(); @@ -453,7 +453,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc --- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc +++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc -@@ -340,6 +340,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, +@@ -348,6 +348,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, CookieInit* set_options = CookieInit::Create(); set_options->setName(name); set_options->setValue(value); @@ -461,7 +461,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t return set(script_state, set_options, exception_state); } -@@ -363,6 +364,7 @@ ScriptPromise CookieStore::Delete( +@@ -371,6 +372,7 @@ ScriptPromise CookieStore::Delete( set_options->setName(name); set_options->setValue("deleted"); set_options->setExpires(0); @@ -469,7 +469,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t return DoWrite(script_state, set_options, exception_state); } -@@ -378,6 +380,7 @@ ScriptPromise CookieStore::Delete( +@@ -386,6 +388,7 @@ ScriptPromise CookieStore::Delete( set_options->setPath(options->path()); set_options->setSameSite("strict"); set_options->setPartitioned(options->partitioned()); diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch index 67a300fa..eb3c33bd 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 -@@ -7676,8 +7676,7 @@ ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy( +@@ -7818,8 +7818,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 -@@ -1033,7 +1033,7 @@ std::optional CorsURLLoader::ConvertPreflightResult( +@@ -1032,7 +1032,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); -@@ -1385,12 +1385,6 @@ bool CorsURLLoader::ShouldIgnorePrivateNetworkAccessErrors( +@@ -1356,12 +1356,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 6de2ddb5..eb49e654 100644 --- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch +++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch @@ -45,7 +45,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kBackGestureMoveToBackDuringStartup, &kBackGestureRefactorAndroid, &kBackToHomeAnimation, @@ -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 -@@ -261,6 +261,7 @@ public abstract class ChromeFeatureList { +@@ -267,6 +267,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 2e101bc6..46fc9a38 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 -@@ -4224,8 +4224,13 @@ action("build_date") { +@@ -4154,8 +4154,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 0b0565cc..eca68757 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 -@@ -485,6 +485,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -545,6 +545,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()) { -@@ -492,11 +493,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -552,11 +553,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(); -@@ -742,10 +746,10 @@ void URLRequestHttpJob::StartTransactionInternal() { +@@ -802,10 +806,10 @@ void URLRequestHttpJob::StartTransactionInternal() { void URLRequestHttpJob::AddExtraHeaders() { request_info_.extra_headers.SetAcceptEncodingIfMissing( request()->url(), request()->accepted_stream_types(), diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch index be9788fb..4c6d3176 100644 --- a/build/patches/Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/Remove-ChromiumNetworkAdapter.patch @@ -19,7 +19,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/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java -@@ -1012,45 +1012,6 @@ public class OMADownloadHandler extends BroadcastReceiver { +@@ -1013,45 +1013,6 @@ public class OMADownloadHandler extends BroadcastReceiver { protected Boolean doInBackground() { HttpURLConnection urlConnection = null; boolean success = false; @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADow diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java --- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java -@@ -135,41 +135,7 @@ public final class ConnectivityChecker { +@@ -134,41 +134,7 @@ public final class ConnectivityChecker { postResult(callback, ConnectivityCheckResult.ERROR); return; } @@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/HttpURLConnectionFactoryImpl.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/HttpURLConnectionFactoryImpl.java --- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/HttpURLConnectionFactoryImpl.java +++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/HttpURLConnectionFactoryImpl.java -@@ -36,11 +36,6 @@ public class HttpURLConnectionFactoryImpl implements HttpURLConnectionFactory { +@@ -37,11 +37,6 @@ public class HttpURLConnectionFactoryImpl implements HttpURLConnectionFactory { @Override public HttpURLConnection createHttpURLConnection(String url) { @@ -216,7 +216,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java -@@ -187,14 +187,6 @@ public class VariationsSeedFetcher { +@@ -190,14 +190,6 @@ public class VariationsSeedFetcher { ResettersForTesting.register(() -> sInstance = oldValue); } @@ -231,7 +231,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari @VisibleForTesting protected List getAvailableInstanceManipulations() { List compressions = new ArrayList(); -@@ -532,24 +524,8 @@ public class VariationsSeedFetcher { +@@ -535,24 +527,8 @@ public class VariationsSeedFetcher { HttpURLConnection connection = null; try { long startTimeMillis = SystemClock.elapsedRealtime(); 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 5debcc8d..e6ba3661 100644 --- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch +++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch @@ -56,10 +56,10 @@ 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 -@@ -977,6 +977,8 @@ chrome_java_sources = [ +@@ -973,6 +973,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionOnboardingView.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java", - "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java", + "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarLimiter.java", + "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java", + "java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java", "java/src/org/chromium/chrome/browser/provider/BaseColumns.java", @@ -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 -@@ -214,6 +214,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -217,6 +217,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kExpireDaysThreshold] = settings_api::PrefType::kNumber; @@ -390,11 +390,11 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro + // Appearance settings. (*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString; - (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; + (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; 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 -@@ -596,6 +596,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( +@@ -595,6 +595,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( -@@ -687,6 +690,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -675,6 +678,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); @@ -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 -@@ -1077,6 +1077,30 @@ For more settings that use data to improve your Chrome experience, go to @@ -514,7 +514,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/pref_watcher.cc --- a/chrome/browser/ui/prefs/pref_watcher.cc +++ b/chrome/browser/ui/prefs/pref_watcher.cc -@@ -95,6 +95,8 @@ PrefWatcher::PrefWatcher(Profile* profile) +@@ -96,6 +96,8 @@ PrefWatcher::PrefWatcher(Profile* profile) renderer_callback); profile_pref_change_registrar_.Add(prefs::kEnableReferrers, renderer_callback); @@ -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 -@@ -380,6 +380,8 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -371,6 +371,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 -@@ -1819,6 +1819,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1836,6 +1836,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 -@@ -1536,6 +1536,9 @@ inline constexpr char kEnableEncryptedMedia[] = +@@ -1560,6 +1560,9 @@ inline constexpr char kEnableEncryptedMedia[] = inline constexpr char kPrefixedVideoFullscreenApiAvailability[] = "media.prefixed_fullscreen_video_api_availability"; @@ -615,7 +615,7 @@ diff --git a/components/download/content/internal/context_menu_download.cc b/com 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 -@@ -391,6 +391,15 @@ void AddAdditionalRequestHeaders( +@@ -398,6 +398,15 @@ void AddAdditionalRequestHeaders( blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever); } diff --git a/build/patches/Remove-auth-header-upon-cross-origin-redirect.patch b/build/patches/Remove-auth-header-upon-cross-origin-redirect.patch index d0bcf68c..367bd329 100644 --- a/build/patches/Remove-auth-header-upon-cross-origin-redirect.patch +++ b/build/patches/Remove-auth-header-upon-cross-origin-redirect.patch @@ -19,7 +19,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc -@@ -595,6 +595,9 @@ bool ResourceLoader::WillFollowRedirect( +@@ -600,6 +600,9 @@ bool ResourceLoader::WillFollowRedirect( new_url)) { fetcher_->GetUseCounter().CountUse( mojom::WebFeature::kAuthorizationCrossOrigin); @@ -32,7 +32,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc --- a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc +++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc -@@ -198,6 +198,10 @@ void SyncLoadContext::FollowRedirect(std::vector removed_headers, +@@ -199,6 +199,10 @@ void SyncLoadContext::FollowRedirect(std::vector removed_headers, return; } diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 4bb3d66d..7f21486f 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -104,11 +104,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 | 728 +----------------- + third_party/android_deps/BUILD.gn | 729 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- third_party/cardboard/BUILD.gn | 4 - - 84 files changed, 116 insertions(+), 2228 deletions(-) + 84 files changed, 116 insertions(+), 2229 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 @@ -148,7 +148,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 -@@ -170,9 +170,7 @@ if (is_android || is_chromeos) { +@@ -177,9 +177,7 @@ if (is_android || is_chromeos) { # google_play_services_package contains the path where individual client # targets (e.g. google_play_services_base_java) are located. @@ -162,9 +162,9 @@ diff --git a/build/config/android/config.gni b/build/config/android/config.gni diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -326,14 +326,6 @@ if (current_toolchain == default_toolchain) { - ":chrome_public_apk_template_resources", +@@ -342,14 +342,6 @@ if (current_toolchain == default_toolchain) { ":google_api_keys_java", + ":java_overlay_resources", ":usage_stats_proto_java", - "$google_play_services_package:google_play_services_auth_base_java", - "$google_play_services_package:google_play_services_base_java", @@ -177,7 +177,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base/version_info/android:version_constants_java", "//cc:cc_java", "//cc/mojom:mojom_java", -@@ -689,13 +681,23 @@ if (current_toolchain == default_toolchain) { +@@ -712,13 +704,23 @@ if (current_toolchain == default_toolchain) { "//services/shape_detection:shape_detection_java", "//services/shape_detection/public/mojom:mojom_java", "//skia/public/mojom:mojom_java", @@ -203,7 +203,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", -@@ -972,12 +974,6 @@ if (current_toolchain == default_toolchain) { +@@ -983,12 +985,6 @@ if (current_toolchain == default_toolchain) { ":chrome_jni_headers", ":chrome_unit_test_util_java", ":delegate_public_impl_java", @@ -216,7 +216,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", -@@ -1648,13 +1644,6 @@ if (current_toolchain == default_toolchain) { +@@ -1662,13 +1658,6 @@ if (current_toolchain == default_toolchain) { ":chrome_app_java_resources", ":chrome_test_util_java", ":delegate_public_impl_java", @@ -230,7 +230,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", -@@ -2551,7 +2540,6 @@ if (current_toolchain == default_toolchain) { +@@ -2567,7 +2556,6 @@ if (current_toolchain == default_toolchain) { ] deps = [ ":chrome_java", @@ -238,7 +238,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//build/android:build_java", -@@ -2653,7 +2641,6 @@ if (current_toolchain == default_toolchain) { +@@ -2669,7 +2657,6 @@ if (current_toolchain == default_toolchain) { # is in a DFM. android_library("base_module_java") { sources = [ @@ -246,7 +246,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/app/TrichromeZygotePreload.java", "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java", "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java", -@@ -2670,8 +2657,6 @@ if (current_toolchain == default_toolchain) { +@@ -2686,8 +2673,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", @@ -255,7 +255,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", -@@ -2695,16 +2680,10 @@ if (current_toolchain == default_toolchain) { +@@ -2711,16 +2696,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", @@ -272,7 +272,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//chrome/browser/download/android:file_provider_java", "//chrome/browser/flags:java", -@@ -2717,7 +2696,6 @@ if (current_toolchain == default_toolchain) { +@@ -2734,7 +2713,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", @@ -280,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", -@@ -2737,7 +2715,6 @@ if (current_toolchain == default_toolchain) { +@@ -2754,7 +2732,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. @@ -299,7 +299,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_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", -@@ -1003,11 +1002,6 @@ chrome_java_sources = [ +@@ -999,11 +998,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", @@ -364,7 +364,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro - @@ -820,7 +820,7 @@ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java -@@ -585,12 +585,6 @@ public class AppLanguagePromoDialog { +@@ -583,12 +583,6 @@ public class AppLanguagePromoDialog { mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView); @@ -833,7 +833,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse boolean isSelectedCurrentUI = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode()); if (!isSelectedCurrentUI) { // Only record isTopLanguage if the app language has changed. -@@ -598,31 +592,6 @@ public class AppLanguagePromoDialog { +@@ -596,31 +590,6 @@ public class AppLanguagePromoDialog { } AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage( selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode()); @@ -919,7 +919,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p - "$google_play_services_package:google_play_services_basement_java", "account_storage_notice:junit", "add_username_dialog:junit", - "pwd_migration:junit", + "bottom_sheet:junit", 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 @@ -1091,7 +1091,7 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c 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 -@@ -62,8 +62,6 @@ function addPrivacyChildRoutes(r: Partial) { +@@ -64,8 +64,6 @@ function addPrivacyChildRoutes(r: Partial) { if (loadTimeData.getBoolean('enableSecurityKeysSubpage')) { r.SECURITY_KEYS = r.SECURITY.createChild('/securityKeys'); @@ -1103,7 +1103,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 -@@ -301,8 +301,6 @@ static_library("ui") { +@@ -310,8 +310,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -1112,7 +1112,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", -@@ -554,7 +552,6 @@ static_library("ui") { +@@ -542,7 +540,6 @@ static_library("ui") { "//components/find_in_page", "//components/fingerprinting_protection_filter/browser", "//components/flags_ui", @@ -1123,7 +1123,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -155,8 +155,6 @@ android_library("java") { +@@ -156,8 +156,6 @@ android_library("java") { deps = [ ":java_resources", @@ -1132,7 +1132,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", -@@ -469,8 +467,6 @@ robolectric_library("junit") { +@@ -474,8 +472,6 @@ robolectric_library("junit") { deps = [ ":java", ":java_resources", @@ -1144,7 +1144,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java --- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java +++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java -@@ -224,21 +224,17 @@ public class FullscreenSigninMediator +@@ -223,21 +223,17 @@ public class FullscreenSigninMediator * also means that native has been initialized. */ void onInitialLoadCompleted(boolean hasPolicies) { @@ -1173,7 +1173,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 -@@ -1605,16 +1605,9 @@ AuthenticatorMultiSourcePickerSheetModel:: +@@ -1564,16 +1564,9 @@ AuthenticatorMultiSourcePickerSheetModel:: bool AuthenticatorMultiSourcePickerSheetModel::IsManageDevicesButtonVisible() const { @@ -1202,10 +1202,10 @@ 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" -@@ -433,8 +432,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -425,8 +424,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, + #endif + if (url.host_piece() == chrome::kChromeUIDeviceLogHost) return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIDownloadInternalsHost) - return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIGCMInternalsHost) - return &NewWebUI; if (url.host_piece() == chrome::kChromeUIInternalsHost) @@ -1284,7 +1284,7 @@ diff --git a/chrome/browser/webauthn/android/java/src/org/chromium/chrome/browse 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 -@@ -2180,10 +2180,6 @@ void AuthenticatorRequestDialogController::PopulateMechanisms() { +@@ -2215,10 +2215,6 @@ void AuthenticatorRequestDialogController::PopulateMechanisms() { if (model_->cable_ui_type) { switch (*model_->cable_ui_type) { case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR: @@ -1492,7 +1492,7 @@ diff --git a/components/gcm_driver/android/java/src/org/chromium/components/gcm_ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc --- a/components/gcm_driver/gcm_client_impl.cc +++ b/components/gcm_driver/gcm_client_impl.cc -@@ -449,6 +449,7 @@ void GCMClientImpl::StartGCM() { +@@ -450,6 +450,7 @@ void GCMClientImpl::StartGCM() { void GCMClientImpl::InitializeMCSClient() { DCHECK(network_connection_tracker_); @@ -1500,7 +1500,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc std::vector endpoints; endpoints.push_back(gservices_settings_.GetMCSMainEndpoint()); GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint(); -@@ -642,6 +643,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope, +@@ -643,6 +644,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope, int interval_ms) { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); DCHECK(mcs_client_); @@ -1508,7 +1508,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc mcs_client_->AddHeartbeatInterval(scope, interval_ms); } -@@ -653,6 +655,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) { +@@ -654,6 +656,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) { void GCMClientImpl::StartCheckin() { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); @@ -1516,7 +1516,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc // Make sure no checkin is in progress. if (checkin_request_) -@@ -731,6 +734,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) { +@@ -732,6 +735,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) { void GCMClientImpl::SchedulePeriodicCheckin() { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); @@ -3227,7 +3227,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ "//base:base_java", "//base/version_info/android:version_constants_java", "//build/android:build_java", -@@ -120,8 +111,6 @@ android_library("test_support_java") { +@@ -134,8 +125,6 @@ android_library("test_support_java") { source_set("android") { sources = [ "cred_man_support.h", @@ -3236,7 +3236,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ "internal_authenticator_android.cc", "internal_authenticator_android.h", "webauthn_browser_bridge.cc", -@@ -190,7 +179,6 @@ robolectric_library("junit") { +@@ -204,7 +193,6 @@ robolectric_library("junit") { deps = [ ":java", ":test_support_java", @@ -3247,7 +3247,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java --- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java +++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java -@@ -71,14 +71,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -72,14 +72,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon // Similar to the above, but for pending isConditionalMediationAvailable request callbacks. private Queue mIsConditionalMediationAvailableCallbackQueue = new LinkedList<>(); @@ -3262,7 +3262,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut /** * Builds the Authenticator service implementation. -@@ -110,19 +102,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -111,19 +103,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon mCreateConfirmationUiDelegate = createConfirmationUiDelegate; } @@ -3282,7 +3282,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut /** * Called by InternalAuthenticatorAndroid, which facilitates WebAuthn for processes that * originate from the browser process. Since the request is from the browser process, the -@@ -169,14 +148,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -170,14 +149,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon private void continueMakeCredential( PublicKeyCredentialCreationOptions options, MakeCredential_Response callback) { @@ -3297,7 +3297,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } private @Nullable Bundle maybeCreateBrowserOptions() { -@@ -204,16 +175,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -205,16 +176,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon onError(AuthenticatorStatus.NOT_IMPLEMENTED); return; } @@ -3314,7 +3314,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -231,11 +192,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -237,11 +198,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon decoratedCallback.call(false); return; } @@ -3326,7 +3326,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** -@@ -256,14 +212,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -262,14 +218,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon callback.onResponse(new ArrayList()); return; } @@ -3341,7 +3341,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -275,14 +223,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -281,14 +229,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon callback.call(false); return; } @@ -3356,7 +3356,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -294,8 +234,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -300,8 +240,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon if (!mIsOperationPending || mGetAssertionCallback == null) { return; } @@ -3365,7 +3365,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** Callbacks for receiving responses from the internal handlers. */ -@@ -340,7 +278,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -346,7 +284,6 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon } else if (mGetAssertionCallback != null) { mGetAssertionCallback.call(status, null, null); } @@ -3373,7 +3373,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut cleanupRequest(); } -@@ -348,13 +285,10 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -354,13 +291,10 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon mIsOperationPending = false; mMakeCredentialCallback = null; mGetAssertionCallback = null; @@ -3521,7 +3521,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut if (responseSerialized == null) { Log.e( TAG, -@@ -416,8 +412,7 @@ public class CredManHelper { +@@ -417,8 +413,7 @@ public class CredManHelper { data.getString( CRED_MAN_PREFIX + "BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON"); @@ -3531,7 +3531,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut if (responseSerialized == null) { Log.e( TAG, -@@ -597,8 +592,7 @@ public class CredManHelper { +@@ -598,8 +593,7 @@ public class CredManHelper { boolean requestPasswords, boolean preferImmediatelyAvailable, boolean ignoreGpm) { @@ -3568,7 +3568,7 @@ diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn --- a/content/public/android/BUILD.gn +++ b/content/public/android/BUILD.gn -@@ -150,10 +150,6 @@ android_library("content_full_java") { +@@ -157,10 +157,6 @@ android_library("content_full_java") { ":content_java_resources", ":content_main_dex_java", ":content_util_java", @@ -3582,7 +3582,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -3551,10 +3551,6 @@ if (is_android) { +@@ -3557,10 +3557,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3609,7 +3609,7 @@ diff --git a/device/BUILD.gn b/device/BUILD.gn diff --git a/services/BUILD.gn b/services/BUILD.gn --- a/services/BUILD.gn +++ b/services/BUILD.gn -@@ -144,11 +144,6 @@ if (is_android) { +@@ -145,11 +145,6 @@ if (is_android) { "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java", ] deps = [ @@ -3621,7 +3621,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -178,10 +173,6 @@ if (is_android) { +@@ -179,10 +174,6 @@ if (is_android) { "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", ] deps = [ @@ -3685,14 +3685,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 -@@ -737,29 +728,6 @@ if (!limit_android_deps) { +@@ -739,28 +730,6 @@ if (!limit_android_deps) { ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("com_android_support_support_core_ui_java") { -- aar_path = -- "libs/com_android_support_support_core_ui/support-core-ui-28.0.0.aar" +- 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 = [ @@ -3715,14 +3714,14 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. android_aar_prebuilt( "com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_java") { -@@ -781,237 +749,6 @@ if (!limit_android_deps) { +@@ -782,237 +751,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") { -- aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-20.1.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_auth/play-services-auth-20.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info" - enable_bytecode_checks = false - deps = [ @@ -3740,7 +3739,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_auth_api_phone_java") { -- aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.1.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info" - enable_bytecode_checks = false - deps = [ @@ -3754,7 +3753,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_auth_base_java") { -- aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.2.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.2.aar" - info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info" - enable_bytecode_checks = false - deps = [ @@ -3769,7 +3768,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_base_java") { -- aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-18.1.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_base/play-services-base-18.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info" - enable_bytecode_checks = false - deps = [ @@ -3785,7 +3784,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_basement_java") { -- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-18.1.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_basement/play-services-basement-18.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info" - enable_bytecode_checks = false - deps = [ @@ -3811,7 +3810,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cast_java") { -- aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info" - enable_bytecode_checks = false - deps = [ @@ -3828,7 +3827,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cast_framework_java") { -- aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info" - enable_bytecode_checks = false - deps = [ @@ -3849,7 +3848,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_gcm_java") { -- aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info" - enable_bytecode_checks = false - deps = [ @@ -3867,7 +3866,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_iid_java") { -- aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info" - enable_bytecode_checks = false - deps = [ @@ -3884,7 +3883,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_instantapps_java") { -- aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info" - enable_bytecode_checks = false - deps = [ @@ -3898,7 +3897,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_location_java") { -- aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-21.0.1.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_location/play-services-location-21.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info" - enable_bytecode_checks = false - deps = [ @@ -3912,7 +3911,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_tasks_java") { -- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.2.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.2.aar" - info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info" - enable_bytecode_checks = false - deps = @@ -3923,7 +3922,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_vision_java") { -- aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-20.1.3.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_vision/play-services-vision-20.1.3.aar" - info_path = "libs/com_google_android_gms_play_services_vision/com_google_android_gms_play_services_vision.info" - enable_bytecode_checks = false - deps = [ @@ -3937,7 +3936,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_vision_common_java") { -- aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-19.1.3.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-19.1.3.aar" - info_path = "libs/com_google_android_gms_play_services_vision_common/com_google_android_gms_play_services_vision_common.info" - enable_bytecode_checks = false - deps = [ @@ -3953,14 +3952,14 @@ 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(material_design_target)) { android_aar_prebuilt("com_google_android_material_material_java") { -@@ -1060,73 +797,6 @@ if (!limit_android_deps) { +@@ -1060,74 +798,6 @@ if (!limit_android_deps) { } } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (!defined(playcore_target)) { - android_aar_prebuilt("com_google_android_play_feature_delivery_java") { -- aar_path = "libs/com_google_android_play_feature_delivery/feature-delivery-2.0.1.aar" +- aar_path = "cipd/libs/com_google_android_play_feature_delivery/feature-delivery-2.0.1.aar" - info_path = "libs/com_google_android_play_feature_delivery/com_google_android_play_feature_delivery.info" - enable_bytecode_checks = false - @@ -3978,7 +3977,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. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_iid_java") { -- aar_path = "libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar" +- aar_path = +- "cipd/libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar" - info_path = "libs/com_google_firebase_firebase_iid/com_google_firebase_firebase_iid.info" - enable_bytecode_checks = false - deps = [ @@ -4001,7 +4001,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_messaging_java") { -- aar_path = "libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar" - info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info" - enable_bytecode_checks = false - deps = [ @@ -4027,13 +4027,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(guava_android_target)) { java_prebuilt("com_google_guava_guava_android_java") { -@@ -1244,20 +914,6 @@ if (!limit_android_deps) { +@@ -1245,20 +915,6 @@ if (!limit_android_deps) { requires_android = true } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("io_grpc_grpc_binder_java") { -- aar_path = "libs/io_grpc_grpc_binder/grpc-binder-1.49.0.aar" +- aar_path = "cipd/libs/io_grpc_grpc_binder/grpc-binder-1.49.0.aar" - info_path = "libs/io_grpc_grpc_binder/io_grpc_grpc_binder.info" - enable_bytecode_checks = false - deps = [ @@ -4047,15 +4047,15 @@ 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 = "libs/io_grpc_grpc_context/grpc-context-1.49.0.jar" -@@ -1897,361 +1553,6 @@ if (!limit_android_deps) { + jar_path = "cipd/libs/io_grpc_grpc_context/grpc-context-1.49.0.jar" +@@ -1907,362 +1563,6 @@ if (!limit_android_deps) { "androidx/*", ] } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("com_android_support_viewpager_java") { -- aar_path = "libs/com_android_support_viewpager/viewpager-28.0.0.aar" +- 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 @@ -4076,7 +4076,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_google_android_annotations_java") { -- jar_path = "libs/com_google_android_annotations/annotations-4.1.1.4.jar" +- jar_path = +- "cipd/libs/com_google_android_annotations/annotations-4.1.1.4.jar" - output_name = "com_google_android_annotations" - supports_android = true - enable_bytecode_checks = false @@ -4092,7 +4093,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_android_datatransport_transport_api_java") { -- aar_path = "libs/com_google_android_datatransport_transport_api/transport-api-2.2.1.aar" +- aar_path = "cipd/libs/com_google_android_datatransport_transport_api/transport-api-2.2.1.aar" - info_path = "libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info" - enable_bytecode_checks = false - @@ -4109,7 +4110,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_clearcut_java") { -- aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info" - enable_bytecode_checks = false - @@ -4132,7 +4133,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cloud_messaging_java") { -- aar_path = "libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cloud_messaging/com_google_android_gms_play_services_cloud_messaging.info" - enable_bytecode_checks = false - @@ -4152,7 +4153,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_flags_java") { -- aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info" - enable_bytecode_checks = false - @@ -4172,7 +4173,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_phenotype_java") { -- aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_phenotype/com_google_android_gms_play_services_phenotype.info" - enable_bytecode_checks = false - @@ -4194,7 +4195,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_stats_java") { -- aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info" - enable_bytecode_checks = false - @@ -4213,7 +4214,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. - android_aar_prebuilt("com_google_android_play_core_common_java") { -- aar_path = "libs/com_google_android_play_core_common/core-common-2.0.2.aar" +- aar_path = +- "cipd/libs/com_google_android_play_core_common/core-common-2.0.2.aar" - info_path = "libs/com_google_android_play_core_common/com_google_android_play_core_common.info" - enable_bytecode_checks = false - @@ -4228,7 +4230,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - java_prebuilt("google_firebase_firebase_annotations_java") { -- jar_path = "libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar" +- jar_path = "cipd/libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar" - output_name = "com_google_firebase_firebase_annotations" - supports_android = true - enable_bytecode_checks = false @@ -4245,8 +4247,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_common_java") { -- aar_path = -- "libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar" - info_path = "libs/com_google_firebase_firebase_common/com_google_firebase_firebase_common.info" - enable_bytecode_checks = false - @@ -4267,7 +4268,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_components_java") { -- aar_path = "libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar" - info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info" - enable_bytecode_checks = false - @@ -4287,7 +4288,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - java_prebuilt("google_firebase_firebase_encoders_java") { -- jar_path = "libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar" +- jar_path = "cipd/libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar" - output_name = "com_google_firebase_firebase_encoders" - supports_android = true - enable_bytecode_checks = false @@ -4308,7 +4309,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_encoders_json_java") { -- aar_path = "libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar" - info_path = "libs/com_google_firebase_firebase_encoders_json/com_google_firebase_firebase_encoders_json.info" - enable_bytecode_checks = false - @@ -4328,7 +4329,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_iid_interop_java") { -- aar_path = "libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar" - info_path = "libs/com_google_firebase_firebase_iid_interop/com_google_firebase_firebase_iid_interop.info" - enable_bytecode_checks = false - @@ -4348,7 +4349,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_installations_java") { -- aar_path = "libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar" - info_path = "libs/com_google_firebase_firebase_installations/com_google_firebase_firebase_installations.info" - enable_bytecode_checks = false - @@ -4371,7 +4372,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt( - "google_firebase_firebase_installations_interop_java") { -- aar_path = "libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar" - info_path = "libs/com_google_firebase_firebase_installations_interop/com_google_firebase_firebase_installations_interop.info" - enable_bytecode_checks = false - @@ -4392,7 +4393,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt( - "google_firebase_firebase_measurement_connector_java") { -- aar_path = "libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar" - info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info" - enable_bytecode_checks = false - @@ -4409,14 +4410,14 @@ 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 = "libs/com_squareup_javawriter/javawriter-2.1.1.jar" -@@ -2305,33 +1606,6 @@ if (!limit_android_deps) { + jar_path = "cipd/libs/com_squareup_javawriter/javawriter-2.1.1.jar" +@@ -2316,33 +1616,6 @@ if (!limit_android_deps) { deps = [ "//third_party/kotlin_stdlib:kotlin_stdlib_java" ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - java_prebuilt("io_grpc_grpc_core_java") { -- jar_path = "libs/io_grpc_grpc_core/grpc-core-1.49.0.jar" +- jar_path = "cipd/libs/io_grpc_grpc_core/grpc-core-1.49.0.jar" - output_name = "io_grpc_grpc_core" - supports_android = true - enable_bytecode_checks = false @@ -4443,7 +4444,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 = "libs/io_perfmark_perfmark_api/perfmark-api-0.25.0.jar" + jar_path = "cipd/libs/io_perfmark_perfmark_api/perfmark-api-0.25.0.jar" diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn --- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn +++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch index ab86766b..0ad1f456 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 -@@ -383,7 +383,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( +@@ -382,7 +382,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( void ProfileNetworkContextService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled, @@ -24,7 +24,7 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow diff --git a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc --- a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc +++ b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc -@@ -101,20 +101,6 @@ bool IsEnterpriseManaged() { +@@ -102,20 +102,6 @@ bool IsEnterpriseManaged() { // CaptivePortalBlockingPage to be invoked when the user has pressed the // connect button. void OpenLoginPage(content::WebContents* web_contents) { diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index 6431167c..a2ce19a1 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 -@@ -152,9 +152,6 @@ found in the LICENSE file. +@@ -155,9 +155,6 @@ found in the LICENSE file. @@ -53,7 +53,7 @@ diff --git a/chrome/android/java/res/menu/save_password_preferences_action_bar_m diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java --- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java -@@ -464,9 +464,6 @@ public class KeyboardShortcuts { +@@ -463,9 +463,6 @@ public class KeyboardShortcuts { case KeyEvent.KEYCODE_BUTTON_START: if (currentTab != null && currentTab.canGoForward()) currentTab.goForward(); return true; @@ -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 -@@ -2612,15 +2612,6 @@ public abstract class ChromeActivity +@@ -2528,15 +2528,6 @@ public abstract class ChromeActivity final Tab currentTab = getActivityTab(); @@ -80,12 +80,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv - } - if (id == R.id.open_history_menu_id) { - // 'currentTab' could only be null when opening history from start surface, which is - // not available on tablet. + if (currentTab != null && UrlUtilities.isNtpUrl(currentTab.getUrl())) { + NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_HISTORY_MANAGER); 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 -@@ -101,6 +101,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -102,6 +102,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); @@ -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 -@@ -892,6 +892,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -893,6 +893,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 -@@ -762,7 +762,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivityTree().ExperimentalSetNulledName(); } -@@ -2819,6 +2819,7 @@ void DocumentLoader::CommitNavigation() { +@@ -2845,6 +2845,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 a8dd5bca..5adcda44 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 -@@ -1935,6 +1935,16 @@ static_library("browser") { +@@ -1958,6 +1958,16 @@ static_library("browser") { ] } @@ -55,8 +55,8 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c #include "chrome/browser/profiles/off_the_record_profile_impl.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_key.h" -@@ -56,6 +57,7 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory() - .WithGuest(ProfileSelection::kOwnInstance) +@@ -59,6 +60,7 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory() + .WithAshInternals(ProfileSelection::kOwnInstance) .Build()) { DependsOn(SupervisedUserSettingsServiceFactory::GetInstance()); + DependsOn(LastTabStandingTrackerFactory::GetInstance()); @@ -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 -@@ -114,6 +114,7 @@ +@@ -120,6 +120,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" -@@ -1006,6 +1007,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1023,6 +1024,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) OnDeviceTailModelServiceFactory::GetInstance(); #endif @@ -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" -@@ -421,6 +422,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -419,6 +420,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 fb28aea1..65c9c920 100644 --- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch @@ -23,24 +23,24 @@ 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 -@@ -268,6 +268,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -279,6 +279,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReaderModeInCCT, &kRecordSuppressionMetrics, &kReengagementNotification, + &kSearchReadyOmniboxFeature, &kRelatedSearchesAllLanguage, &kReportParentalControlSitesChild, - &kSearchEnginesPromoV3, + &kSearchInCCT, 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 -@@ -351,6 +351,7 @@ public abstract class ChromeFeatureList { +@@ -357,6 +357,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"; + public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; - public static final String MIGRATE_ACCOUNT_MANAGEMENT_SETTINGS_TO_CAPABILITIES = - "MigrateAccountManagementSettingsToCapabilities"; + public static final String MOST_VISITED_TILES_SELECT_EXISTING_TAB = + "MostVisitedTilesSelectExistingTab"; public static final String MUlTI_INSTANCE_APPLICATION_STATUS_CLEANUP = diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index c9161bb5..10fd3483 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../feedback/ChromeFeedbackCollector.java | 1 + .../feedback/SimplifiedNtpFeedbackSource.java | 38 ++++ .../identity_disc/IdentityDiscController.java | 5 +- - .../NativePageNavigationDelegateImpl.java | 4 +- + .../NativePageNavigationDelegateImpl.java | 2 +- .../chrome/browser/ntp/NewTabPageLayout.java | 25 ++- .../SuggestionsNavigationDelegate.java | 17 ++ .../mostvisited/MostVisitedSitesBridge.java | 2 +- @@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Restore-Simplified-NTP-launch.inc | 12 ++ .../Restore-Simplified-NTP-launch.inc | 6 + .../Restore-Simplified-NTP-launch.inc | 1 + - 24 files changed, 397 insertions(+), 31 deletions(-) + 24 files changed, 396 insertions(+), 30 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 @@ -52,7 +52,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 -@@ -622,6 +622,7 @@ chrome_java_sources = [ +@@ -623,6 +623,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java", "java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java", "java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java", @@ -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", -@@ -1058,6 +1059,7 @@ chrome_java_sources = [ +@@ -1054,6 +1055,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 -@@ -129,6 +129,8 @@ found in the LICENSE file. +@@ -127,6 +127,8 @@ found in the LICENSE file. 62dp @@ -260,7 +260,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java -@@ -169,7 +169,10 @@ public class IdentityDiscController +@@ -153,7 +153,10 @@ public class IdentityDiscController mButtonData.setButtonSpec( buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), email)); @@ -275,23 +275,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java -@@ -29,10 +29,10 @@ import java.util.List; +@@ -30,7 +30,7 @@ import java.util.List; /** {@link NativePageNavigationDelegate} implementation. */ public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate { - private final Profile mProfile; + protected final Profile mProfile; - private final TabModelSelector mTabModelSelector; private final TabGroupCreationDialogManager mTabGroupCreationDialogManager; -- private final Tab mTab; -+ protected final Tab mTab; - protected final Activity mActivity; - protected final NativePageHost mHost; + protected final TabModelSelector mTabModelSelector; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java -@@ -16,6 +16,7 @@ import android.text.Editable; +@@ -15,6 +15,7 @@ import android.text.Editable; import android.util.AttributeSet; import android.view.DragEvent; import android.view.LayoutInflater; @@ -299,15 +295,15 @@ 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; -@@ -32,6 +33,7 @@ import org.chromium.base.supplier.ObservableSupplier; - import org.chromium.chrome.R; +@@ -32,6 +33,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate; + import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.lens.LensEntryPoint; +import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.lens.LensMetrics; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.logo.LogoBridge.Logo; -@@ -92,6 +94,8 @@ public class NewTabPageLayout extends LinearLayout { +@@ -89,6 +91,8 @@ public class NewTabPageLayout extends LinearLayout { private @Nullable DisplayStyleObserver mDisplayStyleObserver; private CallbackController mCallbackController = new CallbackController(); @@ -316,7 +312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL /** * Whether the tiles shown in the layout have finished loading. * With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress. -@@ -104,7 +108,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -101,7 +105,7 @@ public class NewTabPageLayout extends LinearLayout { */ private boolean mHasShownView; @@ -325,15 +321,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL private boolean mSearchProviderIsGoogle; private boolean mShowingNonStandardGoogleLogo; -@@ -278,6 +282,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -272,6 +276,7 @@ public class NewTabPageLayout extends LinearLayout { + initializeLogoCoordinator(searchProviderHasLogo, searchProviderIsGoogle); initializeMostVisitedTilesCoordinator( mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate); - initializeSearchBoxBackground(); + initializeShortcuts(); initializeSearchBoxTextView(); initializeVoiceSearchButton(); initializeLensButton(); -@@ -645,7 +650,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -610,7 +615,7 @@ public class NewTabPageLayout extends LinearLayout { && mInitialized) { return; } @@ -341,8 +337,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL + mSearchProviderHasLogo = false; mSearchProviderIsGoogle = isGoogle; - boolean isSearchProviderMarginUpdated = -@@ -1017,6 +1022,22 @@ public class NewTabPageLayout extends LinearLayout { + if (!mSearchProviderIsGoogle) { +@@ -945,6 +950,22 @@ public class NewTabPageLayout extends LinearLayout { return mMostVisitedTilesCoordinator; } @@ -368,7 +364,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java -@@ -15,6 +15,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost; +@@ -18,6 +18,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost; import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.ui.base.PageTransition; @@ -380,7 +376,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug /** Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods. */ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateImpl { public SuggestionsNavigationDelegate( -@@ -27,6 +32,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI +@@ -30,6 +35,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI super(activity, profile, host, tabModelSelector, tabGroupCreationDialogManager, tab); } @@ -696,8 +692,8 @@ 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 -@@ -240,6 +240,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kGcmNativeBackgroundTask, +@@ -247,6 +247,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kGtsCloseTabAnimation, &kIncognitoReauthenticationForAndroid, &kIncognitoScreenshot, + &kSimplifiedNTP, @@ -707,27 +703,27 @@ 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 -@@ -353,6 +353,7 @@ public abstract class ChromeFeatureList { +@@ -359,6 +359,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"; + public static final String SIMPLIFIED_NTP = "SimplifiedNTP"; public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; - public static final String MIGRATE_ACCOUNT_MANAGEMENT_SETTINGS_TO_CAPABILITIES = - "MigrateAccountManagementSettingsToCapabilities"; -@@ -629,7 +630,7 @@ public abstract class ChromeFeatureList { + public static final String MOST_VISITED_TILES_SELECT_EXISTING_TAB = + "MostVisitedTilesSelectExistingTab"; +@@ -647,7 +648,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sIncognitoReauthenticationForAndroid = newCachedFlag(INCOGNITO_REAUTHENTICATION_FOR_ANDROID, true); - public static final CachedFlag sLogoPolish = newCachedFlag(LOGO_POLISH, false); + public static final CachedFlag sLogoPolish = newCachedFlag(LOGO_POLISH, true); - public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true); + public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false); + public static final CachedFlag sMostVisitedTilesSelectExistingTab = + newCachedFlag(MOST_VISITED_TILES_SELECT_EXISTING_TAB, false); public static final CachedFlag sMultiInstanceApplicationStatusCleanup = - newCachedFlag(MUlTI_INSTANCE_APPLICATION_STATUS_CLEANUP, false); - public static final CachedFlag sNavBarColorMatchesTabBackground = -@@ -662,7 +663,7 @@ public abstract class ChromeFeatureList { +@@ -681,7 +682,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 sStopAppIndexingReport = - newCachedFlag(STOP_APP_INDEXING_REPORT, true); - public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, true); + public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, false); public static final CachedFlag sSurfacePolishForToolbarKillSwitch = 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 5c857deb..21e6e5d0 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -50,6 +50,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; +@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; import org.chromium.chrome.browser.sync.settings.SignInPreference; import org.chromium.chrome.browser.sync.settings.SyncPromoPreference; import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils; @@ -34,7 +34,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; -@@ -272,7 +273,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -268,7 +269,7 @@ public class MainSettings extends ChromeBaseSettingsFragment uiState -> { // We don't show the toolbar shortcut settings page if disabled from // finch. @@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButt 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 -@@ -661,18 +661,12 @@ const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Share[] = { +@@ -701,18 +701,12 @@ const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Share[] = { {"default_segment", "share"}, {"show_ui_only_after_ready", "false"}, {"ignore_segmentation_results", "true"}}; @@ -130,7 +130,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js 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 -@@ -155,6 +155,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -159,6 +159,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &history::kOrganicRepeatableQueries, &history_clusters::internal::kJourneys, &history_clusters::internal::kOmniboxAction, @@ -138,7 +138,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kAdaptiveButtonInTopToolbarTranslate, &kAdaptiveButtonInTopToolbarAddToBookmarks, &kAdaptiveButtonInTopToolbarCustomizationV2, -@@ -406,6 +407,10 @@ static jlong JNI_ChromeFeatureMap_GetNativeMap(JNIEnv* env) { +@@ -418,6 +419,10 @@ static jlong JNI_ChromeFeatureMap_GetNativeMap(JNIEnv* env) { // Alphabetical: @@ -317,7 +317,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/adaptive/AdaptiveToolbarStatePredictorTest.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java -@@ -74,6 +74,21 @@ public class AdaptiveToolbarStatePredictorTest { +@@ -70,6 +70,21 @@ public class AdaptiveToolbarStatePredictorTest { statePredictor.recomputeUiState(verifyResultCallback(expected)); } diff --git a/build/patches/Restore-chrome-password-store.patch b/build/patches/Restore-chrome-password-store.patch index b09fd361..5f1818f1 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 -@@ -706,7 +706,7 @@ For more settings that use data to improve your Chrome experience, go to @@ -56,7 +56,7 @@ diff --git a/components/password_manager/core/browser/buildflags.gni b/component diff --git a/components/sync/base/features.cc b/components/sync/base/features.cc --- a/components/sync/base/features.cc +++ b/components/sync/base/features.cc -@@ -99,6 +99,7 @@ BASE_FEATURE(kEnablePasswordsAccountStorageForNonSyncingUsers, +@@ -91,6 +91,7 @@ BASE_FEATURE(kEnablePasswordsAccountStorageForNonSyncingUsers, base::FEATURE_ENABLED_BY_DEFAULT #endif ); diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch index 14bcb1a2..3ce5655f 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 -@@ -1130,7 +1130,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1123,7 +1123,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; } -@@ -1164,6 +1165,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1157,6 +1158,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight); }); @@ -117,18 +117,18 @@ 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 -@@ -252,6 +252,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kNewTabSearchEngineUrlAndroid, +@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kNewTabPageAndroidTriggerForPrerender2, &kNotificationPermissionVariant, &kNotificationPermissionBottomSheet, + &kOfflineIndicatorV2, + &kTinkerTankBottomSheet, &kPageAnnotationsService, &kPreconnectOnTabCreation, - &kPriceChangeModule, 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 -@@ -368,6 +368,7 @@ public abstract class ChromeFeatureList { +@@ -376,6 +376,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 f8b4e518..4935bbeb 100644 --- a/build/patches/Revert-Permit-blocking-of-view-source.patch +++ b/build/patches/Revert-Permit-blocking-of-view-source.patch @@ -6,65 +6,18 @@ This reverts commit e72fc9b64116bf259e516096fcc60b58ae8ae1b3. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../policy_blocklist_navigation_throttle.cc | 19 ------------------- - .../policy_blocklist_navigation_throttle.h | 4 ---- - 2 files changed, 23 deletions(-) + .../policy/content/policy_blocklist_navigation_throttle.cc | 1 + + 1 file changed, 1 insertion(+) 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 -@@ -14,7 +14,6 @@ - #include "components/prefs/pref_service.h" - #include "components/user_prefs/user_prefs.h" - #include "content/public/browser/browser_context.h" --#include "content/public/browser/navigation_entry.h" - #include "content/public/browser/navigation_handle.h" - #include "url/gurl.h" +@@ -50,6 +50,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() { + } -@@ -42,19 +41,6 @@ PolicyBlocklistNavigationThrottle::PolicyBlocklistNavigationThrottle( - PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() = - default; - --bool PolicyBlocklistNavigationThrottle::IsBlockedViewSourceNavigation() { -- content::NavigationEntry* nav_entry = -- navigation_handle()->GetNavigationEntry(); -- if (!nav_entry || !nav_entry->IsViewSourceMode()) -- return false; -- -- GURL view_source_url = GURL(std::string("view-source:") + -- navigation_handle()->GetURL().spec()); -- -- return (blocklist_service_->GetURLBlocklistState(view_source_url) == -- URLBlocklistState::URL_IN_BLOCKLIST); --} -- - content::NavigationThrottle::ThrottleCheckResult - PolicyBlocklistNavigationThrottle::WillStartRequest() { - const GURL& url = navigation_handle()->GetURL(); -@@ -71,11 +57,6 @@ PolicyBlocklistNavigationThrottle::WillStartRequest() { - net::ERR_BLOCKED_BY_ADMINISTRATOR); - } - -- if (IsBlockedViewSourceNavigation()) { -- return ThrottleCheckResult(BLOCK_REQUEST, -- net::ERR_BLOCKED_BY_ADMINISTRATOR); -- } -- - if (blocklist_state == URLBlocklistState::URL_IN_ALLOWLIST) - return PROCEED; - -diff --git a/components/policy/content/policy_blocklist_navigation_throttle.h b/components/policy/content/policy_blocklist_navigation_throttle.h ---- a/components/policy/content/policy_blocklist_navigation_throttle.h -+++ b/components/policy/content/policy_blocklist_navigation_throttle.h -@@ -35,10 +35,6 @@ class PolicyBlocklistNavigationThrottle : public content::NavigationThrottle { - const char* GetNameForLogging() override; - - private: -- // Returns TRUE if this navigation is to view-source: and view-source is on -- // the URLBlocklist. -- bool IsBlockedViewSourceNavigation(); -- - // To ensure both allow and block policies override Safe Sites, - // SafeSitesNavigationThrottle must be consulted as part of this throttle - // rather than added separately to the list of throttles. + bool PolicyBlocklistNavigationThrottle::IsBlockedViewSourceNavigation() { ++ if ((true)) return false + content::NavigationEntry* nav_entry = + navigation_handle()->GetNavigationEntry(); + if (!nav_entry || !nav_entry->IsViewSourceMode()) { -- 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 f30a2a3e..1a273329 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 -@@ -2069,6 +2069,10 @@ +@@ -2106,6 +2106,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 f724288f..0d2695d3 100644 --- a/build/patches/Revert-removal-of-execution-context-address-space.patch +++ b/build/patches/Revert-removal-of-execution-context-address-space.patch @@ -85,15 +85,15 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -33,6 +33,7 @@ - #include "base/notreached.h" +@@ -34,6 +34,7 @@ #include "base/task/single_thread_task_runner.h" + #include "net/storage_access_api/status.h" #include "services/metrics/public/cpp/ukm_source_id.h" +#include "services/network/public/mojom/ip_address_space.mojom-blink-forward.h" #include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h" #include "third_party/blink/public/common/tokens/tokens.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" -@@ -386,6 +387,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -387,6 +388,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable, const String& message = g_empty_string, const String& source_file = g_empty_string) const {} @@ -106,7 +106,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context 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 --- a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc +++ b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc -@@ -252,6 +252,7 @@ void WebSharedWorkerImpl::StartWorkerContext( +@@ -253,6 +253,7 @@ void WebSharedWorkerImpl::StartWorkerContext( MakeGarbageCollected(), std::make_unique( std::move(content_settings)), @@ -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 -@@ -8087,6 +8087,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { +@@ -8094,6 +8094,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { EXPECT_EQ(client.StopLoadingCount(), 2); } @@ -237,7 +237,7 @@ diff --git a/third_party/blink/renderer/core/loader/modulescript/installed_servi diff --git a/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc b/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc --- a/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc +++ b/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc -@@ -216,6 +216,7 @@ void ModuleScriptLoaderTest::InitializeForWorklet() { +@@ -215,6 +215,7 @@ void ModuleScriptLoaderTest::InitializeForWorklet() { network::mojom::ReferrerPolicy::kDefault, security_origin_.get(), true /* is_secure_context */, HttpsState::kModern, nullptr /* worker_clients */, nullptr /* content_settings_client */, @@ -268,7 +268,7 @@ diff --git a/third_party/blink/renderer/core/loader/modulescript/worker_module_s diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc --- a/third_party/blink/renderer/core/workers/dedicated_worker.cc +++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc -@@ -300,6 +300,7 @@ void DedicatedWorker::OnHostCreated( +@@ -301,6 +301,7 @@ void DedicatedWorker::OnHostCreated( nullptr /* worker_main_script_load_params */, network::mojom::ReferrerPolicy::kDefault, Vector(), @@ -276,7 +276,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third String() /* source_code */, reject_coep_unsafe_none, std::move(back_forward_cache_controller_host)); return; -@@ -355,6 +356,7 @@ void DedicatedWorker::OnScriptLoadStarted( +@@ -356,6 +357,7 @@ void DedicatedWorker::OnScriptLoadStarted( ContinueStart(script_request_url_, std::move(worker_main_script_load_params), network::mojom::ReferrerPolicy::kDefault, Vector(), @@ -284,7 +284,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third String() /* source_code */, RejectCoepUnsafeNone(false), std::move(back_forward_cache_controller_host)); } -@@ -427,6 +429,7 @@ void DedicatedWorker::OnFinished( +@@ -428,6 +430,7 @@ void DedicatedWorker::OnFinished( ? mojo::Clone(classic_script_loader_->GetContentSecurityPolicy() ->GetParsedPolicies()) : Vector(), @@ -292,7 +292,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third classic_script_loader_->SourceText(), RejectCoepUnsafeNone(false), std::move(back_forward_cache_controller_host)); probe::ScriptImported(GetExecutionContext(), -@@ -443,6 +446,7 @@ void DedicatedWorker::ContinueStart( +@@ -444,6 +447,7 @@ void DedicatedWorker::ContinueStart( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -300,7 +300,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -465,6 +469,7 @@ void DedicatedWorker::ContinueStart( +@@ -466,6 +470,7 @@ void DedicatedWorker::ContinueStart( std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -308,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third source_code, reject_coep_unsafe_none, std::move(back_forward_cache_controller_host)), base::Milliseconds(features::kDedicatedWorkerStartDelayInMs.Get())); -@@ -473,6 +478,7 @@ void DedicatedWorker::ContinueStart( +@@ -474,6 +479,7 @@ void DedicatedWorker::ContinueStart( ContinueStartInternal(script_url, std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -316,7 +316,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third source_code, reject_coep_unsafe_none, std::move(back_forward_cache_controller_host)); } -@@ -484,6 +490,7 @@ void DedicatedWorker::ContinueStartInternal( +@@ -485,6 +491,7 @@ void DedicatedWorker::ContinueStartInternal( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -324,7 +324,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -495,7 +502,8 @@ void DedicatedWorker::ContinueStartInternal( +@@ -496,7 +503,8 @@ void DedicatedWorker::ContinueStartInternal( context_proxy_->StartWorkerGlobalScope( CreateGlobalScopeCreationParams( script_url, referrer_policy, @@ -334,7 +334,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(worker_main_script_load_params), options_, script_url, *outside_fetch_client_settings_object_, v8_stack_trace_id_, source_code, reject_coep_unsafe_none, token_, -@@ -532,7 +540,8 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -533,7 +541,8 @@ DedicatedWorker::CreateGlobalScopeCreationParams( const KURL& script_url, network::mojom::ReferrerPolicy referrer_policy, Vector @@ -344,7 +344,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third base::UnguessableToken parent_devtools_token; std::unique_ptr settings; ExecutionContext* execution_context = GetExecutionContext(); -@@ -581,6 +590,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -582,6 +591,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( execution_context->GetSecurityOrigin(), execution_context->IsSecureContext(), execution_context->GetHttpsState(), MakeGarbageCollected(), CreateWebContentSettingsClient(), @@ -384,7 +384,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc --- a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc +++ b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc -@@ -91,6 +91,8 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( +@@ -92,6 +92,8 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( KURL response_script_url = creation_params->script_url; network::mojom::ReferrerPolicy response_referrer_policy = creation_params->referrer_policy; @@ -393,7 +393,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco const bool parent_cross_origin_isolated_capability = creation_params->parent_cross_origin_isolated_capability; const bool parent_is_isolated_context = -@@ -119,7 +121,7 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( +@@ -120,7 +122,7 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( // Pass dummy origin trial tokens here as it is already set to outside's // origin trial tokens in DedicatedWorkerGlobalScope's constructor. global_scope->Initialize(response_script_url, response_referrer_policy, @@ -402,7 +402,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco nullptr /* response_origin_trial_tokens */); return global_scope; } else { -@@ -245,6 +247,7 @@ const AtomicString& DedicatedWorkerGlobalScope::InterfaceName() const { +@@ -247,6 +249,7 @@ const AtomicString& DedicatedWorkerGlobalScope::InterfaceName() const { void DedicatedWorkerGlobalScope::Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -410,7 +410,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco Vector response_csp, const Vector* /* response_origin_trial_tokens */) { TRACE_EVENT("blink.worker", "DedicatedWorkerGlobalScope::Initialize", -@@ -260,6 +263,9 @@ void DedicatedWorkerGlobalScope::Initialize( +@@ -262,6 +265,9 @@ void DedicatedWorkerGlobalScope::Initialize( // parsing the `Referrer-Policy` header of response." SetReferrerPolicy(response_referrer_policy); @@ -420,7 +420,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco // The following is the Content-Security-Policy part of "Initialize worker // global scope's policy container" // https://html.spec.whatwg.org/#initialize-worker-policy-container -@@ -499,6 +505,7 @@ void DedicatedWorkerGlobalScope::DidFetchClassicScript( +@@ -501,6 +507,7 @@ void DedicatedWorkerGlobalScope::DidFetchClassicScript( // Pass dummy origin trial tokens here as it is already set to outside's // origin trial tokens in DedicatedWorkerGlobalScope's constructor. Initialize(classic_script_loader->ResponseURL(), response_referrer_policy, @@ -431,7 +431,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h --- a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h +++ b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h -@@ -111,6 +111,7 @@ class CORE_EXPORT DedicatedWorkerGlobalScope final : public WorkerGlobalScope { +@@ -112,6 +112,7 @@ class CORE_EXPORT DedicatedWorkerGlobalScope final : public WorkerGlobalScope { void Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -442,7 +442,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_params.cc b/third_party/blink/renderer/core/workers/global_scope_creation_params.cc --- a/third_party/blink/renderer/core/workers/global_scope_creation_params.cc +++ b/third_party/blink/renderer/core/workers/global_scope_creation_params.cc -@@ -31,6 +31,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams( +@@ -32,6 +32,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams( HttpsState starter_https_state, WorkerClients* worker_clients, std::unique_ptr content_settings_client, @@ -450,7 +450,7 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param const Vector* inherited_trial_features, const base::UnguessableToken& parent_devtools_token, std::unique_ptr worker_settings, -@@ -69,6 +70,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams( +@@ -70,6 +71,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams( starter_https_state(starter_https_state), worker_clients(worker_clients), content_settings_client(std::move(content_settings_client)), @@ -461,15 +461,15 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_params.h b/third_party/blink/renderer/core/workers/global_scope_creation_params.h --- a/third_party/blink/renderer/core/workers/global_scope_creation_params.h +++ b/third_party/blink/renderer/core/workers/global_scope_creation_params.h -@@ -12,6 +12,7 @@ - #include "base/unguessable_token.h" +@@ -13,6 +13,7 @@ #include "mojo/public/cpp/bindings/pending_remote.h" + #include "net/storage_access_api/status.h" #include "services/metrics/public/cpp/ukm_source_id.h" +#include "services/network/public/mojom/ip_address_space.mojom-blink-forward.h" #include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h" #include "third_party/blink/public/common/permissions_policy/permissions_policy.h" #include "third_party/blink/public/common/tokens/tokens.h" -@@ -61,6 +62,7 @@ struct CORE_EXPORT GlobalScopeCreationParams final { +@@ -62,6 +63,7 @@ struct CORE_EXPORT GlobalScopeCreationParams final { HttpsState starter_https_state, WorkerClients*, std::unique_ptr, @@ -477,7 +477,7 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param const Vector* inherited_trial_features, const base::UnguessableToken& parent_devtools_token, std::unique_ptr, -@@ -170,6 +172,11 @@ struct CORE_EXPORT GlobalScopeCreationParams final { +@@ -172,6 +174,11 @@ struct CORE_EXPORT GlobalScopeCreationParams final { std::unique_ptr content_settings_client; @@ -711,10 +711,10 @@ diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/thi #include "base/time/time.h" #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h" +#include "services/network/public/mojom/ip_address_space.mojom-blink-forward.h" - #include "third_party/blink/public/common/browser_interface_broker_proxy.h" #include "third_party/blink/public/common/loader/worker_main_script_load_parameters.h" #include "third_party/blink/public/common/tokens/tokens.h" -@@ -172,6 +173,7 @@ class CORE_EXPORT WorkerGlobalScope + #include "third_party/blink/public/mojom/loader/code_cache.mojom-blink-forward.h" +@@ -174,6 +175,7 @@ class CORE_EXPORT WorkerGlobalScope virtual void Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -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 -@@ -475,6 +475,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -476,6 +476,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()) -@@ -488,6 +489,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -489,6 +490,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." -@@ -501,6 +503,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -502,6 +504,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 -@@ -511,6 +516,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -512,6 +517,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(); -@@ -551,26 +559,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( +@@ -552,26 +560,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( kDoNotSupportReferrerPolicyLegacyKeywords, &referrer_policy); } @@ -899,7 +899,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl diff --git a/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope_test.cc b/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope_test.cc --- a/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope_test.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope_test.cc -@@ -86,6 +86,7 @@ class AudioWorkletGlobalScopeTest : public PageTestBase, public ModuleTestBase { +@@ -91,6 +91,7 @@ class AudioWorkletGlobalScopeTest : public PageTestBase, public ModuleTestBase { window->GetReferrerPolicy(), window->GetSecurityOrigin(), window->IsSecureContext(), window->GetHttpsState(), nullptr /* worker_clients */, nullptr /* content_settings_client */, @@ -910,7 +910,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_worklet_global_sc diff --git a/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc b/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc --- a/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc -@@ -106,6 +106,7 @@ class AudioWorkletThreadTest : public PageTestBase, public ModuleTestBase { +@@ -111,6 +111,7 @@ class AudioWorkletThreadTest : public PageTestBase, public ModuleTestBase { window->GetReferrerPolicy(), window->GetSecurityOrigin(), window->IsSecureContext(), window->GetHttpsState(), nullptr /* worker_clients */, nullptr /* content_settings_client */, 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 d064ff11..d6991653 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -9,7 +9,7 @@ https://chromium-review.googlesource.com/c/chromium/src/+/5307559 .../renderer/content_settings_agent_impl.cc | 38 ++++++++++++++++++- .../renderer/content_settings_agent_impl.h | 6 +++ .../platform/web_content_settings_client.h | 12 ++++++ - .../blink/renderer/core/frame/local_frame.cc | 8 ---- + .../blink/renderer/core/frame/local_frame.cc | 13 ------- .../blink/renderer/core/frame/local_frame.h | 6 --- .../renderer/core/html/html_meta_element.cc | 4 +- .../core/loader/base_fetch_context.cc | 2 +- @@ -18,7 +18,7 @@ https://chromium-review.googlesource.com/c/chromium/src/+/5307559 .../core/loader/frame_fetch_context.h | 13 ++++++- .../core/loader/worker_fetch_context.cc | 12 ++++-- .../core/loader/worker_fetch_context.h | 2 +- - 14 files changed, 139 insertions(+), 33 deletions(-) + 14 files changed, 139 insertions(+), 38 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 @@ -187,15 +187,20 @@ 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 -@@ -4042,14 +4042,6 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings() { +@@ -4041,19 +4041,6 @@ bool LocalFrame::IsSameOrigin() { + return security_origin->IsSameOriginWith(top_security_origin); } - -bool LocalFrame::ScriptEnabled() { - DCHECK(!IsDetached()); -- +- // If this is called in the middle of detach, GetDocumentLoader() might +- // already be nullptr. +- if (!loader_.GetDocumentLoader()) { +- return false; +- } - bool allow_script_renderer = GetSettings()->GetScriptEnabled(); -- bool allow_script_content_setting = GetContentSettings()->allow_script; +- bool allow_script_content_setting = +- loader_.GetDocumentLoader()->GetContentSettings()->allow_script; - return allow_script_renderer && allow_script_content_setting; -} - @@ -205,9 +210,9 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -930,12 +930,6 @@ class CORE_EXPORT LocalFrame final - // Can only be called while the frame is not detached. - const mojom::RendererContentSettingsPtr& GetContentSettings(); +@@ -927,12 +927,6 @@ class CORE_EXPORT LocalFrame final + return *v8_local_compile_hints_producer_; + } - // Returns whether script is allowed to run for the current frame. This is a - // convenience method that checks both renderer content settings and frame @@ -221,7 +226,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 -@@ -773,7 +773,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, +@@ -778,7 +778,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, return; } @@ -235,7 +240,7 @@ diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_p diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc --- a/third_party/blink/renderer/core/loader/base_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc -@@ -574,7 +574,7 @@ BaseFetchContext::CanRequestInternal( +@@ -589,7 +589,7 @@ BaseFetchContext::CanRequestInternal( } if (type == ResourceType::kScript) { @@ -247,7 +252,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h --- a/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h -@@ -117,7 +117,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -125,7 +125,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { : fetcher_properties_(properties), console_logger_(logger) {} // Used for security checks. @@ -259,7 +264,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 -@@ -451,7 +451,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -448,7 +448,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. @@ -269,7 +274,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi return; } -@@ -588,15 +589,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { +@@ -575,15 +576,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { request.SetSiteForCookies(GetSiteForCookies()); } diff --git a/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch b/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch index 7a2b21bd..0b9c0305 100644 --- a/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch +++ b/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch @@ -19,7 +19,7 @@ diff --git a/base/android/java/src/org/chromium/base/library_loader/LibraryLoade import javax.annotation.concurrent.GuardedBy; -@@ -281,7 +282,21 @@ public class LibraryLoader { +@@ -275,7 +276,21 @@ public class LibraryLoader { */ public void initInAppZygote() { assert !mInitDone; diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index af9dcda1..320ac74e 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -11,15 +11,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../android/java/res/xml/homepage_preferences.xml | 6 ++++++ .../chrome/browser/BrowserRestartActivity.java | 1 + .../chrome/browser/ChromeInactivityTracker.java | 13 +++++++++++++ - .../chrome/browser/ChromeTabbedActivity.java | 4 +++- + .../chrome/browser/ChromeTabbedActivity.java | 2 ++ .../chrome/browser/tasks/ReturnToChromeUtil.java | 12 +++++++++++- .../browser/preferences/ChromePreferenceKeys.java | 2 ++ .../preferences/LegacyChromePreferenceKeys.java | 1 + .../single_tab/SingleTabSwitcherCoordinator.java | 2 +- - .../single_tab/SingleTabSwitcherOnNtpMediator.java | 6 ++---- + .../single_tab/SingleTabSwitcherOnNtpMediator.java | 4 ++-- .../show-ntp-at-startup.grdp | 9 +++++++++ .../chrome_feature_list_cc/show-ntp-at-startup.inc | 2 ++ - 11 files changed, 51 insertions(+), 7 deletions(-) + 11 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/show-ntp-at-startup.inc @@ -83,16 +83,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 -@@ -1680,7 +1680,7 @@ public class ChromeTabbedActivity extends ChromeActivity onStandardActiveIndexRead = null; - shouldShowNtpAsHomeSurfaceAtStartup = shouldShowNtpHomeSurfaceOnStartup(); - boolean skipSavingNonActiveNtps = skipSavingNonActiveNtps(); -- if (skipSavingNonActiveNtps) { -+ if (skipSavingNonActiveNtps || shouldShowNtpAsHomeSurfaceAtStartup) { - mHomeSurfaceTracker = new HomeSurfaceTracker(); - } - if (shouldShowNtpAsHomeSurfaceAtStartup) { -@@ -2392,6 +2392,8 @@ public class ChromeTabbedActivity extends ChromeActivityGetContentSettings(); +@@ -4028,19 +4028,6 @@ bool LocalFrame::IsSameOrigin() { + return security_origin->IsSameOriginWith(top_security_origin); } -bool LocalFrame::ImagesEnabled() { - DCHECK(!IsDetached()); -- +- // If this is called in the middle of detach, GetDocumentLoader() might +- // already be nullptr. +- if (!loader_.GetDocumentLoader()) { +- return false; +- } - bool allow_image_renderer = GetSettings()->GetImagesEnabled(); -- bool allow_image_content_setting = GetContentSettings()->allow_image; +- bool allow_image_content_setting = +- loader_.GetDocumentLoader()->GetContentSettings()->allow_image; - return allow_image_renderer && allow_image_content_setting; -} - +- bool LocalFrame::ScriptEnabled() { DCHECK(!IsDetached()); + // If this is called in the middle of detach, GetDocumentLoader() might diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -929,12 +929,6 @@ class CORE_EXPORT LocalFrame final - // Can only be called while the frame is not detached. - const mojom::RendererContentSettingsPtr& GetContentSettings(); +@@ -926,12 +926,6 @@ class CORE_EXPORT LocalFrame final + return *v8_local_compile_hints_producer_; + } - // Returns whether images are allowed to load for the current frame. This is a - // convenience method that checks both renderer content settings and frame @@ -371,7 +377,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 -@@ -244,6 +244,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( +@@ -243,6 +243,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( fetcher->SetResourceLoadObserver( MakeGarbageCollected( loader, document, fetcher->GetProperties())); @@ -379,7 +385,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi fetcher->SetAutoLoadImages( frame->GetSettings()->GetLoadsImagesAutomatically()); fetcher->SetEarlyHintsPreloadedResources( -@@ -418,16 +419,11 @@ void FrameFetchContext::AddResourceTiming( +@@ -415,16 +416,11 @@ void FrameFetchContext::AddResourceTiming( ->AddResourceTiming(std::move(info), initiator_type); } @@ -414,7 +420,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -892,9 +892,8 @@ void Page::SettingsChanged(ChangeType change_type) { +@@ -992,9 +992,8 @@ void Page::SettingsChanged(ChangeType change_type) { for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { if (auto* local_frame = DynamicTo(frame)) { @@ -441,15 +447,15 @@ 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 -@@ -768,6 +768,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) +@@ -777,6 +777,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) blob_registry_remote_(init.context_lifecycle_notifier), context_lifecycle_notifier_(init.context_lifecycle_notifier), auto_load_images_(true), + images_enabled_(true), allow_stale_resources_(false), - image_fetched_(false) { - InstanceCounters::IncrementCounter(InstanceCounters::kResourceFetcherCounter); -@@ -1894,7 +1895,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( + image_fetched_(false), + transparent_image_optimization_enabled_(base::FeatureList::IsEnabled( +@@ -1916,7 +1917,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( if (existing_resource.GetType() != ResourceType::kImage) return false; @@ -458,7 +464,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2137,8 +2138,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2159,8 +2160,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } @@ -483,7 +489,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h -@@ -225,6 +225,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -229,6 +229,7 @@ class PLATFORM_EXPORT ResourceFetcher bool StartLoad(Resource*, bool is_potentially_unused_preload = false); void SetAutoLoadImages(bool); @@ -491,12 +497,9 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h FetchContext& Context() const; void ClearContext(); -@@ -686,8 +687,9 @@ class PLATFORM_EXPORT ResourceFetcher - // This is not in the bit field below because we want to use AutoReset. - bool is_in_request_resource_ = false; +@@ -692,6 +693,7 @@ class PLATFORM_EXPORT ResourceFetcher -- // 28 bits left -+ // 27 bits left + // 27 bits left bool auto_load_images_ : 1; + bool images_enabled_ : 1; bool allow_stale_resources_ : 1; diff --git a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch index fcd0196b..be593a05 100644 --- a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch +++ b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc -@@ -2984,6 +2984,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, +@@ -2985,6 +2985,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, if (it == active_streams_.end()) { // NOTE: it may just be that the stream was cancelled. LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id; diff --git a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch index 70d7e35b..bc4f7e2e 100644 --- a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch +++ b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch @@ -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 -@@ -31,4 +31,8 @@ BASE_FEATURE(kFileSystemAccessSymbolicLinkCheck, +@@ -34,4 +34,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 c5d87880..c717c066 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -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 -@@ -79,6 +79,8 @@ void PrefProvider::RegisterProfilePrefs( +@@ -81,6 +81,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 -@@ -151,6 +153,10 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -153,6 +155,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() { -@@ -444,4 +450,14 @@ void PrefProvider::SetClockForTesting(base::Clock* clock) { +@@ -440,4 +446,14 @@ void PrefProvider::SetClockForTesting(base::Clock* clock) { } } @@ -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 -@@ -673,6 +673,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) { +@@ -667,6 +667,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) { } } @@ -747,9 +747,9 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h --- a/components/content_settings/core/browser/host_content_settings_map.h +++ b/components/content_settings/core/browser/host_content_settings_map.h -@@ -367,6 +367,9 @@ class HostContentSettingsMap : public content_settings::Observer, - allow_invalid_secondary_pattern_for_testing_ = allow; - } +@@ -370,6 +370,9 @@ class HostContentSettingsMap : public content_settings::Observer, + // Returns the current time of the `clock_`. + base::Time Now() const { return clock_->Now(); } + void GetTimezoneOverrideValue(std::string& custom_timezone) const; + void SetTimezoneOverrideValue(const std::string& custom_timezone); @@ -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 -@@ -232,6 +232,9 @@ inline constexpr char kDesktopSiteWindowSettingEnabled[] = +@@ -238,6 +238,9 @@ inline constexpr char kDesktopSiteWindowSettingEnabled[] = "desktop_site.window_setting"; #endif diff --git a/build/patches/Use-BoringSSL-for-RandBytes.patch b/build/patches/Use-BoringSSL-for-RandBytes.patch index 324d6c96..fe9de2ed 100644 --- a/build/patches/Use-BoringSSL-for-RandBytes.patch +++ b/build/patches/Use-BoringSSL-for-RandBytes.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/rand_util_fuchsia.cc b/base/rand_util_fuchsia.cc --- a/base/rand_util_fuchsia.cc +++ b/base/rand_util_fuchsia.cc -@@ -30,7 +30,7 @@ std::atomic g_use_boringssl; +@@ -29,7 +29,7 @@ std::atomic g_use_boringssl; BASE_FEATURE(kUseBoringSSLForRandBytes, "UseBoringSSLForRandBytes", @@ -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 -@@ -163,7 +163,7 @@ std::atomic g_use_boringssl; +@@ -162,7 +162,7 @@ std::atomic g_use_boringssl; BASE_FEATURE(kUseBoringSSLForRandBytes, "UseBoringSSLForRandBytes", @@ -36,7 +36,7 @@ diff --git a/base/rand_util_posix.cc b/base/rand_util_posix.cc diff --git a/base/rand_util_win.cc b/base/rand_util_win.cc --- a/base/rand_util_win.cc +++ b/base/rand_util_win.cc -@@ -41,7 +41,7 @@ std::atomic g_use_boringssl; +@@ -40,7 +40,7 @@ std::atomic g_use_boringssl; BASE_FEATURE(kUseBoringSSLForRandBytes, "UseBoringSSLForRandBytes", diff --git a/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch b/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch index 2afd20ef..8df4d330 100644 --- a/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch +++ b/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch @@ -9,7 +9,7 @@ Subject: WIN Add some prefs to secure preferences diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -113,6 +113,14 @@ bool g_disable_domain_check_for_testing = false; +@@ -116,6 +116,14 @@ bool g_disable_domain_check_for_testing = false; // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a // deprecated tracked preference. const prefs::TrackedPreferenceMetadata kTrackedPrefs[] = { diff --git a/build/patches/WIN-Disable-first-run.patch b/build/patches/WIN-Disable-first-run.patch index fd04cdf5..7ee87f41 100644 --- a/build/patches/WIN-Disable-first-run.patch +++ b/build/patches/WIN-Disable-first-run.patch @@ -15,7 +15,7 @@ diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/ void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) { - registry->RegisterBooleanPref(prefs::kFirstRunFinished, false); + registry->RegisterBooleanPref(prefs::kFirstRunFinished, true); - registry->RegisterStringPref(prefs::kFirstRunStudyGroup, ""); } + FirstRunService::FirstRunService(Profile& profile, -- diff --git a/build/patches/WIN-Disable-sharing-hub.patch b/build/patches/WIN-Disable-sharing-hub.patch index 7ca77ce6..7b3aaa07 100644 --- a/build/patches/WIN-Disable-sharing-hub.patch +++ b/build/patches/WIN-Disable-sharing-hub.patch @@ -7,8 +7,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +- chrome/browser/ui/browser_command_controller.cc | 6 +++--- chrome/browser/ui/browser_commands.cc | 1 + - .../qrcode_generator/qrcode_generator_bubble_controller.cc | 5 +---- - 4 files changed, 6 insertions(+), 8 deletions(-) + .../qrcode_generator/qrcode_generator_bubble_controller.cc | 1 + + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser/sharing_hub/sharing_hub_features.cc --- a/chrome/browser/sharing_hub/sharing_hub_features.cc @@ -25,7 +25,7 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -1789,10 +1789,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { +@@ -1773,10 +1773,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui); #endif command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU, @@ -42,7 +42,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 -@@ -1645,6 +1645,7 @@ void SendTabToSelf(Browser* browser) { +@@ -1649,6 +1649,7 @@ void SendTabToSelf(Browser* browser) { } bool CanGenerateQrCode(const Browser* browser) { @@ -53,16 +53,12 @@ diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_c diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc --- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc +++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc -@@ -23,10 +23,7 @@ QRCodeGeneratorBubbleController::~QRCodeGeneratorBubbleController() { +@@ -37,6 +37,7 @@ QRCodeGeneratorBubbleController::~QRCodeGeneratorBubbleController() { // static bool QRCodeGeneratorBubbleController::IsGeneratorAvailable(const GURL& url) { -- if (!url.SchemeIsHTTPOrHTTPS()) -- return false; -- -- return true; -+ return false; - } ++ if ((true)) return false; + if (!url.SchemeIsHTTPOrHTTPS()) + return false; - // static -- diff --git a/build/patches/WIN-Disable-updater.patch b/build/patches/WIN-Disable-updater.patch index 38b13690..1ce47119 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 | 9 ----- + chrome/browser/updater/BUILD.gn | 16 --------- .../browser/updater/browser_updater_client.cc | 33 +------------------ - 3 files changed, 2 insertions(+), 42 deletions(-) + 3 files changed, 2 insertions(+), 49 deletions(-) diff --git a/chrome/browser/active_use_util.h b/chrome/browser/active_use_util.h --- a/chrome/browser/active_use_util.h @@ -22,22 +22,29 @@ diff --git a/chrome/browser/active_use_util.h b/chrome/browser/active_use_util.h diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn --- a/chrome/browser/updater/BUILD.gn +++ b/chrome/browser/updater/BUILD.gn -@@ -22,15 +22,6 @@ source_set("browser_updater_client") { - "//components/version_info", - ] +@@ -23,22 +23,6 @@ if (is_win || is_mac) { + "//components/version_info", + ] -- if (is_win) { -- sources += [ "browser_updater_client_win.cc" ] +- if (is_win) { +- sources += [ "browser_updater_client_win.cc" ] - -- deps += [ -- "//chrome/browser/google", -- "//chrome/install_static:install_static_util", -- ] -- } +- if (enable_updater) { +- sources += [ "browser_updater_client_util_win.cc" ] +- } else { +- sources += [ "browser_updater_client_util_no_updater.cc" ] +- } - - if (is_mac) { - sources += [ - "browser_updater_client_mac.mm", +- deps += [ +- "//chrome/browser/google", +- "//chrome/install_static:install_static_util", +- "//chrome/installer/util:with_no_strings", +- ] +- } +- + if (is_mac) { + sources += [ + "browser_updater_client_mac.mm", 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 diff --git a/build/patches/WIN-Fix-log-to-file.patch b/build/patches/WIN-Fix-log-to-file.patch index 3fcbef1c..4057e38d 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 -@@ -312,9 +312,12 @@ RunContentProcess(ContentMainParams params, +@@ -313,9 +313,12 @@ RunContentProcess(ContentMainParams params, } 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-enable-HighEfficiencyMode-by-default.patch b/build/patches/WIN-enable-HighEfficiencyMode-by-default.patch index a0eb7b56..5f7c9d9e 100644 --- a/build/patches/WIN-enable-HighEfficiencyMode-by-default.patch +++ b/build/patches/WIN-enable-HighEfficiencyMode-by-default.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/performance_manager/user_tuning/prefs.cc b/components/performance_manager/user_tuning/prefs.cc --- a/components/performance_manager/user_tuning/prefs.cc +++ b/components/performance_manager/user_tuning/prefs.cc -@@ -23,18 +23,18 @@ +@@ -22,18 +22,18 @@ namespace performance_manager::user_tuning::prefs { void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { @@ -31,5 +31,5 @@ diff --git a/components/performance_manager/user_tuning/prefs.cc b/components/pe + static_cast(BatterySaverModeState::kDisabled)); registry->RegisterTimePref(kLastBatteryUseTimestamp, base::Time()); registry->RegisterBooleanPref(kDiscardRingTreatmentEnabled, true); - } + registry->RegisterBooleanPref(kPerformanceInterventionNotificationEnabled, -- diff --git a/build/patches/WIN-enable-file-system-access-blocklist.patch b/build/patches/WIN-enable-file-system-access-blocklist.patch index 781bb0bb..99ee3508 100644 --- a/build/patches/WIN-enable-file-system-access-blocklist.patch +++ b/build/patches/WIN-enable-file-system-access-blocklist.patch @@ -10,10 +10,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/browser/file_system_access/features.cc b/content/browser/file_system_access/features.cc --- a/content/browser/file_system_access/features.cc +++ b/content/browser/file_system_access/features.cc -@@ -41,4 +41,5 @@ BASE_FEATURE(kFileSystemAccessDirectoryIterationBlocklistCheck, +@@ -24,6 +24,7 @@ BASE_FEATURE(kFileSystemAccessBFCache, + BASE_FEATURE(kFileSystemAccessDragAndDropCheckBlocklist, + "FileSystemAccessDragAndDropCheckBlocklist", base::FEATURE_DISABLED_BY_DEFAULT); - #endif // BUILDFLAG(IS_WIN) - +SET_CROMITE_FEATURE_ENABLED(kFileSystemAccessDragAndDropCheckBlocklist); - } // namespace content::features + + // TODO(crbug.com/40896420): Remove this flag eventually. + // TODO(b/354661640): Temporarily disable this flag while investigating CrOS -- diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch index ccc55bce..d16439df 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 -@@ -2257,7 +2257,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2261,7 +2261,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 f17fcb4d..949e965a 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 -@@ -440,6 +440,7 @@ if (is_win) { +@@ -449,6 +449,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", -@@ -1681,6 +1682,8 @@ if (is_android) { +@@ -1670,6 +1671,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 -@@ -97,6 +97,9 @@ +@@ -98,6 +98,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 -@@ -1284,6 +1287,13 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { +@@ -1290,6 +1293,13 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { return chrome::RESULT_CODE_INVALID_SANDBOX_STATE; #endif @@ -98,7 +98,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 -@@ -7391,6 +7391,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -7400,6 +7400,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. @@ -112,7 +112,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc --- a/chrome/browser/ui/startup/bad_flags_prompt.cc +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -244,6 +244,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { +@@ -242,6 +242,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { return; } } @@ -131,7 +131,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 -@@ -3649,6 +3649,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3350,6 +3350,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedAv1, #endif switches::kDesktopModeViewportMetaEnabled, diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch index 815d6aa8..9f405fd7 100644 --- a/build/patches/Welcome-screen.patch +++ b/build/patches/Welcome-screen.patch @@ -29,7 +29,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 -@@ -500,6 +500,7 @@ chrome_java_resources = [ +@@ -502,6 +502,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", @@ -40,7 +40,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 -@@ -650,6 +650,8 @@ chrome_java_sources = [ +@@ -651,6 +651,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/firstrun/SyncConsentFirstRunFragment.java", "java/src/org/chromium/chrome/browser/firstrun/TabbedModeFirstRunActivity.java", "java/src/org/chromium/chrome/browser/firstrun/TosDialogBehaviorSharedPrefInvalidator.java", @@ -217,7 +217,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 -@@ -109,6 +109,16 @@ found in the LICENSE file. +@@ -107,6 +107,16 @@ found in the LICENSE file. 48dp 18dp 8dp @@ -237,7 +237,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml --- a/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml -@@ -278,6 +278,30 @@ found in the LICENSE file. +@@ -281,6 +281,30 @@ found in the LICENSE file. 1 @@ -301,7 +301,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ChildA diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/DefaultSearchEngineFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/DefaultSearchEngineFirstRunFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/DefaultSearchEngineFirstRunFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/DefaultSearchEngineFirstRunFragment.java -@@ -59,15 +59,12 @@ public class DefaultSearchEngineFirstRunFragment extends Fragment implements Fir +@@ -57,15 +57,12 @@ public class DefaultSearchEngineFirstRunFragment extends Fragment implements Fir Profile profile = getPageDelegate().getProfileProviderSupplier().get().getOriginalProfile(); assert TemplateUrlServiceFactory.getForProfile(profile).isLoaded(); @@ -320,7 +320,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/Defaul diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java -@@ -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; @@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR import org.chromium.chrome.browser.ui.signin.history_sync.HistorySyncHelper; import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.feature_engagement.EventConstants; -@@ -124,7 +123,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -123,7 +122,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa /** Creates first page and sets up adapter. Should result UI being shown on the screen. */ private void createFirstPage() { BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage(); @@ -339,7 +339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR mFreProgressStates.add(MobileFreProgress.WELCOME_SHOWN); mPagerAdapter = new FirstRunPagerAdapter(FirstRunActivity.this, mPages); mPager.setAdapter(mPagerAdapter); -@@ -146,7 +145,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -145,7 +144,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa // // TODO(b/245912657): explicitly sign in supervised users in {@link // FullscreenSigninMediator#handleContinueWithNative} rather than relying on SigninChecker. @@ -347,7 +347,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR mFirstRunFlowSequencer.updateFirstRunProperties(mFreProperties); -@@ -161,26 +159,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -160,26 +158,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN); } @@ -374,7 +374,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR if (mPagerAdapter != null) { mPagerAdapter.notifyDataSetChanged(); } -@@ -537,11 +515,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -536,11 +514,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { assert mNativeInitializationPromise.isFulfilled(); @@ -1254,7 +1254,7 @@ diff --git a/chrome/browser/locale/java/src/org/chromium/chrome/browser/locale/L 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 -@@ -3459,7 +3459,29 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3688,7 +3688,29 @@ To change this setting, BEGIN_LINKdelete the Chrome d %1$sGoogle Maps will open in Chrome. By continuing, you agree to the <LINK1>Google Terms of Service</LINK1>, and the <LINK2>Google Chrome and ChromeOS Additional Terms of Service</LINK2>. The <LINK3>Privacy Policy</LINK3> also applies. diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 050e6897..af88b54b 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -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 -@@ -2237,9 +2237,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2279,9 +2279,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -269,7 +269,7 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/ diff --git a/chrome/browser/signin/account_consistency_mode_manager_factory.cc b/chrome/browser/signin/account_consistency_mode_manager_factory.cc --- a/chrome/browser/signin/account_consistency_mode_manager_factory.cc +++ b/chrome/browser/signin/account_consistency_mode_manager_factory.cc -@@ -45,5 +45,5 @@ void AccountConsistencyModeManagerFactory::RegisterProfilePrefs( +@@ -51,5 +51,5 @@ void AccountConsistencyModeManagerFactory::RegisterProfilePrefs( bool AccountConsistencyModeManagerFactory::ServiceIsCreatedWithBrowserContext() const { @@ -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 -@@ -479,8 +479,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( +@@ -485,8 +485,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) || @@ -366,15 +366,15 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse #include "base/strings/utf_string_conversions.h" #include "base/task/task_traits.h" #include "base/task/thread_pool.h" -@@ -67,6 +68,7 @@ +@@ -68,6 +69,7 @@ #include "components/policy/core/common/policy_details.h" #include "components/policy/core/common/policy_logger.h" #include "components/policy/core/common/policy_pref_names.h" +#include "components/policy/core/common/policy_pref_names.h" #include "components/policy/core/common/policy_scheduler.h" #include "components/policy/core/common/policy_types.h" - #include "components/policy/core/common/remote_commands/remote_commands_service.h" -@@ -194,6 +196,10 @@ void PolicyUIHandler::RegisterMessages() { + #include "components/policy/core/common/policy_utils.h" +@@ -196,6 +198,10 @@ void PolicyUIHandler::RegisterMessages() { "exportPoliciesJSON", base::BindRepeating(&PolicyUIHandler::HandleExportPoliciesJson, base::Unretained(this))); @@ -385,7 +385,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse web_ui()->RegisterMessageCallback( "listenPoliciesUpdates", base::BindRepeating(&PolicyUIHandler::HandleListenPoliciesUpdates, -@@ -454,8 +460,102 @@ void PolicyUIHandler::SendPolicies() { +@@ -464,8 +470,102 @@ void PolicyUIHandler::SendPolicies() { "policies-updated", base::Value( policy_value_and_status_aggregator_->GetAggregatedPolicyNames()), @@ -574,7 +574,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace namespace switches { -@@ -326,6 +276,16 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered"; +@@ -343,6 +293,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"; -@@ -451,11 +411,11 @@ bool IsPartnerMerchant(const GURL& url) { +@@ -480,11 +440,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() { -@@ -538,6 +498,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -564,6 +524,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -806,9 +806,9 @@ diff --git a/components/policy/core/common/policy_pref_names.cc b/components/pol +const char kDisabledDefaultPoliciesList[] = + "policy.disabled_default_policies_list"; + - // Boolean policy to allow isolated apps developer mode. - const char kIsolatedAppsDeveloperModeAllowed[] = - "policy.isolated_apps_developer_mode_allowed"; + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + // Last time that a check for cloud policy management was done. This time is + // recorded on Android and iOS so that retries aren't attempted on every diff --git a/components/policy/core/common/policy_pref_names.h b/components/policy/core/common/policy_pref_names.h --- a/components/policy/core/common/policy_pref_names.h +++ b/components/policy/core/common/policy_pref_names.h @@ -932,7 +932,7 @@ diff --git a/components/policy/resources/webui/policy_row.ts b/components/policy diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp --- a/components/policy_strings.grdp +++ b/components/policy_strings.grdp -@@ -645,8 +645,8 @@ Additional details: +@@ -648,8 +648,8 @@ Additional details: Default @@ -979,7 +979,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc --- a/google_apis/gaia/gaia_auth_fetcher.cc +++ b/google_apis/gaia/gaia_auth_fetcher.cc -@@ -486,6 +486,7 @@ void GaiaAuthFetcher::StartListAccounts() { +@@ -496,6 +496,7 @@ void GaiaAuthFetcher::StartListAccounts() { } } })"); @@ -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 -@@ -777,6 +777,7 @@ int SSLClientSocketImpl::Init() { +@@ -776,6 +776,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. -@@ -1183,6 +1184,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1182,6 +1183,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 164aace3..44dad171 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 -@@ -1495,7 +1495,7 @@ void RegisterProfilePrefsForMigration( +@@ -1206,7 +1206,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 -@@ -219,12 +219,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -211,12 +211,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { } AutofillCrowdsourcingManager* ChromeAutofillClient::GetCrowdsourcingManager() { @@ -159,7 +159,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 -@@ -884,6 +884,8 @@ BASE_FEATURE(kAutofillUploadThrottling, +@@ -939,6 +939,8 @@ BASE_FEATURE(kAutofillUploadThrottling, "AutofillUploadThrottling", base::FEATURE_ENABLED_BY_DEFAULT); @@ -171,7 +171,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -39,7 +39,7 @@ int GetSyncTransportOptInBitFieldForAccount(const PrefService* prefs, +@@ -40,7 +40,7 @@ int GetSyncTransportOptInBitFieldForAccount(const PrefService* prefs, void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { // Synced prefs. Used for cross-device choices, e.g., credit card Autofill. registry->RegisterBooleanPref( @@ -180,7 +180,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( prefs::kAutofillLastVersionDeduped, 0, -@@ -48,10 +48,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -49,10 +49,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { prefs::kAutofillHasSeenIban, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( @@ -193,7 +193,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( kAutofillPaymentCardBenefits, true, -@@ -97,9 +97,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -98,9 +98,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif // Deprecated prefs registered for migration. diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index 8eb3b2a3..eb1a7133 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -426,7 +426,7 @@ new file mode 100644 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn -@@ -726,6 +726,7 @@ set_defaults("component") { +@@ -727,6 +727,7 @@ set_defaults("component") { configs = default_component_configs } diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index 02248687..85816f89 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -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 -@@ -518,10 +518,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -520,10 +520,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { } } diff --git a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch index 3827b62a..e276b2c9 100644 --- a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch +++ b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -149,12 +149,12 @@ const size_t kMaxHostLength = 4096; +@@ -150,12 +150,12 @@ const size_t kMaxHostLength = 4096; // Time between IPv6 probes, i.e. for how long results of each IPv6 probe are // cached. diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index 2b284ac6..bb5a9dd9 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 -@@ -2436,7 +2436,7 @@ template("run_mksnapshot") { +@@ -2471,7 +2471,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/eyeo-beta-118.0.5993.48-android_api.patch b/build/patches/eyeo-beta-118.0.5993.48-android_api.patch index 7360bb0c..984d7337 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 @@ -7,7 +7,7 @@ Based on Chromium 118.0.5993.48 Pre-requisites: eyeo Browser Ad filtering Solution: Base Module --- chrome/android/BUILD.gn | 8 + - chrome/browser/BUILD.gn | 14 + + chrome/browser/BUILD.gn | 12 + .../android/adblock/adblock_jni_factory.cc | 72 +++ .../android/adblock/adblock_jni_factory.h | 50 ++ ...iltering_configuration_bindings_factory.cc | 70 +++ @@ -45,7 +45,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module .../adblock/TestVerificationUtils.java | 163 +++++ ...source_classification_notifier_bindings.cc | 164 +++++ ...esource_classification_notifier_bindings.h | 69 +++ - 39 files changed, 5008 insertions(+) + 39 files changed, 5006 insertions(+) create mode 100644 chrome/browser/android/adblock/adblock_jni_factory.cc create mode 100644 chrome/browser/android/adblock/adblock_jni_factory.h create mode 100644 chrome/browser/android/adblock/filtering_configuration_bindings_factory.cc @@ -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") -@@ -513,6 +517,7 @@ if (current_toolchain == default_toolchain) { +@@ -536,6 +540,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", -@@ -1664,6 +1669,7 @@ if (current_toolchain == default_toolchain) { +@@ -1676,6 +1681,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", -@@ -2024,6 +2030,7 @@ if (current_toolchain == default_toolchain) { +@@ -2041,6 +2047,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/", -@@ -3880,6 +3887,7 @@ group("jni_headers") { +@@ -3897,6 +3904,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,10 +132,10 @@ 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 -@@ -3550,6 +3550,17 @@ static_library("browser") { - "webid/digital_identity_provider_android.h", - ] +@@ -2811,6 +2811,18 @@ static_library("browser") { + } + if (is_android) { + ### Android API module start + sources += [ + "android/adblock/adblock_jni_factory.cc", @@ -146,20 +146,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn + "android/adblock/resource_classification_notifier_bindings_factory.cc", + "android/adblock/resource_classification_notifier_bindings_factory.h", + ] -+ ### Android API module end - - public_deps += [ - "//chrome/android/features/dev_ui:buildflags", -@@ -3761,6 +3772,9 @@ static_library("browser") { - # `IdentityManagerFactory` in facilitated payments. - allow_circular_includes_from += [ "//chrome/browser/facilitated_payments" ] - -+ ###Android API module start + deps += [ "//components/adblock/android:java_bindings" ] -+ ###Android API module end - - if (safe_browsing_mode == 2) { - sources += [ ++ ### Android API module end + sources += [ + "endpoint_fetcher/endpoint_fetcher_android.cc", + ] diff --git a/chrome/browser/android/adblock/adblock_jni_factory.cc b/chrome/browser/android/adblock/adblock_jni_factory.cc new file mode 100644 --- /dev/null @@ -652,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 -@@ -287,6 +287,11 @@ +@@ -294,6 +294,11 @@ #include "components/commerce/core/commerce_feature_list.h" #include "components/commerce/core/proto/merchant_signal_db_content.pb.h" @@ -664,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" -@@ -867,6 +872,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -879,6 +884,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 1023ac3e..63bfda09 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 -@@ -279,6 +279,10 @@ if (current_toolchain == default_toolchain) { +@@ -283,6 +283,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 { -@@ -746,6 +750,10 @@ if (current_toolchain == default_toolchain) { +@@ -769,6 +773,10 @@ if (current_toolchain == default_toolchain) { "//url/mojom:url_mojom_gurl_java", ] diff --git a/build/patches/eyeo-beta-118.0.5993.48-base.patch b/build/patches/eyeo-beta-118.0.5993.48-base.patch index 14c70d12..992a6058 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-base.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-base.patch @@ -9,7 +9,7 @@ Based on Chromium 118.0.5993.48 README.md | 12 + base/trace_event/builtin_categories.h | 1 + build/install-build-deps.py | 10 +- - components/BUILD.gn | 12 + + components/BUILD.gn | 11 + components/adblock/CHANGELOG.md | 635 ++++++++ components/adblock/LICENSE | 674 ++++++++ components/adblock/README.md | 80 + @@ -216,14 +216,14 @@ Based on Chromium 118.0.5993.48 .../blink/public/mojom/frame/frame.mojom | 8 + third_party/blink/public/web/web_document.h | 12 + .../renderer/core/exported/web_document.cc | 52 + - .../core/frame/local_frame_mojo_handler.cc | 12 + + .../core/frame/local_frame_mojo_handler.cc | 8 + .../core/frame/local_frame_mojo_handler.h | 5 + .../url_loader/mojo_url_loader_client.cc | 6 +- tools/eyeo/generate_interdiffs.sh | 150 ++ tools/eyeo/generate_modules.sh | 209 +++ tools/eyeo/snippets_deps.py | 61 + tools/gritsettings/resource_ids.spec | 9 + - 219 files changed, 22055 insertions(+), 3 deletions(-) + 219 files changed, 22050 insertions(+), 3 deletions(-) create mode 100644 components/adblock/CHANGELOG.md create mode 100644 components/adblock/LICENSE create mode 100644 components/adblock/README.md @@ -446,7 +446,7 @@ diff --git a/DEPS b/DEPS 'chrome_git': 'https://chrome-internal.googlesource.com', @@ -508,6 +514,11 @@ vars = { # and whatever else without interference from each other. - 'betocore_revision': '8bd72cfb219344308ee857bcbe65a27fe91acfe8', + 'betocore_revision': '08537fdd2b0990270ea0214a61dfd318f293bc15', + # Three lines of non-changing comments so that + # the commit queue can handle CLs rolling feed @@ -455,8 +455,8 @@ diff --git a/DEPS b/DEPS + # If you change this, also update the libc++ revision in # //buildtools/deps_revisions.gni. - 'libcxx_revision': '852bc6746f45add53fec19f3a29280e69e358d44', -@@ -1262,6 +1273,10 @@ deps = { + 'libcxx_revision': '6bb75caa139ee1e686d2205910454cf6ea212e58', +@@ -1295,6 +1306,10 @@ deps = { 'condition': 'checkout_android and checkout_src_internal', }, @@ -465,9 +465,9 @@ diff --git a/DEPS b/DEPS + }, + 'src/docs/website': { - 'url': Var('chromium_git') + '/website.git' + '@' + 'cbeef22a59f72b8b5b4ac426d2eaa547fd2888b8', + 'url': Var('chromium_git') + '/website.git' + '@' + '82c1d3e5b812b35df1cb6a031f59616dc594d4f7', }, -@@ -1391,6 +1406,13 @@ deps = { +@@ -1419,6 +1434,13 @@ deps = { 'dep_type': 'cipd', }, @@ -551,7 +551,7 @@ diff --git a/build/install-build-deps.py b/build/install-build-deps.py import argparse import functools import os -@@ -571,7 +579,7 @@ def backwards_compatible_list(options): +@@ -561,7 +569,7 @@ def backwards_compatible_list(options): "msttcorefonts", "python-dev", "python-setuptools", @@ -588,14 +588,6 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "//components/affiliations/core/browser:unit_tests", "//components/aggregation_service:unit_tests", "//components/apdu:unit_tests", -@@ -417,6 +428,7 @@ test("components_unittests") { - - if (use_blink) { - deps += [ -+ "//components/adblock/content/browser:unit_tests", - "//components/autofill/content/browser:unit_tests", - "//components/autofill/content/renderer:unit_tests", - "//components/autofill/core/common/mojom:unit_tests", diff --git a/components/adblock/CHANGELOG.md b/components/adblock/CHANGELOG.md new file mode 100644 --- /dev/null @@ -52303,7 +52295,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow #include "content/browser/loader/navigation_url_loader_impl.h" #include -@@ -1110,7 +1114,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( +@@ -1114,7 +1118,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( LogQueueTimeHistogram("Navigation.QueueTime.OnReceiveRedirect", resource_request_->is_outermost_main_frame); net::Error error = net::OK; @@ -52326,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" -@@ -2752,6 +2756,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( +@@ -2989,6 +2993,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( std::move(callback)); } @@ -52353,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_ -@@ -465,6 +469,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; @@ -52378,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_ -@@ -537,6 +541,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, +@@ -563,6 +567,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level, const std::string& message) = 0; @@ -52427,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 -@@ -463,6 +467,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( +@@ -464,6 +468,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT); if (redirect_url_ != redirect_info.new_url && @@ -52496,7 +52488,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin module blink.mojom; -@@ -944,6 +948,10 @@ interface LocalFrame { +@@ -962,6 +966,10 @@ interface LocalFrame { // the given point in the view coordinate space. PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action); @@ -52521,7 +52513,7 @@ diff --git a/third_party/blink/public/web/web_document.h b/third_party/blink/pub #ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_ #define THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_ -@@ -141,6 +145,14 @@ class BLINK_EXPORT WebDocument : public WebNode { +@@ -142,6 +146,14 @@ class BLINK_EXPORT WebDocument : public WebNode { WebCssOrigin = WebCssOrigin::kAuthor, BackForwardCacheAware = BackForwardCacheAware::kAllow); @@ -52550,7 +52542,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa #include "third_party/blink/public/web/web_document.h" #include "base/memory/scoped_refptr.h" -@@ -264,6 +268,54 @@ WebStyleSheetKey WebDocument::InsertStyleSheet( +@@ -267,6 +271,54 @@ WebStyleSheetKey WebDocument::InsertStyleSheet( return injection_key; } @@ -52608,18 +52600,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc -@@ -1,6 +1,10 @@ - // Copyright 2021 The Chromium Authors - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. -+// -+// This source code is a part of eyeo Chromium SDK. -+// Use of this source code is governed by the GPLv3 that can be found in the -+// components/adblock/LICENSE file. - - #include "third_party/blink/renderer/core/frame/local_frame_mojo_handler.h" - -@@ -357,6 +361,14 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame) +@@ -360,6 +360,14 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame) WrapWeakPersistent(this))); } @@ -52670,7 +52651,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/mojo_ur #include "third_party/blink/renderer/platform/loader/fetch/url_loader/mojo_url_loader_client.h" #include -@@ -388,7 +392,7 @@ void MojoURLLoaderClient::OnReceiveRedirect( +@@ -390,7 +394,7 @@ void MojoURLLoaderClient::OnReceiveRedirect( OnComplete(network::URLLoaderCompletionStatus(net::ERR_ABORTED)); return; } @@ -53128,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 -@@ -1344,6 +1348,11 @@ +@@ -1348,6 +1352,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 dd651768..ae93a0d2 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 @@ -7,7 +7,7 @@ Based on Chromium 118.0.5993.48 Pre-requisites: eyeo Browser Ad filtering Solution: Base Module --- chrome/app/chrome_main_delegate.cc | 7 +- - chrome/browser/BUILD.gn | 29 ++ + chrome/browser/BUILD.gn | 26 ++ chrome/browser/adblock/README.md | 3 + .../adblock/adblock_content_browser_client.cc | 320 ++++++++++++++++++ .../adblock/adblock_content_browser_client.h | 100 ++++++ @@ -42,7 +42,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module .../safe_browsing_blocking_page_test.cc | 7 + ...subresource_filter_browser_test_harness.cc | 8 +- chrome/browser/ui/BUILD.gn | 10 + - chrome/browser/ui/prefs/pref_watcher.cc | 13 + + chrome/browser/ui/prefs/pref_watcher.cc | 12 + chrome/browser/ui/tab_helpers.cc | 18 + .../ui/webui/adblock_internals/BUILD.gn | 23 ++ .../adblock_internals/adblock_internals.mojom | 20 ++ @@ -52,9 +52,9 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module .../adblock_internals/adblock_internals_ui.h | 48 +++ .../webui/chrome_web_ui_controller_factory.cc | 8 + chrome/common/BUILD.gn | 3 + - chrome/common/webui_url_constants.cc | 5 + + chrome/common/webui_url_constants.cc | 4 + chrome/common/webui_url_constants.h | 5 + - 48 files changed, 2298 insertions(+), 2 deletions(-) + 48 files changed, 2293 insertions(+), 2 deletions(-) create mode 100644 chrome/browser/adblock/README.md create mode 100644 chrome/browser/adblock/adblock_content_browser_client.cc create mode 100644 chrome/browser/adblock/adblock_content_browser_client.h @@ -110,15 +110,15 @@ 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" -@@ -1921,7 +1926,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { +@@ -1928,7 +1933,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { content::ContentBrowserClient* ChromeMainDelegate::CreateContentBrowserClient() { chrome_content_browser_client_ = - std::make_unique(); + std::make_unique(); - return chrome_content_browser_client_.get(); - } - + #if !BUILDFLAG(IS_ANDROID) + // Android does this in `ChromeMainDelegateAndroid::PreSandboxStartup`. + CHECK(sampling_profiler_); diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -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") -@@ -151,6 +154,26 @@ static_library("browser") { +@@ -153,6 +156,26 @@ static_library("browser") { "accessibility/prefers_default_scrollbar_styles_prefs.h", "affiliations/affiliation_service_factory.cc", "affiliations/affiliation_service_factory.h", @@ -158,41 +158,17 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn + "adblock/subscription_service_factory.h", "after_startup_task_utils.cc", "after_startup_task_utils.h", - "ai/ai_manager_impl.cc", -@@ -2138,6 +2161,7 @@ static_library("browser") { - "//chrome/browser/ui/color:mixers", - "//chrome/browser/ui/tabs", - "//chrome/browser/ui/webui:configs", -+ "//chrome/browser/ui/webui/adblock_internals:mojo_bindings", - "//chrome/browser/ui/webui/app_service_internals:mojo_bindings", - "//chrome/browser/ui/webui/data_sharing_internals:mojo_bindings", - "//chrome/browser/ui/webui/internals/user_education:mojo_bindings", -@@ -2162,6 +2186,8 @@ static_library("browser") { + "app_mode/app_mode_utils.cc", +@@ -2146,6 +2169,9 @@ static_library("browser") { "//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", + "//components/adblock/core/converter", "//components/assist_ranker", "//components/autofill/content/browser", "//components/autofill/content/common:features", -@@ -3523,6 +3549,8 @@ static_library("browser") { - "webid/digital_identity_provider_android.cc", - "webid/digital_identity_provider_android.h", - ] -+ -+ - public_deps += [ - "//chrome/android/features/dev_ui:buildflags", - "//components/image_fetcher/core", -@@ -3733,6 +3761,7 @@ static_library("browser") { - # `IdentityManagerFactory` in facilitated payments. - allow_circular_includes_from += [ "//chrome/browser/facilitated_payments" ] - -+ - if (safe_browsing_mode == 2) { - sources += [ - "component_updater/real_time_url_checks_allowlist_component_installer.cc", diff --git a/chrome/browser/adblock/README.md b/chrome/browser/adblock/README.md new file mode 100644 --- /dev/null @@ -2039,15 +2015,15 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser #include "chrome/browser/chrome_browser_interface_binders.h" -@@ -38,6 +42,7 @@ +@@ -37,6 +41,7 @@ #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" - #include "chrome/browser/ui/views/side_panel/companion/companion_utils.h" #include "chrome/browser/ui/ui_features.h" + #include "chrome/browser/ui/views/side_panel/companion/companion_utils.h" +#include "chrome/browser/ui/webui/adblock_internals/adblock_internals_ui.h" #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" -@@ -1121,6 +1126,10 @@ void PopulateChromeWebUIFrameBinders( +@@ -1127,6 +1132,10 @@ void PopulateChromeWebUIFrameBinders( media::mojom::MediaEngagementScoreDetailsProvider, MediaEngagementUI>( map); @@ -2072,9 +2048,9 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU import("//build/config/android/rules.gni") import("//third_party/jni_zero/jni_zero.gni") -@@ -40,6 +44,7 @@ java_cpp_strings("java_pref_names_srcjar") { - sources = [ +@@ -41,6 +45,7 @@ java_cpp_strings("java_pref_names_srcjar") { "//chrome/browser/enterprise/reporting/prefs.cc", + "//chrome/browser/ui/safety_hub/safety_hub_prefs.h", "//chrome/common/pref_names.h", + "//components/adblock/core/common/adblock_prefs.cc", "//components/autofill/core/common/autofill_prefs.h", @@ -2094,7 +2070,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse #include "chrome/browser/prefs/chrome_pref_service_factory.h" -@@ -41,6 +45,7 @@ +@@ -43,6 +47,7 @@ #include "chrome/grit/branded_strings.h" #include "chrome/grit/browser_resources.h" #include "chrome/grit/generated_resources.h" @@ -2102,7 +2078,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse #include "components/component_updater/pref_names.h" #include "components/policy/core/browser/configuration_policy_pref_store.h" #include "components/pref_registry/pref_registry_syncable.h" -@@ -189,6 +194,12 @@ const prefs::TrackedPreferenceMetadata kTrackedPrefs[] = { +@@ -192,6 +197,12 @@ const prefs::TrackedPreferenceMetadata kTrackedPrefs[] = { {34, enterprise_signin::prefs::kPolicyRecoveryToken, EnforcementLevel::ENFORCE_ON_LOAD, PrefTrackingStrategy::ATOMIC, ValueType::IMPERSONAL}, @@ -2129,10 +2105,10 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" -@@ -13,6 +17,15 @@ - #include "chrome/browser/accessibility/accessibility_labels_service_factory.h" +@@ -14,6 +18,15 @@ #include "chrome/browser/accessibility/page_colors_factory.h" #include "chrome/browser/affiliations/affiliation_service_factory.h" + #include "chrome/browser/ai/ai_manager_keyed_service_factory.h" +#include "chrome/browser/adblock/adblock_controller_factory.h" +#include "chrome/browser/adblock/adblock_telemetry_service_factory.h" +#include "chrome/browser/adblock/content_security_policy_injector_factory.h" @@ -2145,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" -@@ -273,6 +286,8 @@ +@@ -280,6 +293,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" @@ -2154,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" -@@ -840,8 +855,19 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -852,8 +867,19 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -2187,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") -@@ -249,6 +252,7 @@ if (!is_android) { +@@ -255,6 +258,7 @@ if (!is_android) { group("dev_ui_resources") { public_deps = [ "accessibility:resources", @@ -2195,7 +2171,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. "bluetooth_internals:resources", "browsing_topics:resources", "components:resources", -@@ -311,6 +315,7 @@ repack("dev_ui_paks") { +@@ -317,6 +321,7 @@ repack("dev_ui_paks") { sources = [ "$root_gen_dir/chrome/accessibility_resources.pak", @@ -2405,7 +2381,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") -@@ -261,6 +265,10 @@ static_library("ui") { +@@ -270,6 +274,10 @@ static_library("ui") { "webui/about/about_ui.h", "webui/accessibility/accessibility_ui.cc", "webui/accessibility/accessibility_ui.h", @@ -2416,22 +2392,22 @@ 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", -@@ -479,6 +487,7 @@ static_library("ui") { - "//chrome/browser/ui/webui", - "//chrome/browser/ui/webui/data_sharing_internals:mojo_bindings", - "//chrome/browser/ui/webui/location_internals:mojo_bindings", +@@ -471,6 +479,7 @@ static_library("ui") { + "//chrome/browser/search_engines", + "//chrome/browser/share", + "//chrome/browser/signin:identity_manager_provider", + "//chrome/browser/ui/webui/adblock_internals:mojo_bindings", - "//chrome/browser/ui/webui/omnibox:mojo_bindings", - "//chrome/browser/ui/webui/privacy_sandbox:mojo_bindings", - "//chrome/browser/ui/webui/segmentation_internals:mojo_bindings", -@@ -495,6 +504,7 @@ static_library("ui") { + "//chrome/browser/storage_access_api", + "//chrome/browser/sync", + "//chrome/browser/ui/webui", +@@ -484,6 +493,7 @@ static_library("ui") { "//components/access_code_cast/common:metrics", "//components/account_id", "//components/affiliations/core/browser:affiliations", + "//components/adblock/content:browser", "//components/autofill/content/browser", "//components/autofill/content/browser:risk_proto", - "//components/autofill/core/browser", + "//components/autofill/core/common:credit_card_number_validation", diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/pref_watcher.cc --- a/chrome/browser/ui/prefs/pref_watcher.cc +++ b/chrome/browser/ui/prefs/pref_watcher.cc @@ -2454,10 +2430,10 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/p #include "components/language/core/browser/pref_names.h" #include "components/live_caption/pref_names.h" #include "components/privacy_sandbox/tracking_protection_settings.h" -@@ -69,6 +74,14 @@ const char* const kWebPrefsToObserve[] = { - #else +@@ -70,6 +75,13 @@ const char* const kWebPrefsToObserve[] = { prefs::kAccessibilityFocusHighlightEnabled, #endif + prefs::kPageColorsBlockList, + + adblock::common::prefs::kAdblockAllowedDomainsLegacy, + adblock::common::prefs::kAdblockCustomFiltersLegacy, @@ -2465,7 +2441,6 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/p + adblock::common::prefs::kAdblockSubscriptionsLegacy, + adblock::common::prefs::kEnableAcceptableAdsLegacy, + adblock::common::prefs::kEnableAdblockLegacy, -+ }; const int kWebPrefsToObserveLength = std::size(kWebPrefsToObserve); @@ -2501,7 +2476,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" -@@ -373,6 +381,16 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -371,6 +379,16 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { optimization_guide_decider); } } @@ -2874,7 +2849,7 @@ 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" -@@ -489,6 +494,9 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -480,6 +485,9 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIUserActionsHost) return &NewWebUI; @@ -2911,14 +2886,6 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons #include "chrome/common/webui_url_constants.h" -@@ -31,6 +35,7 @@ const char kChromeUIAboutURL[] = "chrome://about/"; - const char kChromeUIActivateSafetyCheckSettingsURL[] = - "chrome://settings/safetyCheck?activateSafetyCheck"; - const char kChromeUIAccessibilityHost[] = "accessibility"; -+const char kChromeUIAdblockInternalsHost[] = "adblock-internals"; - const char kChromeUIAllSitesPath[] = "/content/all"; - const char kChromeUIAppIconHost[] = "app-icon"; - const char kChromeUIAppIconURL[] = "chrome://app-icon/"; 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 @@ -2933,12 +2900,12 @@ 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. -@@ -32,6 +36,7 @@ extern const char kChromeUIAboutHost[]; - extern const char kChromeUIAboutURL[]; - extern const char kChromeUIActivateSafetyCheckSettingsURL[]; - extern const char kChromeUIAccessibilityHost[]; -+extern const char kChromeUIAdblockInternalsHost[]; - extern const char kChromeUIAllSitesPath[]; - extern const char kChromeUIAppIconHost[]; - extern const char kChromeUIAppIconURL[]; +@@ -42,6 +46,7 @@ inline constexpr char kChromeUIActivateSafetyCheckSettingsURL[] = + inline constexpr char kChromeUIAllSitesPath[] = "/content/all"; + inline constexpr char kChromeUIAppIconHost[] = "app-icon"; + inline constexpr char kChromeUIAppIconURL[] = "chrome://app-icon/"; ++inline constexpr char kChromeUIAdblockInternalsHost[] = "adblock-internals"; + inline constexpr char kChromeUIAppLauncherPageHost[] = "apps"; + inline constexpr char kChromeUIAppsURL[] = "chrome://apps/"; + inline constexpr char kChromeUIAppsWithDeprecationDialogURL[] = -- 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 4a7f16c6..70fbc52a 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 @@ -65,7 +65,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL "api/api_browser_context_keyed_service_factories.cc", "api/api_browser_context_keyed_service_factories.h", "api/autofill_private/autofill_private_api.cc", -@@ -153,6 +159,8 @@ source_set("extensions") { +@@ -151,6 +157,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", @@ -3472,15 +3472,15 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "chrome/browser/extensions/api/settings_private/prefs_util.h" #include -@@ -29,6 +33,7 @@ - #include "chrome/browser/ui/tabs/tab_strip_prefs.h" +@@ -31,6 +35,7 @@ + #include "chrome/browser/ui/toolbar/toolbar_pref_names.h" #include "chrome/common/chrome_features.h" #include "chrome/common/pref_names.h" +#include "components/adblock/core/common/adblock_prefs.h" #include "components/autofill/core/common/autofill_prefs.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/browsing_data/core/pref_names.h" -@@ -175,6 +180,20 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -178,6 +183,20 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { } s_allowlist = new PrefsUtil::TypedPrefMap(); @@ -3573,7 +3573,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext "app": { "blocklist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice -@@ -507,6 +521,14 @@ +@@ -501,6 +515,14 @@ "channel": "stable", "contexts": [] }, @@ -3825,7 +3825,7 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens "autofill_private.idl", "autotest_private.idl", "bookmark_manager_private.json", -@@ -31,6 +36,7 @@ schema_sources_ = [ +@@ -30,6 +35,7 @@ schema_sources_ = [ "downloads_internal.idl", "enterprise_hardware_platform.idl", "enterprise_reporting_private.idl", @@ -4146,15 +4146,15 @@ 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 -@@ -754,6 +754,7 @@ Called by update_extension_histograms.py.--> - label="ACCESSIBILITY_PRIVATE_ON_SELECT_TO_SPEAK_FOCUS_CHANGED"/> +@@ -755,6 +755,7 @@ Called by update_extension_histograms.py.--> -+ + ++ -@@ -3117,6 +3118,8 @@ Called by update_extension_permission.py.--> +@@ -3122,6 +3123,8 @@ Called by update_extension_permission.py.--> diff --git a/build/patches/kill-Location-fall-back-to-system.patch b/build/patches/kill-Location-fall-back-to-system.patch index 4b57fad6..523ab907 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -48,15 +48,15 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge diff --git a/services/device/public/cpp/device_features.cc b/services/device/public/cpp/device_features.cc --- a/services/device/public/cpp/device_features.cc +++ b/services/device/public/cpp/device_features.cc -@@ -38,6 +38,7 @@ BASE_FEATURE(kSerialPortConnected, +@@ -45,6 +45,7 @@ BASE_FEATURE(kWinSystemLocationPermission, BASE_FEATURE(kLocationProviderManager, "LocationProviderManager", base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kLocationProviderManager); - const base::FeatureParam::Option - location_provider_manager_mode_options[] = { -@@ -52,7 +53,7 @@ const base::FeatureParam::Option + #if BUILDFLAG(IS_CHROMEOS) + // Enables crash key logging for USB device open operations on ChromeOS. See +@@ -67,7 +68,7 @@ const base::FeatureParam::Option const base::FeatureParam kLocationProviderManagerParam{ &kLocationProviderManager, "LocationProviderManagerMode", @@ -64,5 +64,5 @@ diff --git a/services/device/public/cpp/device_features.cc b/services/device/pub + device::mojom::LocationProviderManagerMode::kPlatformOnly, &location_provider_manager_mode_options}; - } // namespace features + bool IsOsLevelGeolocationPermissionSupportEnabled() { -- diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index 14e261fb..be3215ba 100644 --- a/build/patches/kill-Vision.patch +++ b/build/patches/kill-Vision.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -334,8 +334,6 @@ if (current_toolchain == default_toolchain) { +@@ -350,8 +350,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", diff --git a/build/patches/ungoogled-chromium-Disable-intranet-detector.patch b/build/patches/ungoogled-chromium-Disable-intranet-detector.patch index 8aa3504c..c9ffe0c8 100644 --- a/build/patches/ungoogled-chromium-Disable-intranet-detector.patch +++ b/build/patches/ungoogled-chromium-Disable-intranet-detector.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/intranet_redirect_detector.cc b/chrome/browser/intranet_redirect_detector.cc --- a/chrome/browser/intranet_redirect_detector.cc +++ b/chrome/browser/intranet_redirect_detector.cc -@@ -117,9 +117,7 @@ void IntranetRedirectDetector::FinishSleep() { +@@ -118,9 +118,7 @@ void IntranetRedirectDetector::FinishSleep() { simple_loaders_.clear(); resulting_origins_.clear(); diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 24fad833..6584e400 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1397,8 +1397,6 @@ static_library("browser") { +@@ -1408,8 +1408,6 @@ static_library("browser") { "profiles/profile_attributes_storage.cc", "profiles/profile_attributes_storage.h", "profiles/profile_attributes_storage_observer.h", @@ -26,10 +26,10 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn 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 -@@ -324,12 +324,6 @@ std::u16string ProfileAttributesEntry::GetUserName() const { - gfx::Image ProfileAttributesEntry::GetAvatarIcon( +@@ -360,12 +360,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( int size_for_placeholder_avatar, - bool use_high_res_file) const { + bool use_high_res_file, + const PlaceholderAvatarIconParams& icon_params) const { - if (IsUsingGAIAPicture()) { - const gfx::Image* image = GetGAIAPicture(); - if (image) diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 984b8a07..2465383c 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -173,7 +173,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1885,9 +1885,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2064,9 +2064,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. @@ -186,7 +186,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc --- a/components/translate/core/browser/translate_manager.cc +++ b/components/translate/core/browser/translate_manager.cc -@@ -834,8 +834,9 @@ void TranslateManager::FilterIsTranslatePossible( +@@ -837,8 +837,9 @@ void TranslateManager::FilterIsTranslatePossible( TriggerDecision::kDisabledOffline); } @@ -201,7 +201,7 @@ diff --git a/components/translate/core/browser/translate_manager.cc b/components diff --git a/components/translate/core/browser/translate_script.cc b/components/translate/core/browser/translate_script.cc --- a/components/translate/core/browser/translate_script.cc +++ b/components/translate/core/browser/translate_script.cc -@@ -127,20 +127,13 @@ void TranslateScript::OnScriptFetchComplete(bool success, +@@ -126,20 +126,13 @@ void TranslateScript::OnScriptFetchComplete(bool success, data_ = base::StringPrintf("var translateApiKey = '%s';\n", google_apis::GetAPIKey().c_str()); diff --git a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch index c1a065a3..46d8da58 100644 --- a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch +++ b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch @@ -27,7 +27,7 @@ diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/and diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc --- a/rlz/lib/financial_ping.cc +++ b/rlz/lib/financial_ping.cc -@@ -237,6 +237,7 @@ bool FinancialPing::SetURLLoaderFactory( +@@ -242,6 +242,7 @@ bool FinancialPing::SetURLLoaderFactory( void PingRlzServer(std::string url, scoped_refptr event) { @@ -35,7 +35,7 @@ diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc // Copy the pointer to stack because g_URLLoaderFactory may be set to NULL // in different thread. The instance is guaranteed to exist while // the method is running. -@@ -300,13 +301,13 @@ void PingRlzServer(std::string url, +@@ -305,13 +306,13 @@ void PingRlzServer(std::string url, FinancialPing::PingResponse FinancialPing::PingServer(const char* request, std::string* response) { diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index 1ee27d65..9333c895 100644 --- a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch +++ b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -107,7 +107,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -111,7 +111,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string()); registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 85d8d38c..70bed9d7 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -8,7 +8,7 @@ Disable domain reliability detection License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../chrome/browser/ui/RootUiCoordinator.java | 3 - - chrome/browser/BUILD.gn | 8 - + chrome/browser/BUILD.gn | 10 - .../android/metrics/uma_session_stats.cc | 10 - .../android/signin/signin_manager_android.cc | 39 +-- chrome/browser/browser_process_impl.cc | 1 - @@ -24,7 +24,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome_metrics_services_manager_client.cc | 5 +- .../metrics/metrics_reporting_state.cc | 72 +--- .../net/system_network_context_manager.cc | 1 - - .../modules/recipes/recipes_service.cc | 3 +- .../one_google_bar_loader_impl.cc | 3 +- .../new_tab_page/promos/promo_service.cc | 6 +- .../from_gws_page_load_metrics_observer.cc | 6 +- @@ -64,13 +63,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(+), 845 deletions(-) + 56 files changed, 55 insertions(+), 846 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 -@@ -92,7 +92,6 @@ import org.chromium.chrome.browser.messages.MessageContainerCoordinator; +@@ -94,7 +94,6 @@ import org.chromium.chrome.browser.messages.MessageContainerCoordinator; import org.chromium.chrome.browser.messages.MessageContainerObserver; import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; @@ -78,7 +77,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; -@@ -1079,10 +1078,8 @@ public class RootUiCoordinator +@@ -1185,10 +1184,8 @@ public class RootUiCoordinator String url = TemplateUrlServiceFactory.getForProfile(tab.getProfile()) .getUrlForSearchQuery(query); @@ -92,18 +91,20 @@ 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 -@@ -1006,10 +1006,6 @@ static_library("browser") { +@@ -1006,12 +1006,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", - "page_load_metrics/observers/from_gws_page_load_metrics_observer.cc", - "page_load_metrics/observers/from_gws_page_load_metrics_observer.h", +- "page_load_metrics/observers/gws_abandoned_page_load_metrics_observer.cc", +- "page_load_metrics/observers/gws_abandoned_page_load_metrics_observer.h", - "page_load_metrics/observers/gws_page_load_metrics_observer.cc", - "page_load_metrics/observers/gws_page_load_metrics_observer.h", "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", -@@ -1720,8 +1716,6 @@ static_library("browser") { +@@ -1724,8 +1718,6 @@ static_library("browser") { "supervised_user/chrome_supervised_user_web_content_handler_base.h", "supervised_user/supervised_user_browser_utils.cc", "supervised_user/supervised_user_browser_utils.h", @@ -112,7 +113,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "supervised_user/supervised_user_interstitial_tab_closer.cc", "supervised_user/supervised_user_interstitial_tab_closer.h", "supervised_user/supervised_user_metrics_service_factory.cc", -@@ -1958,7 +1952,6 @@ static_library("browser") { +@@ -1986,7 +1978,6 @@ static_library("browser") { "//chrome/browser/autofill", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -120,14 +121,14 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn # Circular dependency due to SystemNetworkContextManager. "//chrome/browser/image_fetcher", -@@ -1995,7 +1988,6 @@ static_library("browser") { - - public_deps = [ - "//base", +@@ -2030,7 +2021,6 @@ static_library("browser") { + # New dependencies inside of //chrome/browser that generate header files + # should be added to browser_generated_files. + ":browser_public_dependencies", - "//chrome/browser/google", "//chrome/browser/headless", "//chrome/browser/profiles", - "//chrome/browser/ui/tabs:tab_enums", + "//chrome/browser/resource_coordinator:tab_lifecycle_observer", diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browser/android/metrics/uma_session_stats.cc --- a/chrome/browser/android/metrics/uma_session_stats.cc +++ b/chrome/browser/android/metrics/uma_session_stats.cc @@ -211,7 +212,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( +@@ -563,11 +563,6 @@ void ProcessSingletonNotificationCallbackImpl( StartupBrowserCreator::ProcessCommandLineAlreadyRunning( command_line, current_directory, startup_profile_path_info); @@ -223,7 +224,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows } #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON) -@@ -1811,11 +1806,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1821,11 +1816,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { upgrade_util::SaveLastModifiedTimeOfExe(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) @@ -238,7 +239,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 -@@ -2836,7 +2836,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2965,7 +2965,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForcePNaClSubzero, #endif switches::kForceUIDirection, @@ -246,7 +247,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5202,9 +5201,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5400,9 +5399,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( } #endif @@ -256,7 +257,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch MaybeAddThrottle( SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle), -@@ -5775,7 +5771,8 @@ GetClientDataHeader(int frame_tree_node_id) { +@@ -5973,7 +5969,8 @@ GetClientDataHeader(int frame_tree_node_id) { } #endif @@ -266,7 +267,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 -@@ -5815,7 +5812,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -6013,7 +6010,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( std::move(bound_session_request_throttled_handler), #endif std::move(dynamic_params)); @@ -275,7 +276,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch std::vector> ChromeContentBrowserClient::CreateURLLoaderThrottles( -@@ -5863,15 +5860,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -6067,15 +6064,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( GetClientDataHeader(frame_tree_node_id); #endif @@ -291,7 +292,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch { auto* factory = ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context); -@@ -5926,20 +5914,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -6130,20 +6118,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( } #endif @@ -372,7 +373,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc --- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc -@@ -123,7 +123,6 @@ constexpr char kOsVersionTag[] = "OS VERSION"; +@@ -124,7 +124,6 @@ constexpr char kOsVersionTag[] = "OS VERSION"; #if BUILDFLAG(IS_WIN) constexpr char kUsbKeyboardDetected[] = "usb_keyboard_detected"; constexpr char kIsEnrolledToDomain[] = "enrolled_to_domain"; @@ -380,7 +381,7 @@ diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log #if BUILDFLAG(GOOGLE_CHROME_BRANDING) constexpr char kUpdateErrorCode[] = "update_error_code"; constexpr char kUpdateHresult[] = "update_hresult"; -@@ -626,10 +625,6 @@ void ChromeInternalLogSource::PopulateEnrolledToDomain( +@@ -633,10 +632,6 @@ void ChromeInternalLogSource::PopulateEnrolledToDomain( void ChromeInternalLogSource::PopulateInstallerBrandCode( SystemLogsResponse* response) { @@ -421,7 +422,7 @@ diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn sources = [ "google_brand.cc", "google_brand.h", -@@ -84,7 +84,7 @@ source_set("unit_tests") { +@@ -87,7 +87,7 @@ source_set("unit_tests") { sources = [ "google_update_settings_unittest.cc" ] deps = [ @@ -477,7 +478,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -594,7 +594,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { +@@ -595,7 +595,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { } bool ChromeMetricsServiceClient::GetBrand(std::string* brand_code) { @@ -607,7 +608,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 -@@ -857,7 +857,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -837,7 +837,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); @@ -615,21 +616,6 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows network_context_params->enable_brotli = true; -diff --git a/chrome/browser/new_tab_page/modules/recipes/recipes_service.cc b/chrome/browser/new_tab_page/modules/recipes/recipes_service.cc ---- a/chrome/browser/new_tab_page/modules/recipes/recipes_service.cc -+++ b/chrome/browser/new_tab_page/modules/recipes/recipes_service.cc -@@ -53,9 +53,10 @@ const char* GetExperimentGroupParam() { - } - - GURL GetApiUrl(const std::string& application_locale) { -+ if ((true)) return GURL(); - GURL google_base_url = google_util::CommandLineGoogleBaseURL(); - if (!google_base_url.is_valid()) { -- google_base_url = GURL(google_util::kGoogleHomepageURL); -+ google_base_url = GURL(); - } - auto url = net::AppendQueryParameter(google_base_url.Resolve(kPath), "hl", - application_locale); diff --git a/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc b/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc --- a/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc +++ b/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc @@ -688,19 +674,19 @@ diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metri diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc --- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -145,8 +145,6 @@ void PageLoadMetricsEmbedder::RegisterEmbedderObservers( +@@ -169,8 +169,6 @@ void PageLoadMetricsEmbedder::RegisterEmbedderObservers( tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); - tracker->AddObserver(std::make_unique()); - tracker->AddObserver(std::make_unique()); - tracker->AddObserver(std::make_unique()); + tracker->AddObserver(std::make_unique()); tracker->AddObserver( - std::make_unique()); + 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 -@@ -24,7 +24,6 @@ static_library("safe_browsing") { +@@ -26,7 +26,6 @@ static_library("safe_browsing") { "//build:branding_buildflags", "//chrome/app:generated_resources", "//chrome/browser:browser_process", @@ -736,18 +722,18 @@ 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 -@@ -456,7 +456,6 @@ static_library("ui") { +@@ -454,7 +454,6 @@ static_library("ui") { "//chrome/browser/devtools", "//chrome/browser/favicon", "//chrome/browser/fingerprinting_protection", - "//chrome/browser/google", "//chrome/browser/image_decoder", "//chrome/browser/image_fetcher", - "//chrome/browser/media:mojo_bindings", + "//chrome/browser/media/router:media_router_feature", 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 -@@ -47,8 +47,6 @@ android_library("java") { +@@ -48,8 +48,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/UrlBarProperties.java", "java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/UrlFocusChangeListener.java", @@ -767,7 +753,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator.PageInfoAction; import org.chromium.chrome.browser.omnibox.status.StatusView; -@@ -384,7 +383,6 @@ public class LocationBarCoordinator +@@ -383,7 +382,6 @@ public class LocationBarCoordinator mLocationBarMediator.destroy(); mLocationBarMediator = null; @@ -786,7 +772,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; -@@ -306,24 +305,6 @@ class LocationBarMediator +@@ -307,24 +306,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); @@ -811,7 +797,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -339,8 +320,6 @@ class LocationBarMediator +@@ -340,8 +321,6 @@ class LocationBarMediator templateUrlService.addObserver(this); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && templateUrlService.isDefaultSearchEngineGoogle()) { @@ -820,7 +806,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } }); -@@ -570,7 +549,6 @@ class LocationBarMediator +@@ -574,7 +553,6 @@ class LocationBarMediator LoadUrlParams loadUrlParams = new LoadUrlParams(url); try (TimingMetric record = TimingMetric.shortUptime("Android.Omnibox.SetGeolocationHeadersTime")) { @@ -828,7 +814,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); -@@ -1549,15 +1527,12 @@ class LocationBarMediator +@@ -1550,15 +1528,12 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && mProfileSupplier.hasValue() && mTemplateUrlServiceSupplier.hasValue()) { @@ -847,7 +833,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc --- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc +++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc -@@ -693,11 +693,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { +@@ -436,11 +436,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { // chrome-untrusted://new-tab-page for other external content and resources. // NOTE: Use caution when overriding content security policies as that cean // lead to subtle security bugs such as https://crbug.com/1251541. @@ -889,7 +875,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 -@@ -141,8 +141,6 @@ static_library("common_lib") { +@@ -146,8 +146,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -933,7 +919,7 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6932,7 +6932,6 @@ test("unit_tests") { +@@ -6709,7 +6709,6 @@ test("unit_tests") { "//chrome/browser/favicon", "//chrome/browser/fingerprinting_protection", "//chrome/browser/first_party_sets", @@ -1093,7 +1079,7 @@ diff --git a/components/domain_reliability/monitor.cc b/components/domain_reliab diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc --- a/components/domain_reliability/uploader.cc +++ b/components/domain_reliability/uploader.cc -@@ -80,7 +80,7 @@ class DomainReliabilityUploaderImpl : public DomainReliabilityUploader, +@@ -81,7 +81,7 @@ class DomainReliabilityUploaderImpl : public DomainReliabilityUploader, if (discard_uploads_) discarded_upload_count_++; @@ -1601,7 +1587,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 -@@ -593,11 +593,7 @@ std::u16string TemplateURLRef::SearchTermToString16( +@@ -589,11 +589,7 @@ std::u16string TemplateURLRef::SearchTermToString16( bool TemplateURLRef::HasGoogleBaseURLs( const SearchTermsData& search_terms_data) const { ParseIfNecessary(search_terms_data); @@ -1835,7 +1821,7 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -2813,7 +2813,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2834,7 +2834,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( } #endif // BUILDFLAG(IS_CT_SUPPORTED) diff --git a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch index bcae6d62..613ab7d0 100644 --- a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch +++ b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -103,7 +103,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -107,7 +107,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, @@ -29,7 +29,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc --- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc +++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc -@@ -119,7 +119,9 @@ WebRTCIPHandlingPolicy GetWebRTCIPHandlingPolicy(const String& preference) { +@@ -121,7 +121,9 @@ WebRTCIPHandlingPolicy GetWebRTCIPHandlingPolicy(const String& preference) { return kDefaultPublicInterfaceOnly; if (preference == kWebRTCIPHandlingDisableNonProxiedUdp) return kDisableNonProxiedUdp; @@ -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) { -@@ -859,7 +861,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -889,7 +891,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 3a5d5c9c..0f364fa1 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browser/aw_field_trials.cc --- a/android_webview/browser/aw_field_trials.cc +++ b/android_webview/browser/aw_field_trials.cc -@@ -62,13 +62,6 @@ class AwFeatureOverrides { +@@ -91,13 +91,6 @@ class AwFeatureOverrides { } // namespace void AwFieldTrials::OnVariationsSetupComplete() { From c8dd1ae1dcc7dfe0c8a6038ff6ca1acb40aebfe8 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 7 Aug 2024 14:12:12 +0200 Subject: [PATCH 03/18] Drop pointless patches (#1361 #1362) --- build/cromite_patches_list.txt | 8 -- ...uiltin-autocomplete-for-chrome-flags.patch | 22 ----- .../Temp-try-to-fix-DIPS-service.patch | 35 -------- ...net-cert-increase-default-key-length.patch | 25 ------ ...nH264-enable-ARM-ARM64-optimizations.patch | 80 ------------------- .../ungoogled-chromium-Disable-Gaia.patch | 43 ---------- 6 files changed, 213 deletions(-) delete mode 100644 build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch delete mode 100644 build/patches/Temp-try-to-fix-DIPS-service.patch delete mode 100644 build/patches/net-cert-increase-default-key-length.patch delete mode 100644 build/patches/openH264-enable-ARM-ARM64-optimizations.patch delete mode 100644 build/patches/ungoogled-chromium-Disable-Gaia.patch diff --git a/build/cromite_patches_list.txt b/build/cromite_patches_list.txt index 62d00323..1f35a811 100644 --- a/build/cromite_patches_list.txt +++ b/build/cromite_patches_list.txt @@ -38,12 +38,10 @@ ungoogled-chromium-Disable-translate-integration.patch ungoogled-chromium-Disable-profile-avatar.patch ungoogled-chromium-Disable-intranet-detector.patch ungoogled-chromium-no-special-hosts-domains.patch -ungoogled-chromium-Disable-Gaia.patch ungoogled-chromium-Disable-Network-Time-Tracker.patch Disable-all-promo-dialogs.patch Disable-update-scheduler.patch Add-search-engine.patch -openH264-enable-ARM-ARM64-optimizations.patch Inject-scripts-for-AMP-tracking-ads-and-video.patch Allow-playing-audio-in-background.patch Add-flag-to-control-video-playback-resume-feature.patch @@ -65,7 +63,6 @@ Disable-privacy-sandbox.patch History-number-of-days-privacy-setting.patch Disable-fetching-of-all-field-trials.patch Disable-plugins-enumeration.patch -net-cert-increase-default-key-length.patch dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch Add-flag-to-disable-IPv6-probes.patch profile-resetter-disable-send-settings.patch @@ -73,7 +70,6 @@ Do-not-build-API-keys-infobar.patch autofill-miscellaneous.patch Enable-native-Android-autofill.patch translate-disable-fetching-of-languages-from-server.patch -Offer-builtin-autocomplete-for-chrome-flags.patch Disable-various-metrics.patch Enable-StrictOriginIsolation-and-SitePerProcess.patch Use-64-bit-WebView-processes.patch @@ -101,7 +97,6 @@ Add-menu-item-to-view-source.patch Revert-removal-of-execution-context-address-space.patch Block-gateway-attacks-via-websockets.patch Enable-prefetch-privacy-changes-by-default.patch -Disable-support-for-RAR-files-inspection.patch Enable-darken-websites-checkbox-in-themes.patch Remove-blocklisted-URLs-upon-bookmark-creation.patch Disable-the-DIAL-repeating-discovery.patch @@ -302,15 +297,12 @@ Ask-for-restart-on-connection-change.patch Bubble-Locking-on-UI-DevTools.patch # temporary or wip patches -Disable-wip-Android-Hub.patch Temp-PerformanceNavigationTiming-privacy-fix.patch Temp-disable-predictive-back-gesture.patch TEMP-Add-a-log-to-track-strange-behavior.patch Temp-guard-FileSystemAccessPersistentPermissions.patch Never-treat-Proguard-warnings-as-errors.patch Fix-chromium-build-bugs.patch -Downstream-validate-opaque-origins-checking-their-precursor.patch -Temp-try-to-fix-DIPS-service.patch # adblock patches eyeo-beta-118.0.5993.48-base.patch diff --git a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch b/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch deleted file mode 100644 index 0fad235c..00000000 --- a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Sun, 28 Oct 2018 14:11:50 +0100 -Subject: Offer builtin autocomplete for chrome://flags - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - .../browser/autocomplete/chrome_autocomplete_provider_client.cc | 2 ++ - 1 file changed, 2 insertions(+) - -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 -@@ -302,6 +302,8 @@ std::vector ChromeAutocompleteProviderClient::GetBuiltinURLs() { - std::vector - ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { - std::vector builtins_to_provide; -+ builtins_to_provide.push_back( -+ base::ASCIIToUTF16(chrome::kChromeUIFlagsURL)); - builtins_to_provide.push_back( - base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL)); - builtins_to_provide.push_back(base::ASCIIToUTF16(chrome::kChromeUIFlagsURL)); --- diff --git a/build/patches/Temp-try-to-fix-DIPS-service.patch b/build/patches/Temp-try-to-fix-DIPS-service.patch deleted file mode 100644 index 7ebb4e12..00000000 --- a/build/patches/Temp-try-to-fix-DIPS-service.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: uazo -Date: Mon, 29 Jul 2024 12:12:37 +0000 -Subject: Temp try to fix DIPS service - ---- - chrome/browser/dips/dips_service.cc | 1 + - chrome/browser/ui/tab_helpers.cc | 4 +++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/chrome/browser/dips/dips_service.cc b/chrome/browser/dips/dips_service.cc ---- a/chrome/browser/dips/dips_service.cc -+++ b/chrome/browser/dips/dips_service.cc -@@ -57,6 +57,7 @@ - BASE_FEATURE(kDipsPrepopulation, - "DipsPrepopulation", - base::FEATURE_ENABLED_BY_DEFAULT); -+SET_CROMITE_FEATURE_DISABLED(kDipsPrepopulation); - - namespace { - -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 -@@ -493,7 +493,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { - PrefsTabHelper::CreateForWebContents(web_contents); - prerender::NoStatePrefetchTabHelper::CreateForWebContents(web_contents); - RecentlyAudibleHelper::CreateForWebContents(web_contents); -- RedirectHeuristicTabHelper::CreateForWebContents(web_contents); -+ if (base::FeatureList::IsEnabled(features::kDIPS)) { -+ RedirectHeuristicTabHelper::CreateForWebContents(web_contents); -+ } - #if BUILDFLAG(IS_ANDROID) - RequestDesktopSiteWebContentsObserverAndroid::CreateForWebContents( - web_contents); --- diff --git a/build/patches/net-cert-increase-default-key-length.patch b/build/patches/net-cert-increase-default-key-length.patch deleted file mode 100644 index ade38ec9..00000000 --- a/build/patches/net-cert-increase-default-key-length.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Jan Engelhardt -Date: Mon, 15 Sep 2014 10:52:32 +0200 -Subject: net/cert: increase default key length - -Should we add something for chrome://settings, or just leave -it as hidden as it was before? - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - net/cert/x509_util.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/cert/x509_util.cc b/net/cert/x509_util.cc ---- a/net/cert/x509_util.cc -+++ b/net/cert/x509_util.cc -@@ -304,7 +304,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate, - } - - // RSA keys created by CreateKeyAndSelfSignedCert will be of this length. --static const uint16_t kRSAKeyLength = 1024; -+static const uint16_t kRSAKeyLength = 2048; - - // Certificates made by CreateKeyAndSelfSignedCert will be signed using this - // digest algorithm. --- diff --git a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch b/build/patches/openH264-enable-ARM-ARM64-optimizations.patch deleted file mode 100644 index a32c6c9b..00000000 --- a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Sat, 20 Jan 2018 21:17:27 +0100 -Subject: openH264: enable ARM/ARM64 optimizations - -Enable the optimizations not only for ChromeOS but for all compatbile ARM/ARM64 architectures -Limit threads auto-detect only for iOS - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - .../modules/mediarecorder/h264_encoder.cc | 6 ++--- - third_party/openh264/BUILD.gn | 24 ++++++++++++++----- - 2 files changed, 21 insertions(+), 9 deletions(-) - -diff --git a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc ---- a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc -+++ b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc -@@ -228,11 +228,11 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) { - init_params.iRCMode = RC_OFF_MODE; - } - --#if BUILDFLAG(IS_CHROMEOS) -- init_params.iMultipleThreadIdc = 0; --#else -+#if BUILDFLAG(IS_MAC) - // Threading model: Set to 1 due to https://crbug.com/583348. - init_params.iMultipleThreadIdc = 1; -+#else -+ init_params.iMultipleThreadIdc = 0; - #endif - - // TODO(mcasas): consider reducing complexity if there are few CPUs available. -diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn ---- a/third_party/openh264/BUILD.gn -+++ b/third_party/openh264/BUILD.gn -@@ -131,8 +131,12 @@ if (use_assembler) { - - source_set("common") { - sources = openh264_common_sources -- if (is_chromeos && current_cpu == "arm") { -- sources += openh264_common_sources_asm_arm -+ if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { -+ sources += openh264_common_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_common_sources_asm_arm64 -+ } - } - include_dirs = openh264_common_include_dirs - -@@ -157,8 +161,12 @@ source_set("common") { - - source_set("processing") { - sources = openh264_processing_sources -- if (is_chromeos && current_cpu == "arm") { -- sources += openh264_processing_sources_asm_arm -+ if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { -+ sources += openh264_processing_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_processing_sources_asm_arm64 -+ } - } - include_dirs = openh264_processing_include_dirs - -@@ -174,8 +182,12 @@ source_set("processing") { - - source_set("encoder") { - sources = openh264_encoder_sources -- if (is_chromeos && current_cpu == "arm") { -- sources += openh264_encoder_sources_asm_arm -+ if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { -+ sources += openh264_encoder_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_encoder_sources_asm_arm64 -+ } - } - include_dirs = openh264_encoder_include_dirs - --- diff --git a/build/patches/ungoogled-chromium-Disable-Gaia.patch b/build/patches/ungoogled-chromium-Disable-Gaia.patch deleted file mode 100644 index 0497ba7b..00000000 --- a/build/patches/ungoogled-chromium-Disable-Gaia.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Mon, 12 Feb 2018 21:37:52 +0100 -Subject: ungoogled-chromium: Disable Gaia - -Disables Gaia code. -Somehow it is still being activated even without being signed-in. - -See also: https://github.com/Eloston/ungoogled-chromium/issues/104 - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - google_apis/gaia/gaia_auth_fetcher.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc ---- a/google_apis/gaia/gaia_auth_fetcher.cc -+++ b/google_apis/gaia/gaia_auth_fetcher.cc -@@ -41,7 +41,7 @@ - - namespace { - --const size_t kMaxMessageSize = 1024 * 1024; // 1MB -+//const size_t kMaxMessageSize = 1024 * 1024; // 1MB - - constexpr char kBadAuthenticationError[] = "BadAuthentication"; - constexpr char kBadAuthenticationShortError[] = "badauth"; -@@ -264,6 +264,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( - const net::NetworkTrafficAnnotationTag& traffic_annotation) { - DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; - -+/* - auto resource_request = std::make_unique(); - resource_request->url = gaia_gurl; - original_url_ = gaia_gurl; -@@ -318,6 +319,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( - base::BindOnce(&GaiaAuthFetcher::OnURLLoadComplete, - base::Unretained(this)), - kMaxMessageSize); -+*/ - } - - // static --- From 1c4188b5ff5c2c0f4c2d45f9c25204d1ed7cc9a3 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 7 Aug 2024 14:12:37 +0200 Subject: [PATCH 04/18] v128 need some work (#1362) --- .../Add-option-to-force-tablet-UI.patch | 116 ++-- ...d-setting-to-invert-tap-and-long-tap.patch | 82 +-- .../patches/Chrome-web-store-protection.patch | 201 ++++--- .../Fix-crash-on-customize-profile-ui.patch | 28 +- .../Keep-empty-tabs-between-sessions.patch | 46 +- .../Move-navigation-bar-to-bottom.patch | 516 ++++++------------ ...Remove-voice-recognition-integration.patch | 112 ++-- .../Use-list-mode-for-tab-switcher.patch | 47 +- build/patches/User-agent-customization.patch | 84 +-- build/patches/Viewport-Protection-flag.patch | 80 +-- 10 files changed, 566 insertions(+), 746 deletions(-) diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index 542280c0..22995f90 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -9,13 +9,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../java/res/layout/recent_tabs_page.xml | 2 +- .../java/res/values-sw600dp/dimens.xml | 4 +-- chrome/android/java/res/values/dimens.xml | 6 +++- - .../chrome/browser/ChromeTabbedActivity.java | 4 ++- .../chrome/browser/WarmupManager.java | 5 +++- .../settings/AccessibilitySettings.java | 13 +++++++++ .../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++ .../chrome/browser/app/ChromeActivity.java | 4 ++- .../overlays/strip/StripLayoutHelper.java | 10 +++++-- .../strip/StripLayoutHelperManager.java | 7 ++++- + .../tabbed_mode/TabbedRootUiCoordinator.java | 4 ++- .../chrome/browser/ui/RootUiCoordinator.java | 5 +++- chrome/browser/preferences/BUILD.gn | 1 + .../preferences/ChromePreferenceKeys.java | 1 + @@ -24,24 +24,24 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../SingleTabSwitcherOnNtpMediator.java | 1 + .../omnibox/LocationBarCoordinator.java | 2 +- .../strings/android_chrome_strings.grd | 7 +++++ - .../java/res/layout/control_container.xml | 12 ++++---- + .../java/res/layout/control_container.xml | 10 +++---- .../java/res/layout/toolbar_tablet.xml | 2 +- .../java/res/values-sw600dp/dimens.xml | 5 ++-- .../toolbar/java/res/values/dimens.xml | 5 ++-- .../browser/toolbar/ControlContainer.java | 2 +- - .../top/TabStripTransitionCoordinator.java | 2 +- .../toolbar/top/ToolbarControlContainer.java | 28 ++++++++++++++++++- .../browser/toolbar/top/ToolbarLayout.java | 5 +++- + .../TabStripTransitionCoordinator.java | 2 +- components/BUILD.gn | 6 ++-- .../res/xml/accessibility_preferences.xml | 5 ++++ .../AccessibilitySettingsDelegate.java | 11 ++++++++ .../chromium/ui/base/DeviceFormFactor.java | 9 ++++++ - 32 files changed, 167 insertions(+), 32 deletions(-) + 32 files changed, 166 insertions(+), 31 deletions(-) diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java --- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java -@@ -97,6 +97,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; +@@ -90,6 +90,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.prefs.PrefService; import org.chromium.content_public.browser.LoadUrlParams; @@ -49,7 +49,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.text.EmptyTextWatcher; import org.chromium.ui.util.ColorUtils; -@@ -1124,7 +1125,9 @@ class StartSurfaceMediator +@@ -992,7 +993,9 @@ class StartSurfaceMediator int getTopToolbarPlaceholderHeight() { // If logo is visible in Start surface instead of in the toolbar, we don't need to show the // top margin of the fake search box. @@ -101,7 +101,7 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml -@@ -120,9 +120,13 @@ found in the LICENSE file. +@@ -118,9 +118,13 @@ found in the LICENSE file. 16dp @@ -116,33 +116,19 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res 375dp 60dp -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 -@@ -2280,7 +2280,9 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -859,7 +859,9 @@ public abstract class ChromeActivity // Inflate the correct toolbar layout for the device. int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -242,15 +228,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -84,6 +84,7 @@ import org.chromium.components.feature_engagement.Tracker; - import org.chromium.components.prefs.PrefService; +@@ -87,6 +87,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; +import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.interpolators.Interpolators; -@@ -5059,8 +5060,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro +@@ -5190,8 +5191,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro mTabMenu.setAnchorView(tabView); // 3. Set the vertical offset to align the tab menu with bottom of the tab strip int tabHeight = mManagerHost.getHeight(); @@ -269,7 +255,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 -@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController; +@@ -87,6 +87,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; @@ -277,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.WindowAndroid; -@@ -405,11 +406,15 @@ public class StripLayoutHelperManager +@@ -446,11 +447,15 @@ public class StripLayoutHelperManager mIsLayoutOptimizationsEnabled = ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true); @@ -293,19 +279,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over + mTopPadding = mHeight - mScrollableStripHeight; mDesktopWindowStateProvider = desktopWindowStateProvider; + mStripVisibilityStateSupplier = new ObservableSupplierImpl<>(StripVisibilityState.UNKNOWN); +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 +@@ -535,7 +535,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { + @Override + public int getControlContainerHeightResource() { +- return R.dimen.control_container_height; ++ if (DeviceFormFactor.isForceTabletUI()) ++ return R.dimen.control_container_height_tabletui; ++ return R.dimen.control_container_height_cromite; + } + + @Override 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 -@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; +@@ -100,6 +100,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; +import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; + import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController; import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier; import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController; - import org.chromium.chrome.browser.profiles.Profile; -@@ -1611,7 +1612,9 @@ public class RootUiCoordinator +@@ -1724,7 +1725,9 @@ public class RootUiCoordinator if (!mSupportsFindInPageSupplier.getAsBoolean()) return; int stubId = R.id.find_toolbar_stub; @@ -377,7 +377,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java --- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java +++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java -@@ -40,6 +40,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS +@@ -41,6 +41,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS import org.chromium.components.browser_ui.widget.displaystyle.UiConfig; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle; import org.chromium.components.embedder_support.util.UrlUtilities; @@ -388,7 +388,7 @@ diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java -@@ -778,7 +778,7 @@ public class LocationBarCoordinator +@@ -765,7 +765,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -400,7 +400,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 -@@ -1659,6 +1659,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1667,6 +1667,13 @@ Your Google account may have other forms of browsing history like searches and a Hide your IP address @@ -453,7 +453,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container android:layout_width="match_parent" android:layout_height="@dimen/toolbar_height_no_shadow" android:layout="@layout/find_toolbar" /> -@@ -55,14 +55,14 @@ found in the LICENSE file. +@@ -55,7 +55,7 @@ found in the LICENSE file. android:id="@+id/target_view_stub" android:inflatedId="@+id/toolbar_drag_drop_target_view" android:layout_width="match_parent" @@ -461,15 +461,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container + android:layout_marginTop="@dimen/tab_strip_height_cromite" android:layout_height="@dimen/toolbar_height_no_shadow" android:layout="@layout/drag_drop_target_view" /> - - + diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml --- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml +++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml @@ -522,18 +514,6 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource. -diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java ---- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java -+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java -@@ -155,7 +155,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea - mTabStripReservedTopPadding = - controlContainerView() - .getResources() -- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding); -+ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite); - - mOnLayoutChangedListener = - (view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> { diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java @@ -591,7 +571,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; -@@ -596,7 +597,9 @@ public abstract class ToolbarLayout extends FrameLayout +@@ -644,7 +645,9 @@ public abstract class ToolbarLayout extends FrameLayout * not have a tab strip. */ protected int getTabStripHeightFromResource() { @@ -602,6 +582,18 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow } /** Triggered when the content view for the specified tab has changed. */ +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java +@@ -151,7 +151,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea + mTabStripReservedTopPadding = + controlContainerView() + .getResources() +- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding); ++ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite); + + mOnLayoutChangedListener = + (view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> { diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn @@ -614,7 +606,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 -@@ -851,7 +851,7 @@ test("components_unittests") { +@@ -850,7 +850,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. @@ -623,7 +615,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn assert_no_deps = [ "//chrome/*" ] assert_no_deps += disallowed_extension_deps_ } -@@ -1137,7 +1137,7 @@ if (use_blink) { +@@ -1142,7 +1142,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. 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 a1bef41f..506213ad 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 @@ -13,13 +13,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++ .../contextmenu/ChromeContextMenuItem.java | 5 ++- .../ChromeContextMenuPopulator.java | 5 +++ - .../tab/TabContextMenuItemDelegate.java | 8 +++++ - .../contextmenu/ContextMenuItemDelegate.java | 2 ++ + .../tab/TabContextMenuItemDelegate.java | 9 +++++ .../flags/android/chrome_feature_list.cc | 1 + .../browser/flags/ChromeFeatureList.java | 5 +++ .../strings/android_chrome_strings.grd | 9 +++++ .../res/xml/accessibility_preferences.xml | 5 +++ .../AccessibilitySettingsDelegate.java | 2 ++ + .../contextmenu/ContextMenuItemDelegate.java | 2 ++ ...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++ ...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++ ...Add-setting-to-invert-tap-and-long-tap.inc | 1 + @@ -29,7 +29,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../renderer/core/html/html_image_element.h | 2 ++ .../core/page/context_menu_controller.cc | 33 ++++++++++++----- .../core/page/context_menu_controller.h | 5 +-- - 21 files changed, 165 insertions(+), 20 deletions(-) + 21 files changed, 166 insertions(+), 20 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc @@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -91,6 +91,7 @@ found in the LICENSE file. +@@ -88,6 +88,7 @@ found in the LICENSE file. @@ -142,7 +142,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 -@@ -266,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -273,6 +273,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { -@@ -631,6 +634,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -638,6 +641,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { getProfile(), false); }); @@ -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/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java -@@ -297,6 +297,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -328,11 +328,20 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -176,27 +176,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM + mTab.loadUrl(loadUrlParams); + } + - @Override + /** + * Called when the {@code url} is of an image and should be opened in a new page. + * + * @param url The image URL to open. + */ ++ @Override public void onOpenImageInNewTab(GURL url, Referrer referrer) { LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java ---- a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java -+++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java -@@ -110,6 +110,8 @@ public interface ContextMenuItemDelegate { - */ - void onOpenImageUrl(GURL url, Referrer referrer); - -+ void onOpenUrl(GURL url, Referrer referrer); -+ - /** - * Called when the {@code url} is of an image and should be opened in a new tab. - * @param url The image URL to open. + loadUrlParams.setReferrer(referrer); 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 -@@ -293,6 +293,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -303,6 +303,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kTabGroupCreationDialogAndroid, &kTabGroupParityAndroid, - &kTabIdMapAndroid, &kTabletTabSwitcherLongPressMenu, + &blink::features::kShowAlwaysContextMenuOnLinks, &kTabletToolbarReordering, @@ -205,7 +199,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 -@@ -370,6 +370,8 @@ public abstract class ChromeFeatureList { +@@ -378,6 +378,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -214,7 +208,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"; -@@ -654,6 +656,8 @@ public abstract class ChromeFeatureList { +@@ -676,6 +678,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -223,18 +217,18 @@ 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 = -@@ -812,6 +816,7 @@ public abstract class ChromeFeatureList { +@@ -836,6 +840,7 @@ public abstract class ChromeFeatureList { sTabWindowManagerIndexReassignmentActivityNotInAppTasks, sTabWindowManagerReportIndicesMismatch, sUseChimeAndroidSdk, + sShowAlwaysContextMenuOnLinks, sUseLibunwindstackNativeUnwinderAndroid, - sVerticalAutomotiveBackButtonToolbar); - + sVerticalAutomotiveBackButtonToolbar, + sWebApkMinShellApkVersion); 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 -@@ -1724,6 +1724,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1732,6 +1732,12 @@ Your Google account may have other forms of browsing history like searches and a Disable toolbar swipe up @@ -247,7 +241,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3011,6 +3017,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3240,6 +3246,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -284,6 +278,18 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c /** @return The BrowserContextHandle that should be used to read and update settings. */ BrowserContextHandle getBrowserContextHandle(); +diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java +--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java ++++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java +@@ -148,6 +148,8 @@ public interface ContextMenuItemDelegate { + */ + GURL getPageUrl(); + ++ void onOpenUrl(GURL url, Referrer referrer); ++ + /** + * Called when the current embedder app is not the default to handle a View Intent. + * diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc new file mode 100644 --- /dev/null @@ -340,7 +346,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third LocalDOMWindow* window = GetDocument().domWindow(); if (!window) { return; -@@ -576,6 +588,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, +@@ -581,6 +593,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, request.GetReferrerPolicy())); } @@ -356,7 +362,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; -@@ -629,7 +650,7 @@ AtomicString HTMLAnchorElement::interestAction() const { +@@ -634,7 +655,7 @@ AtomicString HTMLAnchorElement::interestAction() const { return g_empty_atom; } @@ -365,7 +371,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third event.SetDefaultHandled(); LocalDOMWindow* window = GetDocument().domWindow(); -@@ -725,13 +746,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { +@@ -730,13 +751,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { return; } @@ -383,7 +389,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( -@@ -741,7 +761,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { +@@ -746,7 +766,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -397,7 +403,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h --- a/third_party/blink/renderer/core/html/html_anchor_element.h +++ b/third_party/blink/renderer/core/html/html_anchor_element.h -@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { +@@ -116,6 +116,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { AtomicString interestAction() const override; void Trace(Visitor*) const override; @@ -405,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_ protected: void ParseAttribute(const AttributeModificationParams&) override; -@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { +@@ -147,7 +148,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { bool is_trusted, base::TimeTicks platform_time_stamp, KURL); @@ -429,7 +435,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ #include "third_party/blink/renderer/core/frame/attribution_src_loader.h" #include "third_party/blink/renderer/core/frame/deprecation/deprecation.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" -@@ -64,6 +65,7 @@ +@@ -63,6 +64,7 @@ #include "third_party/blink/renderer/core/media_type_names.h" #include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/page.h" @@ -437,7 +443,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" -@@ -800,6 +802,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( +@@ -799,6 +801,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( } } @@ -521,7 +527,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; -@@ -833,11 +846,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -831,11 +844,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); SetPasswordManagerData(result.InnerElement(), data); diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index b94a44dd..da1d3ddc 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -13,37 +13,37 @@ Auto-update is disabled by default: it is possible to activate it with chrome:// License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - chrome/app/extensions_strings.grdp | 6 +++ - .../developer_private_api.cc | 37 ++++++++++++- - .../developer_private/developer_private_api.h | 3 ++ - .../webstore_private/webstore_private_api.cc | 15 +++++- + chrome/app/extensions_strings.grdp | 6 ++ + .../developer_private_api.cc | 38 +++++++++++- + .../developer_private/developer_private_api.h | 3 + + .../webstore_private/webstore_private_api.cc | 15 ++++- chrome/browser/extensions/cws_info_service.cc | 1 + .../extensions/extension_system_impl.cc | 2 + .../chrome_extension_downloader_factory.cc | 1 - - .../extensions/updater/extension_updater.cc | 40 ++++++++------ + .../extensions/updater/extension_updater.cc | 40 ++++++++----- .../extensions/updater/extension_updater.h | 4 ++ .../extensions/webstore_install_helper.cc | 2 +- .../browser/extensions/webstore_installer.cc | 2 +- .../browser/resources/extensions/manager.html | 1 + .../browser/resources/extensions/manager.ts | 7 +++ .../browser/resources/extensions/service.ts | 5 ++ - .../browser/resources/extensions/toolbar.html | 12 +++++ + .../browser/resources/extensions/toolbar.html | 12 ++++ .../browser/resources/extensions/toolbar.ts | 20 +++++++ .../resources/webstore_app/manifest.json | 7 +-- .../ui/webui/extensions/extensions_ui.cc | 8 +++ - .../chrome_update_query_params_delegate.cc | 13 ++--- + .../chrome_update_query_params_delegate.cc | 13 ++-- .../extensions/api/developer_private.idl | 2 + - .../update_client/update_query_params.cc | 7 ++- - .../about_flags_cc/Webstore-protection.inc | 19 +++++++ - .../browser/api/management/management_api.cc | 50 +++++++++++------ - .../browser/updater/extension_downloader.cc | 53 +++++++------------ + .../update_client/update_query_params.cc | 7 +-- + .../about_flags_cc/Webstore-protection.inc | 19 ++++++ + .../browser/api/management/management_api.cc | 60 ++++++++++++------- + .../browser/updater/extension_downloader.cc | 53 +++++++--------- .../browser/updater/extension_downloader.h | 1 - .../browser/updater/manifest_fetch_data.cc | 8 +-- .../browser/updater/safe_manifest_parser.cc | 1 + - extensions/common/extension_features.cc | 15 ++++++ + extensions/common/extension_features.cc | 15 +++++ extensions/common/extension_features.h | 4 ++ .../definitions/developer_private.d.ts | 2 + - 30 files changed, 251 insertions(+), 97 deletions(-) + 30 files changed, 256 insertions(+), 103 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp @@ -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 -@@ -129,6 +129,12 @@ +@@ -130,6 +130,12 @@ #include "url/gurl.h" #include "url/origin.h" @@ -78,10 +78,11 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a namespace extensions { namespace developer = api::developer_private; -@@ -471,9 +477,32 @@ std::unique_ptr DeveloperPrivateAPI::CreateProfileInfo( - info->is_mv2_deprecation_warning_dismissed = +@@ -475,10 +481,32 @@ std::unique_ptr DeveloperPrivateAPI::CreateProfileInfo( + info->is_mv2_deprecation_notice_dismissed = ManifestV2ExperimentManager::Get(profile) - ->DidUserAcknowledgeWarningGlobally(); + ->DidUserAcknowledgeNoticeGlobally(); +- + info->is_extension_autoupdate_enabled = DeveloperPrivateAPI::IsExtensionAutoupdateEnabled(); return info; } @@ -111,7 +112,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a template <> void BrowserContextKeyedAPIFactory< DeveloperPrivateAPI>::DeclareFactoryDependencies() { -@@ -907,6 +936,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +@@ -916,6 +944,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { ExtensionUpdater::CheckParams params; params.fetch_priority = DownloadFetchPriority::kForeground; params.install_immediately = true; @@ -119,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)); -@@ -1047,7 +1077,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -1056,7 +1085,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { const developer::ProfileConfigurationUpdate& update = params->update; @@ -128,8 +129,8 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a Profile* profile = Profile::FromBrowserContext(browser_context()); CHECK(profile); if (supervised_user::AreExtensionsPermissionsEnabled( -@@ -1062,6 +1092,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { - ->MarkWarningAsAcknowledgedGlobally(); +@@ -1071,6 +1100,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { + ->MarkNoticeAsAcknowledgedGlobally(); } + if (update.is_extension_autoupdate_enabled.has_value()) { @@ -143,7 +144,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.h b/chrome/browser/extensions/api/developer_private/developer_private_api.h --- a/chrome/browser/extensions/api/developer_private/developer_private_api.h +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.h -@@ -236,6 +236,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI, +@@ -234,6 +234,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI, static std::unique_ptr CreateProfileInfo( Profile* profile); @@ -190,7 +191,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api switch (status) { case kCanRequest: return api::webstore_private::ExtensionInstallStatus::kCanRequest; -@@ -1165,7 +1172,8 @@ ExtensionFunction::ResponseAction +@@ -1168,7 +1175,8 @@ ExtensionFunction::ResponseAction WebstorePrivateIsInIncognitoModeFunction::Run() { Profile* profile = Profile::FromBrowserContext(browser_context()); return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create( @@ -200,7 +201,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api } WebstorePrivateIsPendingCustodianApprovalFunction:: -@@ -1260,11 +1268,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { +@@ -1263,11 +1271,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { request.mutable_referrer_chain_options()->set_recent_navigations_to_collect( recent_navigations_to_collect); @@ -260,7 +261,7 @@ diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_facto diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc --- a/chrome/browser/extensions/updater/extension_updater.cc +++ b/chrome/browser/extensions/updater/extension_updater.cc -@@ -44,6 +44,7 @@ +@@ -47,6 +47,7 @@ #include "extensions/browser/updater/extension_update_data.h" #include "extensions/common/constants.h" #include "extensions/common/extension.h" @@ -268,7 +269,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro #include "extensions/common/extension_set.h" #include "extensions/common/extension_updater_uma.h" #include "extensions/common/extension_urls.h" -@@ -198,6 +199,10 @@ void ExtensionUpdater::Start() { +@@ -201,6 +202,10 @@ void ExtensionUpdater::Start() { DCHECK(!weak_ptr_factory_.HasWeakPtrs()); DCHECK(registry_); alive_ = true; @@ -279,7 +280,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro // Check soon, and set up the first delayed check. if (!g_skip_scheduled_checks_for_tests) { if (g_should_immediately_update) -@@ -330,7 +335,8 @@ void ExtensionUpdater::AddToDownloader( +@@ -333,7 +338,8 @@ void ExtensionUpdater::AddToDownloader( const Extension& extension = **extension_iter; const ExtensionId& extension_id = extension.id(); if (!Manifest::IsAutoUpdateableLocation(extension.location())) { @@ -289,16 +290,16 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro continue; } // An extension might be overwritten by policy, and have its update url -@@ -344,7 +350,7 @@ void ExtensionUpdater::AddToDownloader( +@@ -347,7 +353,7 @@ void ExtensionUpdater::AddToDownloader( continue; } - if (CanUseUpdateService(extension_id)) { + if ((false) && CanUseUpdateService(extension_id)) { - update_check_params->update_info[extension_id] = ExtensionUpdateData(); + update_check_params->update_info[extension_id] = + GetExtensionUpdateData(extension_id); } else if (AddExtensionToDownloader(extension, request_id, - fetch_priority)) { -@@ -382,6 +388,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( +@@ -386,6 +392,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( } void ExtensionUpdater::CheckNow(CheckParams params) { @@ -311,7 +312,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro if (params.ids.empty()) { // Checking all extensions. Cancel pending DoCheckSoon() call if there's // one, as it would be redundant. -@@ -390,7 +402,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -394,7 +406,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { int request_id = next_request_id_++; @@ -320,25 +321,25 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro if (params.ids.empty()) NotifyStarted(); -@@ -462,7 +474,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { - << " is not a corrupt reinstall"; - update_check_params.update_info[pending_id] = ExtensionUpdateData(); +@@ -467,7 +479,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { + update_check_params.update_info[pending_id] = + GetExtensionUpdateData(pending_id); } else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) { - VLOG(2) << "Extension " << pending_id << " is not auto updateable"; + LOG(INFO) << "Extension " << pending_id << " is not auto updateable"; continue; } // We have to mark high-priority extensions (such as policy-forced -@@ -472,7 +484,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -477,7 +489,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { // See https://crbug.com/904600 and https://crbug.com/965686. const bool is_high_priority_extension_pending = pending_extension_manager->HasHighPriorityPendingExtension(); - if (CanUseUpdateService(pending_id)) { + if ((false) && CanUseUpdateService(pending_id)) { + update_check_params.update_info[pending_id] = + GetExtensionUpdateData(pending_id); update_check_params.update_info[pending_id].is_corrupt_reinstall = - is_corrupt_reinstall; - if (is_corrupt_reinstall) { -@@ -493,6 +505,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -500,6 +512,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { LOG(WARNING) << "Corrupt extension with id " << pending_id << " will be reinstalled with ExtensionDownloader."; } @@ -347,7 +348,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro } else { InstallStageTracker::Get(profile_)->ReportFailure( pending_id, -@@ -505,13 +519,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -512,13 +526,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { AddToDownloader(®istry_->disabled_extensions(), pending_ids, request_id, params.fetch_priority, &update_check_params); ExtensionSet remotely_disabled_extensions; @@ -361,16 +362,16 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id, params.fetch_priority, &update_check_params); } else { -@@ -519,7 +526,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -526,7 +533,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { const Extension* extension = registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING); if (extension) { - if (CanUseUpdateService(id)) { + if ((false) && CanUseUpdateService(id)) { - update_check_params.update_info[id] = ExtensionUpdateData(); + update_check_params.update_info[id] = GetExtensionUpdateData(id); } else if (AddExtensionToDownloader(*extension, request_id, params.fetch_priority)) { -@@ -660,7 +667,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -667,7 +674,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( file.extension_id, InstallStageTracker::Stage::INSTALLING); UpdatePingData(file.extension_id, ping); @@ -379,7 +380,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro FetchedCRXFile fetched(file, file_ownership_passed, request_ids, std::move(callback)); -@@ -671,6 +678,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -678,6 +685,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id, DownloadPingData* ping_data) { @@ -387,7 +388,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro DCHECK(alive_); ping_data->rollcall_days = CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id)); -@@ -769,7 +777,7 @@ bool ExtensionUpdater::CanUseUpdateService( +@@ -790,7 +798,7 @@ bool ExtensionUpdater::CanUseUpdateService( void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) { std::set request_ids; @@ -396,7 +397,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro << crx_file.info.path.value(); // The ExtensionService is now responsible for cleaning up the temp file -@@ -878,7 +886,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { +@@ -899,7 +907,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { InProgressCheck& request = requests_in_progress_[request_id]; if (!request.in_progress_ids.empty() || request.awaiting_update_service) return; // This request is not done yet. @@ -408,7 +409,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h --- a/chrome/browser/extensions/updater/extension_updater.h +++ b/chrome/browser/extensions/updater/extension_updater.h -@@ -81,6 +81,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { +@@ -82,6 +82,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { // right away. bool install_immediately = false; @@ -417,7 +418,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/brow // An extension update check can be originated by a user or by a scheduled // task. When the value of |fetch_priority| is FOREGROUND, the update // request was initiated by a user. -@@ -328,6 +330,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { +@@ -333,6 +335,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { base::TimeDelta frequency_; bool will_check_soon_ = false; @@ -465,7 +466,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res --- a/chrome/browser/resources/extensions/manager.ts +++ b/chrome/browser/resources/extensions/manager.ts @@ -127,6 +127,11 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { - value: () => loadTimeData.getBoolean('MV2DeprecationPanelDismissed'), + value: () => loadTimeData.getBoolean('MV2DeprecationNoticeDismissed'), }, + isExtUpdateEnabled: { @@ -479,15 +480,15 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res @@ -229,6 +234,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { delegate: Service; inDevMode: boolean; - isMv2DeprecationWarningDismissed: boolean; + isMv2DeprecationNoticeDismissed: boolean; + isExtUpdateEnabled: boolean; showActivityLog: boolean; enableEnhancedSiteControls: boolean; devModeControlledByPolicy: boolean; @@ -301,6 +307,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { this.canLoadUnpacked = profileInfo.canLoadUnpacked; - this.isMv2DeprecationWarningDismissed = - profileInfo.isMv2DeprecationWarningDismissed; + this.isMv2DeprecationNoticeDismissed = + profileInfo.isMv2DeprecationNoticeDismissed; + this.isExtUpdateEnabled = profileInfo.isExtensionAutoupdateEnabled; }; service.getProfileStateChangedTarget().addListener(onProfileStateChanged); @@ -495,7 +496,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res diff --git a/chrome/browser/resources/extensions/service.ts b/chrome/browser/resources/extensions/service.ts --- a/chrome/browser/resources/extensions/service.ts +++ b/chrome/browser/resources/extensions/service.ts -@@ -291,6 +291,11 @@ export class Service implements ServiceInterface { +@@ -290,6 +290,11 @@ export class Service implements ServiceInterface { {inDeveloperMode: inDevMode}); } @@ -622,7 +623,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse namespace extensions { namespace { -@@ -359,6 +361,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, +@@ -374,6 +376,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, {"itemSuspiciousInstallLearnMore", IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE}, {"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE}, @@ -631,7 +632,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse {"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED}, {"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE}, {"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK}, -@@ -431,6 +435,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, +@@ -446,6 +450,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, source->AddString("hostPermissionsLearnMoreLink", chrome_extension_constants::kRuntimeHostPermissionsHelpURL); source->AddBoolean(kInDevModeKey, in_dev_mode); @@ -671,15 +672,15 @@ diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/ @@ -292,6 +292,7 @@ namespace developerPrivate { boolean isIncognitoAvailable; boolean isChildAccount; - boolean isMv2DeprecationWarningDismissed; + boolean isMv2DeprecationNoticeDismissed; + boolean isExtensionAutoupdateEnabled; }; // DEPRECATED: Prefer ExtensionInfo. -@@ -352,6 +353,7 @@ namespace developerPrivate { +@@ -351,6 +352,7 @@ namespace developerPrivate { dictionary ProfileConfigurationUpdate { boolean? inDeveloperMode; - boolean? isMv2DeprecationWarningDismissed; + boolean? isMv2DeprecationNoticeDismissed; + boolean? isExtensionAutoupdateEnabled; }; @@ -745,7 +746,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br #include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/management/management_api_constants.h" #include "extensions/browser/disable_reason.h" -@@ -39,6 +42,7 @@ +@@ -40,6 +43,7 @@ #include "extensions/common/api/management.h" #include "extensions/common/error_utils.h" #include "extensions/common/extension.h" @@ -753,7 +754,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br #include "extensions/common/extension_id.h" #include "extensions/common/extension_urls.h" #include "extensions/common/icons/extension_icon_set.h" -@@ -90,6 +94,27 @@ std::vector CreateWarningsList(const Extension* extension) { +@@ -91,6 +95,27 @@ std::vector CreateWarningsList(const Extension* extension) { return warnings_list; } @@ -781,7 +782,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br std::vector GetAvailableLaunchTypes( const Extension& extension, const ManagementAPIDelegate* delegate) { -@@ -263,6 +288,8 @@ void AddExtensionInfo(const Extension* source_extension, +@@ -268,6 +293,8 @@ void AddExtensionInfo(const Extension* source_extension, const ExtensionSet& extensions, ExtensionInfoList* extension_list, content::BrowserContext* context) { @@ -790,7 +791,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br for (ExtensionSet::const_iterator iter = extensions.begin(); iter != extensions.end(); ++iter) { const Extension& extension = **iter; -@@ -308,10 +335,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() { +@@ -313,10 +340,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() { std::optional params = management::Get::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); @@ -799,39 +800,63 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br const Extension* target_extension = - registry->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING); + GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING); - if (!target_extension) + if (!target_extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); - -@@ -331,8 +357,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() { + } +@@ -337,8 +363,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() { EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = - ExtensionRegistry::Get(browser_context()) - ->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING); + GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING); - if (!extension) + if (!extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); - -@@ -398,8 +423,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() { - return RespondNow(Error(keys::kNotAllowedInKioskError)); + } +@@ -406,8 +431,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() { + } const Extension* extension = - ExtensionRegistry::Get(browser_context()) - ->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING); + GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING); - if (!extension) + if (!extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); - if (!extension->is_app()) -@@ -434,7 +458,7 @@ ExtensionFunction::ResponseAction ManagementSetEnabledFunction::Run() { - ->GetDelegate(); - - const Extension* target_extension = -- registry->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); -+ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_, ExtensionRegistry::EVERYTHING); - if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) { - return RespondNow(Error(keys::kNoExtensionError, extension_id_)); } -@@ -644,8 +668,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall( +@@ -548,8 +572,8 @@ void ManagementSetEnabledFunction::CheckPermissionsIncrease() { + // Extension could have been uninstalled externally while previous check was + // happening. + const Extension* extension = +- ExtensionRegistry::Get(browser_context()) +- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); ++ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_, ++ ExtensionRegistry::EVERYTHING); + if (!extension) { + FinishEnable(Error(keys::kNoExtensionError)); + return; +@@ -592,8 +616,8 @@ void ManagementSetEnabledFunction::CheckManifestV2Deprecation() { + // Extension can be uninstalled externally while the previous check was + // happening async. + const Extension* extension = +- ExtensionRegistry::Get(browser_context()) +- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); ++ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_, ++ ExtensionRegistry::EVERYTHING); + if (!extension) { + FinishEnable(Error(keys::kNoExtensionError)); + return; +@@ -737,8 +761,8 @@ void ManagementSetEnabledFunction::OnSupervisedExtensionApprovalDone( + } + + const Extension* ManagementSetEnabledFunction::GetExtension() { +- return ExtensionRegistry::Get(browser_context()) +- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); ++ return GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_, ++ ExtensionRegistry::EVERYTHING); + } + + ManagementUninstallFunctionBase::ManagementUninstallFunctionBase() = default; +@@ -763,8 +787,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall( ->GetDelegate(); target_extension_id_ = target_extension_id; const Extension* target_extension = @@ -841,7 +866,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br ExtensionRegistry::EVERYTHING); if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) { return RespondNow(Error(keys::kNoExtensionError, target_extension_id_)); -@@ -709,8 +732,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() { +@@ -829,8 +852,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() { // The extension can be uninstalled in another window while the UI was // showing. Do nothing in that case. const Extension* target_extension = @@ -851,7 +876,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br ExtensionRegistry::EVERYTHING); std::string error; bool success = false; -@@ -791,8 +813,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() { +@@ -907,8 +929,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() { management::CreateAppShortcut::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = @@ -861,7 +886,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { return RespondNow(Error( ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id))); -@@ -842,8 +863,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() { +@@ -961,8 +982,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() { management::SetLaunchType::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = @@ -1110,7 +1135,7 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc -@@ -179,4 +179,19 @@ BASE_FEATURE(kUseNewServiceWorkerTaskQueue, +@@ -183,4 +183,19 @@ BASE_FEATURE(kUseNewServiceWorkerTaskQueue, "UseNewServiceWorkerTaskQueue", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1133,7 +1158,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h -@@ -211,6 +211,10 @@ BASE_DECLARE_FEATURE(kUseItemSnippetsAPI); +@@ -217,6 +217,10 @@ BASE_DECLARE_FEATURE(kUseItemSnippetsAPI); // If enabled, use the new simpler, more efficient service worker task queue. BASE_DECLARE_FEATURE(kUseNewServiceWorkerTaskQueue); @@ -1150,15 +1175,15 @@ diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescr @@ -277,6 +277,7 @@ declare global { isIncognitoAvailable: boolean; isChildAccount: boolean; - isMv2DeprecationWarningDismissed: boolean; + isMv2DeprecationNoticeDismissed: boolean; + isExtensionAutoupdateEnabled: boolean; } export interface ExtensionConfigurationUpdate { -@@ -295,6 +296,7 @@ declare global { +@@ -293,6 +294,7 @@ declare global { export interface ProfileConfigurationUpdate { inDeveloperMode?: boolean; - isMv2DeprecationWarningDismissed?: boolean; + isMv2DeprecationNoticeDismissed?: boolean; + isExtensionAutoupdateEnabled?: boolean; } diff --git a/build/patches/Fix-crash-on-customize-profile-ui.patch b/build/patches/Fix-crash-on-customize-profile-ui.patch index 04f860a1..38bbec18 100644 --- a/build/patches/Fix-crash-on-customize-profile-ui.patch +++ b/build/patches/Fix-crash-on-customize-profile-ui.patch @@ -4,23 +4,13 @@ Subject: Fix crash on customize profile ui License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../theme_color_picker/theme_color_picker_handler.cc | 4 ++-- - .../webui/customize_themes/chrome_customize_themes_handler.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) + .../theme_color_picker/theme_color_picker_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.cc b/chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.cc --- a/chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.cc +++ b/chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.cc -@@ -47,7 +47,7 @@ theme_color_picker::mojom::ChromeColorPtr CreateChromeColor( - chrome_colors::ColorInfo color_info) { - auto theme_colors = GetAutogeneratedThemeColors(color_info.color); - auto color = theme_color_picker::mojom::ChromeColor::New(); -- color->name = l10n_util::GetStringUTF8(color_info.label_id); -+ //color->name = l10n_util::GetStringUTF8(color_info.label_id); - color->seed = color_info.color; - color->background = theme_colors.active_tab_color; - color->foreground = theme_colors.frame_color; -@@ -62,7 +62,7 @@ theme_color_picker::mojom::ChromeColorPtr CreateDynamicChromeColor( +@@ -49,7 +49,7 @@ theme_color_picker::mojom::ChromeColorPtr CreateDynamicChromeColor( auto color = theme_color_picker::mojom::ChromeColor::New(); auto color_palette = ui::GeneratePalette( color_info.color, GetSchemeVariant(color_info.variant)); @@ -29,16 +19,4 @@ diff --git a/chrome/browser/ui/webui/cr_components/theme_color_picker/theme_colo color->seed = color_info.color; color->background = is_dark_mode ? color_palette->primary().get(80) : color_palette->primary().get(40); -diff --git a/chrome/browser/ui/webui/customize_themes/chrome_customize_themes_handler.cc b/chrome/browser/ui/webui/customize_themes/chrome_customize_themes_handler.cc ---- a/chrome/browser/ui/webui/customize_themes/chrome_customize_themes_handler.cc -+++ b/chrome/browser/ui/webui/customize_themes/chrome_customize_themes_handler.cc -@@ -80,7 +80,7 @@ void ChromeCustomizeThemesHandler::GetChromeThemes( - auto theme_colors = GetAutogeneratedThemeColors(color_info.color); - auto theme = customize_themes::mojom::ChromeTheme::New(); - theme->id = color_info.id; -- theme->label = l10n_util::GetStringUTF8(color_info.label_id); -+ //theme->label = l10n_util::GetStringUTF8(color_info.label_id); - auto colors = customize_themes::mojom::ThemeColors::New(); - colors->frame = theme_colors.frame_color; - colors->active_tab = theme_colors.active_tab_color; -- diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch index 49aeaf49..1a7d51bc 100644 --- a/build/patches/Keep-empty-tabs-between-sessions.patch +++ b/build/patches/Keep-empty-tabs-between-sessions.patch @@ -5,29 +5,41 @@ Subject: Keep empty tabs between sessions 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 --- - .../chrome/browser/tabmodel/TabPersistentStore.java | 12 ------------ - 1 file changed, 12 deletions(-) + .../browser/tabmodel/TabPersistentStore.java | 18 ------------------ + 1 file changed, 18 deletions(-) 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 -@@ -817,18 +817,6 @@ public class TabPersistentStore { +@@ -1152,30 +1152,12 @@ public class TabPersistentStore { + continue; } - } else { -- if (!mSkipSavingNonActiveNtps -- && UrlUtilities.isNtpUrl(tabToRestore.url) -- && !setAsActive -- && !tabToRestore.fromMerge) { -- Log.i(TAG, "Skipping restore of non-selected NTP."); -- RecordHistogram.recordEnumeratedHistogram( -- "Tabs.TabRestoreMethod", -- TabRestoreMethod.SKIPPED_NTP, -- TabRestoreMethod.NUM_ENTRIES); -- return; +- if (i == activeIndex) { +- // If any non-active NTPs have been skipped, the serialized tab model index +- // needs to be adjusted. +- modelInfo.index = modelInfo.ids.size(); +- } else if (shouldSkipTab(tab)) { +- continue; - } + modelInfo.ids.add(tab.getId()); + modelInfo.urls.add(tab.getUrl().getSpec()); + } + return modelInfo; + } + +- private static boolean shouldSkipTab(@NonNull Tab tab) { +- boolean isNtp = tab.isNativePage() && UrlUtilities.isNtpUrl(tab.getUrl()); +- if (!isNtp) return false; - - Log.w(TAG, "Failed to restore TabState; creating Tab with last known URL."); - Tab fallbackTab = - mTabCreatorManager +- if (ChromeFeatureList.sAndroidTabGroupStableIds.isEnabled()) { +- // Only skip NTP tabs that are not in a tab group. +- return tab.getTabGroupId() == null; +- } +- return true; +- } +- + private void saveListToFile(TabModelSelectorMetadata listData) { + if (Objects.equals(mLastSavedMetadata, listData)) return; + // Save the index file containing the list of tabs to restore. -- diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index cba0ecfa..3fab5f2b 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -23,15 +23,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../tab_management/TabGroupUiProperties.java | 7 +- .../tab_management/TabGroupUiToolbarView.java | 17 ++ .../tab_management/TabGroupUiViewBinder.java | 3 + - .../TabListContainerViewBinder.java | 15 +- .../tab_management/TabListCoordinator.java | 153 +++++++++++++++++- .../TabListEmptyCoordinator.java | 17 +- - .../tab_management/TabListRecyclerView.java | 19 ++- - .../tab_management/TabSwitcherMediator.java | 27 +++- .../settings/AccessibilitySettings.java | 26 +++ .../ChromeAccessibilitySettingsDelegate.java | 69 ++++++++ .../chrome/browser/app/ChromeActivity.java | 3 + - .../compositor/CompositorViewHolder.java | 8 + + .../compositor/CompositorViewHolder.java | 7 + .../layouts/LayoutManagerChrome.java | 19 ++- .../layouts/LayoutManagerChromeTablet.java | 4 +- .../layouts/ToolbarSwipeLayout.java | 14 +- @@ -45,13 +42,13 @@ 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 | 9 ++ + .../chrome/browser/ntp/NewTabPageLayout.java | 12 +- .../chrome/browser/ntp/RecentTabsPage.java | 30 +++- .../browser/searchwidget/SearchActivity.java | 11 ++ .../browser/settings/SettingsActivity.java | 5 + .../StatusIndicatorCoordinator.java | 9 ++ .../StatusIndicatorSceneLayer.java | 6 +- - .../browser/toolbar/ToolbarManager.java | 44 ++++- + .../browser/toolbar/ToolbarManager.java | 37 ++++- .../chrome/browser/ui/BottomContainer.java | 18 +++ .../ui/system/StatusBarColorController.java | 9 ++ .../android/compositor/layer/toolbar_layer.cc | 10 +- @@ -88,7 +85,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 ++ - 75 files changed, 989 insertions(+), 81 deletions(-) + 72 files changed, 930 insertions(+), 74 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc diff --git a/cc/base/features.cc b/cc/base/features.cc @@ -147,7 +144,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 -@@ -4448,6 +4448,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { +@@ -4496,6 +4496,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { if (scroll_delta.IsZero()) return false; @@ -160,7 +157,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/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java --- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java -@@ -105,6 +105,8 @@ import org.chromium.url.GURL; +@@ -98,6 +98,8 @@ import org.chromium.url.GURL; import java.util.List; @@ -168,8 +165,8 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ + /** The mediator implements the logic to interact with the surfaces and caller. */ class StartSurfaceMediator - implements TabSwitcher.TabSwitcherViewObserver, -@@ -968,6 +970,8 @@ class StartSurfaceMediator + implements StartSurface.OnTabSelectingListener, +@@ -860,6 +862,8 @@ class StartSurfaceMediator } private void setTopMargin(int topMargin) { @@ -181,15 +178,15 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ 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 -@@ -38,6 +38,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -38,6 +38,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; - import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +import org.chromium.chrome.browser.theme.TopUiThemeColorProvider; import java.util.List; -@@ -153,7 +154,8 @@ public class TabGroupUiCoordinator +@@ -156,7 +157,8 @@ public class TabGroupUiCoordinator public void initializeWithNative( Activity activity, BottomControlsCoordinator.BottomControlsVisibilityController visibilityController, @@ -199,7 +196,7 @@ 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")) { -@@ -211,7 +213,8 @@ public class TabGroupUiCoordinator +@@ -214,7 +216,8 @@ public class TabGroupUiCoordinator mLayoutStateProviderSupplier, mIncognitoStateProvider, mTabGridDialogControllerSupplier, @@ -212,7 +209,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 -@@ -51,6 +51,12 @@ import org.chromium.url.GURL; +@@ -52,6 +52,12 @@ import org.chromium.url.GURL; import java.util.List; @@ -237,7 +234,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser TabGroupUiMediator( Context context, BottomControlsVisibilityController visibilityController, -@@ -130,7 +141,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -131,7 +142,8 @@ public class TabGroupUiMediator implements BackPressHandler { @Nullable LazyOneshotSupplier dialogControllerSupplier, @@ -247,7 +244,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser this( context, visibilityController, -@@ -143,7 +155,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -145,7 +157,8 @@ public class TabGroupUiMediator implements BackPressHandler { dialogControllerSupplier, omniboxFocusStateSupplier, SemanticColorUtils.getDialogBgColor(context), @@ -257,7 +254,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @VisibleForTesting -@@ -161,7 +174,9 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -164,7 +177,9 @@ public class TabGroupUiMediator implements BackPressHandler { dialogControllerSupplier, ObservableSupplier omniboxFocusStateSupplier, @ColorInt int primaryBackgroundColor, @@ -268,7 +265,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mContext = context; mResetHandler = resetHandler; mModel = model; -@@ -185,11 +200,30 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -183,11 +198,30 @@ public class TabGroupUiMediator implements BackPressHandler { mIsShowingOverViewMode = true; } @@ -299,7 +296,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser if (getTabsToShowForId(lastId).contains(tab)) { return; } -@@ -251,6 +285,7 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -247,6 +281,7 @@ public class TabGroupUiMediator implements BackPressHandler { return; } resetTabStripWithRelatedTabsForId(currentTab.getId()); @@ -307,16 +304,16 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @Override -@@ -378,6 +413,8 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -372,6 +407,8 @@ public class TabGroupUiMediator implements BackPressHandler { resetTabStripWithRelatedTabsForId(tab.getId()); } + mTabObserver.triggerWithCurrentTab(); + - mBackPressStateSupplier = new ObservableSupplierImpl<>(); + mHandleBackPressChangedSupplier = handleBackPressChangedSupplier; if (mTabGridDialogControllerSupplier != null) { mTabGridDialogControllerSupplier.onAvailable( -@@ -400,6 +437,18 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -399,6 +436,18 @@ public class TabGroupUiMediator implements BackPressHandler { mModel.set(TabGroupUiProperties.LEFT_BUTTON_DRAWABLE_ID, drawableId); } @@ -335,7 +332,7 @@ 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); } -@@ -524,6 +573,7 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -528,6 +577,7 @@ public class TabGroupUiMediator implements BackPressHandler { } public void destroy() { @@ -376,18 +373,18 @@ 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/TabGroupUiToolbarView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java -@@ -33,6 +33,10 @@ import org.chromium.components.tab_groups.TabGroupColorId; - import org.chromium.ui.KeyboardVisibilityDelegate; +@@ -21,6 +21,10 @@ import androidx.core.widget.ImageViewCompat; + import org.chromium.chrome.tab_ui.R; import org.chromium.ui.widget.ChromeImageView; +import org.chromium.ui.util.ColorUtils; +import org.chromium.chrome.browser.theme.ThemeUtils; +import org.chromium.chrome.browser.flags.ChromeFeatureList; + - /** - * Represents a generic toolbar used in the bottom strip/grid component. {@link - * TabGridDialogToolbarCoordinator} -@@ -175,6 +179,19 @@ public class TabGroupUiToolbarView extends FrameLayout { + /** 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 { mFadingEdgeEnd.setColorFilter(color, PorterDuff.Mode.SRC_IN); } @@ -427,42 +424,6 @@ 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/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java ---- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java -+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java -@@ -34,6 +34,7 @@ import androidx.recyclerview.widget.RecyclerView; - - import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; - import org.chromium.chrome.browser.hub.HubFieldTrial; -+import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.tab.TabUtils; - import org.chromium.chrome.browser.theme.ThemeUtils; - import org.chromium.components.browser_ui.styles.ChromeColors; -@@ -103,13 +104,21 @@ class TabListContainerViewBinder { - final int oldTopMargin = params.topMargin; - final int oldBottomMargin = params.bottomMargin; - if (model.get(IS_VISIBLE)) { -- params.topMargin = model.get(TOP_MARGIN); -- params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT); -+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ params.topMargin = model.get(TOP_MARGIN); -+ params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT); -+ } else { -+ params.topMargin = 0; -+ params.bottomMargin = model.get(TOP_MARGIN) + -+ model.get(BOTTOM_CONTROLS_HEIGHT); -+ } - } else { - // Treat the bottom margin as 0 to avoid layout shift in tab shrink animations. - // IS_VISIBLE will be set to true after the tab shrink animation see - // {@link TabSwitcherMediator#showTabSwitcherView(boolean)}. -- params.bottomMargin = 0; -+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ params.bottomMargin = 0; -+ } - - // Leave the top margin unchanged to avoid relayouts during scrolls and for top - // toolbar indicators while the view is not visible. Once visible the offset will 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 @@ -479,8 +440,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import android.graphics.Rect; import android.util.Size; import android.view.LayoutInflater; -@@ -58,6 +62,8 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; - import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +@@ -55,6 +59,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; + import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; import org.chromium.ui.widget.ViewLookupCachingFrameLayout; +import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -488,7 +449,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 +121,128 @@ public class TabListCoordinator +@@ -112,6 +118,128 @@ public class TabListCoordinator private int mAwaitingTabId = Tab.INVALID_TAB_ID; private @TabActionState int mTabActionState; @@ -617,7 +578,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. * -@@ -355,6 +483,12 @@ public class TabListCoordinator +@@ -354,6 +482,12 @@ public class TabListCoordinator checkAwaitingLayout(); } }; @@ -630,7 +591,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mRecyclerView.setLayoutManager(gridLayoutManager); mMediator.registerOrientationListener(gridLayoutManager); mMediator.updateSpanCount( -@@ -366,8 +500,7 @@ public class TabListCoordinator +@@ -365,8 +499,7 @@ public class TabListCoordinator .getDecorView() .getWindowVisibleDisplayFrame(frame); updateGridCardLayout(frame.width()); @@ -640,7 +601,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser LinearLayoutManager layoutManager = new LinearLayoutManager( context, -@@ -382,6 +515,17 @@ public class TabListCoordinator +@@ -381,6 +514,17 @@ public class TabListCoordinator } }; mRecyclerView.setLayoutManager(layoutManager); @@ -658,7 +619,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations); } -@@ -397,7 +541,7 @@ public class TabListCoordinator +@@ -396,7 +540,7 @@ public class TabListCoordinator mHasEmptyView = hasEmptyView; if (mHasEmptyView) { @@ -667,10 +628,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mEmptyStateHeadingResId = emptyHeadingStringResId; mEmptyStateSubheadingResId = emptySubheadingStringResId; mEmptyStateImageResId = emptyImageResId; -@@ -708,6 +852,9 @@ public class TabListCoordinator - void prepareTabSwitcherView() { +@@ -685,6 +829,9 @@ public class TabListCoordinator + void prepareTabSwitcherPaneView() { registerLayoutChangeListener(); - mRecyclerView.prepareTabSwitcherView(); + mRecyclerView.setupCustomItemAnimator(); + if (mRecyclerView.getLayoutManager() instanceof GridLayoutManagerDockBottom) { + ((GridLayoutManagerDockBottom)mRecyclerView.getLayoutManager()).ResetTopPosition(); + } @@ -728,139 +689,6 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } setEmptyViewVisibility(View.GONE); } -diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java ---- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java -+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java -@@ -42,6 +42,7 @@ import androidx.recyclerview.widget.RecyclerView; - import org.chromium.base.Log; - import org.chromium.chrome.browser.hub.HubFieldTrial; - import org.chromium.chrome.browser.tab_ui.RecyclerViewPosition; -+import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.tabmodel.TabModel; - import org.chromium.chrome.tab_ui.R; - import org.chromium.ui.base.ViewUtils; -@@ -69,6 +70,8 @@ class TabListRecyclerView extends RecyclerView - public static final long BASE_ANIMATION_DURATION_MS = 218; - public static final long FINAL_FADE_IN_DURATION_MS = 50; - -+ private boolean mIsVisible = false; -+ - /** An interface to listen to visibility related changes on this {@link RecyclerView}. */ - interface VisibilityListener { - /** -@@ -285,6 +288,7 @@ class TabListRecyclerView extends RecyclerView - ? FINAL_FADE_IN_DURATION_MS - : BASE_ANIMATION_DURATION_MS; - -+ mIsVisible = true; - setAlpha(0); - setVisibility(View.VISIBLE); - mFadeInAnimator = ObjectAnimator.ofFloat(this, View.ALPHA, 1); -@@ -332,6 +336,11 @@ class TabListRecyclerView extends RecyclerView - } - - void setShadowVisibility(boolean shouldShowShadow) { -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() -+ && mIsVisible) { -+ // always show shadow -+ shouldShowShadow = true; -+ } - if (mShadowImageView == null) { - Context context = getContext(); - mShadowImageView = new ImageView(context); -@@ -345,7 +354,10 @@ class TabListRecyclerView extends RecyclerView - // Add shadow for grid tab switcher. - FrameLayout.LayoutParams params = - new FrameLayout.LayoutParams( -- LayoutParams.MATCH_PARENT, shadowHeight, Gravity.TOP); -+ LayoutParams.MATCH_PARENT, shadowHeight, -+ (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() ? -+ Gravity.BOTTOM : -+ Gravity.TOP)); - mShadowImageView.setLayoutParams(params); - mShadowImageView.setTranslationY(mShadowTopOffset); - FrameLayout parent = (FrameLayout) getParent(); -@@ -374,6 +386,10 @@ class TabListRecyclerView extends RecyclerView - - void setShadowTopOffset(int shadowTopOffset) { - mShadowTopOffset = shadowTopOffset; -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ // invert the offset since Gravity is set to BOTTOM -+ mShadowTopOffset = -mShadowTopOffset; -+ } - - if (mShadowImageView != null && getParent() instanceof FrameLayout) { - // Since the shadow has no functionality, other than just existing visually, we can use -@@ -568,6 +584,7 @@ class TabListRecyclerView extends RecyclerView - mListener.finishedHiding(); - } - }); -+ mIsVisible = false; - setShadowVisibility(false); - mFadeOutAnimator.start(); - if (!animate) mFadeOutAnimator.end(); -diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java ---- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java -+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java -@@ -397,7 +397,10 @@ class TabSwitcherMediator - @Override - public void onBottomControlsHeightChanged( - int bottomControlsHeight, int bottomControlsMinHeight) { -- mContainerViewModel.set(BOTTOM_CONTROLS_HEIGHT, bottomControlsHeight); -+ mContainerViewModel.set(BOTTOM_CONTROLS_HEIGHT, bottomControlsHeight + -+ (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() && mMode == TabListCoordinator.TabListMode.LIST -+ ? mBrowserControlsStateProvider.getContentOffset() -+ : 0)); - } - }; - -@@ -440,11 +443,21 @@ class TabSwitcherMediator - updateTopControlsProperties(); - mContainerViewModel.set( - BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight()); -- -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ mContainerViewModel.set( -+ BOTTOM_CONTROLS_HEIGHT, mContainerViewModel.get(BOTTOM_CONTROLS_HEIGHT) + -+ mBrowserControlsStateProvider.getContentOffset()); -+ } - if (mMode == TabListMode.GRID) { - mContainerViewModel.set( - BOTTOM_PADDING, - (int) context.getResources().getDimension(R.dimen.tab_grid_bottom_padding)); -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ // adjust the bottom margin so as not to cover the top toolbar at the bottom -+ mContainerViewModel.set( -+ BOTTOM_PADDING, mContainerViewModel.get(BOTTOM_PADDING) + -+ mBrowserControlsStateProvider.getContentOffset()); -+ } - if (backPressManager != null && BackPressManager.isEnabled()) { - backPressManager.addHandler(this, BackPressHandler.Type.TAB_SWITCHER); - notifyBackPressStateChangedInternal(); -@@ -502,8 +515,10 @@ class TabSwitcherMediator - private void updateTopControlsProperties() { - // The grid tab switcher for tablets translates up over top of the browser controls. - if (mIsTablet) { -- final int toolbarHeight = getToolbarHeight(); -- -+ int toolbarHeight = getToolbarHeight(); -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ toolbarHeight = 0; -+ } - mContainerViewModel.set(TOP_MARGIN, toolbarHeight); - mContainerViewModel.set(SHADOW_TOP_OFFSET, toolbarHeight); - return; -@@ -512,6 +527,10 @@ class TabSwitcherMediator - final int contentOffset = mBrowserControlsStateProvider.getContentOffset(); - - mContainerViewModel.set(TOP_MARGIN, contentOffset); -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ // move the view up since the toolbar is at the bottom -+ mContainerViewModel.set(TOP_MARGIN, 0); -+ } - mContainerViewModel.set(SHADOW_TOP_OFFSET, contentOffset); - } - 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 @@ -1022,20 +850,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv +import android.view.ViewGroup.LayoutParams; + /** - * A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} - * and associated classes. + * A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} and + * associated classes. 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 -@@ -92,6 +92,7 @@ import org.chromium.ui.base.WindowAndroid; - import org.chromium.ui.mojom.VirtualKeyboardMode; - import org.chromium.ui.resources.ResourceManager; - import org.chromium.ui.resources.dynamics.DynamicResourceLoader; -+import org.chromium.chrome.browser.flags.ChromeFeatureList; - - import java.util.ArrayList; - import java.util.HashSet; -@@ -248,6 +249,10 @@ public class CompositorViewHolder extends FrameLayout +@@ -251,6 +251,10 @@ public class CompositorViewHolder extends FrameLayout @Override public void setCurrentTouchEventOffsets(float top) { EventForwarder forwarder = getEventForwarder(); @@ -1046,7 +866,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp if (forwarder != null) forwarder.setCurrentTouchEventOffsets(0, top); } -@@ -904,6 +909,9 @@ public class CompositorViewHolder extends FrameLayout +@@ -881,6 +885,9 @@ public class CompositorViewHolder extends FrameLayout mApplicationBottomInsetSupplier != null ? mApplicationBottomInsetSupplier.get().webContentsHeightInset : 0; @@ -1059,15 +879,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java -@@ -46,6 +46,7 @@ import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.Sw - import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; - import org.chromium.ui.base.DeviceFormFactor; +@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; + import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.ScrollDirection; + import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.SwipeHandler; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +import org.chromium.chrome.browser.flags.ChromeFeatureList; import java.util.List; - import java.util.concurrent.Callable; -@@ -311,7 +312,10 @@ public class LayoutManagerChrome extends LayoutManagerImpl + +@@ -152,7 +153,10 @@ public class LayoutManagerChrome extends LayoutManagerImpl @Override public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { @@ -1079,7 +899,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } @Override -@@ -566,9 +570,11 @@ public class LayoutManagerChrome extends LayoutManagerImpl +@@ -340,9 +344,11 @@ public class LayoutManagerChrome extends LayoutManagerImpl private static final float SWIPE_RANGE_DEG = 25; private final boolean mSupportSwipeDown; @@ -1092,7 +912,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } @Override -@@ -599,6 +605,10 @@ public class LayoutManagerChrome extends LayoutManagerImpl +@@ -373,6 +379,10 @@ public class LayoutManagerChrome extends LayoutManagerImpl if (mSupportSwipeDown && mScrollDirection == ScrollDirection.DOWN) { RecordUserAction.record("MobileToolbarSwipeOpenStackView"); showLayout(LayoutType.TAB_SWITCHER, true); @@ -1103,7 +923,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } else if (mScrollDirection == ScrollDirection.LEFT || mScrollDirection == ScrollDirection.RIGHT) { startShowing(mToolbarSwipeLayout, true); -@@ -650,6 +660,8 @@ public class LayoutManagerChrome extends LayoutManagerImpl +@@ -424,6 +434,8 @@ public class LayoutManagerChrome extends LayoutManagerImpl direction = ScrollDirection.RIGHT; } else if (swipeAngle < 270 + SWIPE_RANGE_DEG && swipeAngle > 270 - SWIPE_RANGE_DEG) { direction = ScrollDirection.DOWN; @@ -1112,7 +932,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } return direction; -@@ -666,7 +678,8 @@ public class LayoutManagerChrome extends LayoutManagerImpl +@@ -440,7 +452,8 @@ public class LayoutManagerChrome extends LayoutManagerImpl return direction == ScrollDirection.DOWN || direction == ScrollDirection.LEFT @@ -1125,15 +945,15 @@ 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/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java -@@ -39,6 +39,7 @@ import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; +@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.DesktopWindowStateProvid import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.dragdrop.DragAndDropDelegate; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; - import java.util.concurrent.Callable; - -@@ -145,7 +146,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome { + /** + * {@link LayoutManagerChromeTablet} is the specialization of {@link LayoutManagerChrome} for the +@@ -125,7 +126,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome { windowAndroid, toolbarManager, desktopWindowStateProvider, @@ -1155,7 +975,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo import java.util.ArrayList; import java.util.List; -@@ -442,7 +444,11 @@ public class ToolbarSwipeLayout extends Layout { +@@ -441,7 +443,11 @@ public class ToolbarSwipeLayout extends Layout { mLeftToolbarOverlay.setXOffset(leftX * dpToPx); } mLeftTab.setX(leftX); @@ -1168,7 +988,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo needUpdate = updateSnap(dt, mLeftTab) || needUpdate; } else if (mLeftToolbarOverlay != null) { mLeftToolbarOverlay.setManualVisibility(false); -@@ -455,7 +461,11 @@ public class ToolbarSwipeLayout extends Layout { +@@ -454,7 +460,11 @@ public class ToolbarSwipeLayout extends Layout { mRightToolbarOverlay.setXOffset(rightX * dpToPx); } mRightTab.setX(rightX); @@ -1184,7 +1004,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -775,7 +775,7 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro +@@ -789,7 +789,7 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro boolean isRtl = LocalizationUtils.isLayoutRtl(); boolean useUnadjustedScrollOffset = isRtl != isLeft; float offset = @@ -1196,24 +1016,24 @@ 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 -@@ -28,6 +28,7 @@ import androidx.appcompat.content.res.AppCompatResources; - +@@ -34,6 +34,7 @@ import org.chromium.base.Callback; import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.supplier.ObservableSupplier; + import org.chromium.base.supplier.ObservableSupplierImpl; +import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.compositor.LayerTitleCache; -@@ -90,6 +91,8 @@ import org.chromium.ui.interpolators.Interpolators; +@@ -97,6 +98,8 @@ import org.chromium.ui.interpolators.Interpolators; import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.util.ColorUtils; import org.chromium.url.GURL; +import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; +import org.chromium.chrome.browser.flags.ChromeFeatureList; - import java.util.ArrayList; - import java.util.List; -@@ -228,12 +231,16 @@ public class StripLayoutHelperManager + import java.lang.annotation.Retention; + import java.lang.annotation.RetentionPolicy; +@@ -265,12 +268,16 @@ public class StripLayoutHelperManager // Drag-Drop @Nullable private TabDragSource mTabDragSource; @@ -1227,10 +1047,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over return; } + y -= mStripFilterArea.top; - if (mModelSelectorButton.onDown(x, y, fromMouse)) { + if (mModelSelectorButton.onDown(x, y, fromMouse, buttons)) { return; } -@@ -256,6 +263,7 @@ public class StripLayoutHelperManager +@@ -293,6 +300,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1238,15 +1058,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over mModelSelectorButton.drag(x, y); getActiveStripLayoutHelper().drag(time(), x, y, dx); } -@@ -265,6 +273,7 @@ public class StripLayoutHelperManager +@@ -302,6 +310,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } + y -= mStripFilterArea.top; long time = time(); - if (mModelSelectorButton.click(x, y)) { + if (mModelSelectorButton.click(x, y, fromMouse, buttons)) { mModelSelectorButton.handleClick(time); -@@ -278,6 +287,7 @@ public class StripLayoutHelperManager +@@ -315,6 +324,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1254,7 +1074,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().fling(time(), x, y, velocityX, velocityY); } -@@ -286,6 +296,7 @@ public class StripLayoutHelperManager +@@ -323,6 +333,7 @@ public class StripLayoutHelperManager if (DragDropGlobalState.hasValue()) { return; } @@ -1262,7 +1082,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().onLongPress(time(), x, y); } -@@ -388,7 +399,8 @@ public class StripLayoutHelperManager +@@ -429,7 +440,8 @@ public class StripLayoutHelperManager // implement an interface to manage strip transition states. @NonNull ToolbarManager toolbarManager, @Nullable DesktopWindowStateProvider desktopWindowStateProvider, @@ -1272,17 +1092,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over Resources res = context.getResources(); mUpdateHost = updateHost; mLayerTitleCacheSupplier = layerTitleCacheSupplier; -@@ -534,6 +546,8 @@ public class StripLayoutHelperManager - windowAndroid, - actionConfirmationManager, - toolbarManager.getTabStripHeightSupplier().get()); +@@ -591,6 +603,8 @@ public class StripLayoutHelperManager + !mTabStripObscured + && getStripVisibilityState() + == StripVisibilityState.VISIBLE); + mBrowserControlsManagerSupplier = browserControlsManagerSupplier; + mDpToPx = context.getResources().getDisplayMetrics().density; tabHoverCardViewStub.setOnInflateListener( (viewStub, view) -> { -@@ -694,6 +708,10 @@ public class StripLayoutHelperManager - // value. +@@ -753,6 +767,10 @@ public class StripLayoutHelperManager + // layer should be a negative value. yOffset -= getHeight(); } + int topControlsHeight = 0; @@ -1292,8 +1112,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over mTabStripTreeProvider.pushAndUpdateStrip( this, mLayerTitleCacheSupplier.get(), -@@ -707,7 +725,9 @@ public class StripLayoutHelperManager - scrimOpacity, +@@ -766,7 +784,9 @@ public class StripLayoutHelperManager + mStripTransitionScrimOpacity, mLeftPadding, mRightPadding, - mTopPadding); @@ -1303,7 +1123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over return mTabStripTreeProvider; } -@@ -763,11 +783,21 @@ public class StripLayoutHelperManager +@@ -822,11 +842,21 @@ public class StripLayoutHelperManager mLeftPadding, mRightPadding); @@ -1324,9 +1144,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over mWidth - mRightPadding, - Math.min(getHeight(), visibleViewportOffsetY)); + top + Math.min(getHeight(), visibleViewportOffsetY)); - mEventFilter.setEventArea(mStripFilterArea); - } - + // Avoid handling motion events when invisible strip state persists after a size change. + if (getStripVisibilityState() == StripVisibilityState.VISIBLE) { + mEventFilter.setEventArea(mStripFilterArea); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java @@ -1503,7 +1323,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag mContainer.setLayoutParams(params); } -@@ -132,6 +140,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider +@@ -133,6 +141,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider /** @return Offset of the message container from the top of the screen. */ private int getContainerTopOffset() { @@ -1519,7 +1339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ChromeTabModalPresenter.java b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ChromeTabModalPresenter.java --- a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ChromeTabModalPresenter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ChromeTabModalPresenter.java -@@ -291,7 +291,7 @@ public class ChromeTabModalPresenter extends TabModalPresenter +@@ -287,7 +287,7 @@ public class ChromeTabModalPresenter extends TabModalPresenter Resources resources, BrowserControlsStateProvider provider) { int scrimVerticalMargin = resources.getDimensionPixelSize(R.dimen.tab_modal_scrim_vertical_margin); @@ -1531,7 +1351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Chr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java -@@ -114,6 +114,7 @@ import org.chromium.ui.base.DeviceFormFactor; +@@ -110,6 +110,7 @@ import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; @@ -1539,7 +1359,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import java.util.List; -@@ -682,11 +683,16 @@ public class NewTabPage +@@ -669,11 +670,16 @@ public class NewTabPage final int topControlsDistanceToRest = mBrowserControlsStateProvider.getContentOffset() - mBrowserControlsStateProvider.getTopControlsHeight(); @@ -1558,7 +1378,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) { layoutParams.topMargin = topMargin; -@@ -702,9 +708,7 @@ public class NewTabPage +@@ -689,9 +695,7 @@ public class NewTabPage * strip. */ private int getToolbarExtraYOffset() { @@ -1572,7 +1392,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java -@@ -17,6 +17,9 @@ import android.util.AttributeSet; +@@ -16,6 +16,9 @@ import android.util.AttributeSet; import android.view.DragEvent; import android.view.LayoutInflater; import android.view.ViewStub; @@ -1582,19 +1402,25 @@ 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; -@@ -176,6 +179,12 @@ public class NewTabPageLayout extends LinearLayout { +@@ -178,10 +181,17 @@ public class NewTabPageLayout extends LinearLayout { mMiddleSpacer = findViewById(R.id.ntp_middle_spacer); mFakeSearchBoxLayout = findViewById(R.id.search_box); insertSiteSectionView(); +- + if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + FrameLayout.LayoutParams params = + new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + params.gravity = Gravity.BOTTOM; + setLayoutParams(params); + } + 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 @@ -1641,7 +1467,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP onUpdated(); } -@@ -297,7 +307,7 @@ public class RecentTabsPage +@@ -298,7 +308,7 @@ public class RecentTabsPage private void updateMargins() { final View recentTabsRoot = mView.findViewById(R.id.recent_tabs_root); @@ -1650,7 +1476,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(); -@@ -313,9 +323,17 @@ public class RecentTabsPage +@@ -314,9 +324,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. @@ -1685,9 +1511,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import java.lang.ref.WeakReference; /** Queries the user's default search engine and shows autocomplete suggestions. */ -@@ -290,6 +295,12 @@ public class SearchActivity extends AsyncInitializationActivity - (SearchActivityLocationBarLayout) - contentView.findViewById(R.id.search_location_bar); +@@ -288,6 +293,12 @@ public class SearchActivity extends AsyncInitializationActivity + // Build the search box. + mSearchBox = contentView.findViewById(R.id.search_location_bar); View anchorView = contentView.findViewById(R.id.toolbar); + if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) @@ -1701,7 +1527,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -410,6 +410,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -408,6 +408,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity if (fragment instanceof INeedSnackbarManager) { ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); } @@ -1765,7 +1591,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 -@@ -199,6 +199,9 @@ import org.chromium.url.GURL; +@@ -190,6 +190,9 @@ import org.chromium.url.GURL; import java.util.List; @@ -1775,7 +1601,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. -@@ -1176,6 +1179,7 @@ public class ToolbarManager +@@ -1112,6 +1115,7 @@ public class ToolbarManager // the height won't be measured by the background image. if (mControlContainer.getBackground() == null) { setControlContainerTopMargin(getToolbarExtraYOffset()); @@ -1783,7 +1609,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar } else if (mLayoutChangeListener == null) { mLayoutChangeListener = (view, -@@ -1189,6 +1193,7 @@ public class ToolbarManager +@@ -1125,6 +1129,7 @@ public class ToolbarManager oldBottom) -> { if (mControlContainer.getBackground() == null) { setControlContainerTopMargin(getToolbarExtraYOffset()); @@ -1791,21 +1617,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mControlContainer.removeOnLayoutChangeListener( mLayoutChangeListener); mLayoutChangeListener = null; -@@ -1365,6 +1370,13 @@ public class ToolbarManager - public void setTabSwitcherFullScreenView(ViewGroup containerView) { - ViewStub toolbarStub = - containerView.findViewById(R.id.fullscreen_tab_switcher_toolbar_stub); -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { -+ // the top tab switcher toolbar is docked at the bottom -+ FrameLayout.LayoutParams params = -+ (FrameLayout.LayoutParams)toolbarStub.getLayoutParams(); -+ params.gravity = Gravity.START | Gravity.BOTTOM; -+ toolbarStub.setLayoutParams(params); -+ } - mToolbar.setFullScreenToolbarStub(toolbarStub); - } - -@@ -1658,14 +1670,26 @@ public class ToolbarManager +@@ -1513,16 +1518,28 @@ public class ToolbarManager return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete(); } @@ -1825,25 +1637,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar - View root = ((ViewStub) mActivity.findViewById(R.id.bottom_controls_stub)).inflate(); + mBottomRoot = ((ViewStub) mActivity.findViewById(R.id.bottom_controls_stub)).inflate(); + MoveBottomBarOverTopBar(); - mTabGroupUi = - TabManagementDelegateProvider.getDelegate() - .createTabGroupUi( - mActivity, -- root.findViewById(R.id.bottom_container_slot), -+ mBottomRoot.findViewById(R.id.bottom_container_slot), - mBrowserControlsVisibilityManager, - mIncognitoStateProvider, - mScrimCoordinator, -@@ -1688,7 +1712,7 @@ public class ToolbarManager + assert mTabGroupUiOneshotSupplier == null; + mTabGroupUiOneshotSupplier = + new TabGroupUiOneshotSupplier( + mActivityTabProvider, + mTabModelSelector, + mActivity, +- root.findViewById(R.id.bottom_container_slot), ++ mBottomRoot.findViewById(R.id.bottom_container_slot), + mBrowserControlsVisibilityManager, + mIncognitoStateProvider, + mScrimCoordinator, +@@ -1547,7 +1564,7 @@ public class ToolbarManager mBottomControlsStacker, mFullscreenManager, mEdgeToEdgeControllerSupplier, - (ScrollingBottomViewResourceFrameLayout) root, + (ScrollingBottomViewResourceFrameLayout) mBottomRoot, - mTabGroupUi, + bottomControlsContentDelegateSupplier, mTabObscuringHandler, mOverlayPanelVisibilitySupplier, -@@ -1696,7 +1720,8 @@ public class ToolbarManager +@@ -1555,7 +1572,8 @@ public class ToolbarManager /* readAloudRestoringSupplier= */ () -> { final var readAloud = mReadAloudControllerSupplier.get(); return readAloud != null && readAloud.isRestoringPlayer(); @@ -1853,7 +1667,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mBottomControlsCoordinatorSupplier.set(bottomControlsCoordinator); if (mBackPressManager != null) { mBackPressManager.addHandler( -@@ -2245,6 +2270,8 @@ public class ToolbarManager +@@ -2066,6 +2084,8 @@ public class ToolbarManager */ private int getToolbarExtraYOffset() { int toolbarHairlineHeight = mToolbarHairline.getHeight(); @@ -1862,7 +1676,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar final int controlContainerHeight = mControlContainer.getHeight(); // Offset can't be calculated if control container height isn't known yet. -@@ -2653,6 +2680,15 @@ public class ToolbarManager +@@ -2467,6 +2487,15 @@ public class ToolbarManager private void setControlContainerTopMargin(int margin) { final ViewGroup.MarginLayoutParams layoutParams = ((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams()); @@ -1889,7 +1703,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai /** * The container that holds both infobars and snackbars. It will be translated up and down when the -@@ -62,10 +63,27 @@ public class BottomContainer extends FrameLayout +@@ -63,10 +64,27 @@ public class BottomContainer extends FrameLayout setTranslationY(mBaseYOffset); } @@ -1933,8 +1747,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu + import org.chromium.base.CallbackController; import org.chromium.base.supplier.ObservableSupplier; - import org.chromium.base.supplier.OneshotSupplier; -@@ -545,6 +548,12 @@ public class StatusBarColorController + import org.chromium.chrome.R; +@@ -482,6 +485,12 @@ public class StatusBarColorController boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color); UiUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons); UiUtils.setStatusBarColor(window, color); @@ -1972,7 +1786,7 @@ diff --git a/chrome/browser/android/compositor/layer/toolbar_layer.cc b/chrome/b + gfx::PointF(x_offset, content_offset - layer_->bounds().height())); + } - // TODO(peilinwang): update layer_ with offset_tag. + layer_->SetOffsetTag(offset_tag); } diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc --- a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc @@ -2024,7 +1838,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 -@@ -106,7 +106,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser +@@ -122,7 +122,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser /** * @return {@link BrowserControlsStateProvider} instance in the current Activity. */ @@ -2044,7 +1858,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom /** * An implementation of {@link DestroyableObservableSupplier} that monitors changes to browser -@@ -58,6 +59,10 @@ public class BrowserControlsMarginSupplier extends ObservableSupplierImpl +@@ -59,6 +60,10 @@ public class BrowserControlsMarginSupplier extends ObservableSupplierImpl int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight() - mBrowserControlsStateProvider.getBottomControlOffset(); @@ -2058,7 +1872,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java -@@ -81,6 +81,12 @@ public interface BrowserControlsStateProvider { +@@ -85,6 +85,12 @@ public interface BrowserControlsStateProvider { */ int getTopControlsHeight(); @@ -2102,13 +1916,13 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse #include "base/features.h" #include "base/no_destructor.h" +#include "cc/base/features.h" + #include "chrome/browser/android/webapk/webapk_features.h" #include "chrome/browser/browser_features.h" #include "chrome/browser/flags/android/chrome_session_state.h" - #include "chrome/browser/notifications/chime/android/features.h" -@@ -250,6 +251,8 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kMultiInstanceApplicationStatusCleanup, +@@ -259,6 +260,8 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNavBarColorMatchesTabBackground, &kNewTabSearchEngineUrlAndroid, + &kNewTabPageAndroidTriggerForPrerender2, + &features::kMoveTopToolbarToBottom, + &features::kDisableToolbarSwipeUp, &kNotificationPermissionVariant, @@ -2117,9 +1931,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -365,6 +365,10 @@ public abstract class ChromeFeatureList { - "NavBarColorMatchesTabBackground"; - public static final String NEW_TAB_SEARCH_ENGINE_URL_ANDROID = "NewTabSearchEngineUrlAndroid"; +@@ -373,6 +373,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"; + public static final String DISABLE_TOOLBAR_SWIPE_UP = + "DisableToolbarSwipeUp"; @@ -2128,7 +1942,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"; -@@ -645,6 +649,10 @@ public abstract class ChromeFeatureList { +@@ -667,6 +671,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); @@ -2139,7 +1953,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 = -@@ -771,6 +779,8 @@ public abstract class ChromeFeatureList { +@@ -796,6 +804,8 @@ public abstract class ChromeFeatureList { sPrivacyGuideAndroid3, sPrivacyGuidePreloadAndroid, sOptimizationGuidePushNotifications, @@ -2151,7 +1965,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f 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 -@@ -2383,7 +2383,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2168,7 +2168,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, #if BUILDFLAG(IS_ANDROID) registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault, @@ -2365,7 +2179,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java -@@ -63,6 +63,7 @@ import org.chromium.ui.modelutil.LazyConstructionPropertyMcp; +@@ -48,6 +48,7 @@ import org.chromium.ui.modelutil.LazyConstructionPropertyMcp; import org.chromium.ui.modelutil.MVCListAdapter; import org.chromium.ui.modelutil.MVCListAdapter.ModelList; import org.chromium.ui.modelutil.PropertyModel; @@ -2373,7 +2187,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import java.util.ArrayList; import java.util.List; -@@ -81,6 +82,7 @@ public class AutocompleteCoordinator +@@ -66,6 +67,7 @@ public class AutocompleteCoordinator private @Nullable OmniboxSuggestionsDropdown mDropdown; private @NonNull ObserverList mScrollListenerList = new ObserverList<>(); @@ -2381,7 +2195,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** An observer watching for changes to the visual state of the omnibox suggestions. */ public interface OmniboxSuggestionsVisualStateObserver { -@@ -117,6 +119,7 @@ public class AutocompleteCoordinator +@@ -102,6 +104,7 @@ public class AutocompleteCoordinator Context context = parent.getContext(); ModelList listItems = new ModelList(); @@ -2389,7 +2203,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow PropertyModel listModel = new PropertyModel.Builder(SuggestionListProperties.ALL_KEYS) .with(SuggestionListProperties.EMBEDDER, dropdownEmbedder) -@@ -233,6 +236,16 @@ public class AutocompleteCoordinator +@@ -219,6 +222,16 @@ public class AutocompleteCoordinator dropdown.forcePhoneStyleOmnibox(forcePhoneStyleOmnibox); dropdown.setAdapter(mAdapter); @@ -2418,7 +2232,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; -@@ -1151,7 +1153,9 @@ class AutocompleteMediator +@@ -1162,7 +1164,9 @@ class AutocompleteMediator @Override public void onSuggestionDropdownScroll() { mSuggestionsListScrolled = true; @@ -2456,7 +2270,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java -@@ -44,6 +44,9 @@ import org.chromium.ui.base.ViewUtils; +@@ -43,6 +43,9 @@ import org.chromium.ui.base.ViewUtils; import java.util.Optional; @@ -2467,7 +2281,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public class OmniboxSuggestionsDropdown extends RecyclerView { /** @@ -242,7 +245,6 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { - setItemAnimator(null); + addItemDecoration(new SuggestionHorizontalDivider(context)); mLayoutScrollListener = new SuggestionLayoutScrollListener(context); - setLayoutManager(mLayoutScrollListener); @@ -2485,7 +2299,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow + paddingTop = 0; + } + setLayoutManager(mLayoutScrollListener); - ViewCompat.setPaddingRelative(this, 0, paddingTop, 0, paddingBottom); + this.setPaddingRelative(0, paddingTop, 0, paddingBottom); if (OmniboxFeatures.sAsyncViewInflation.isEnabled()) { diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdownEmbedder.java @@ -2512,7 +2326,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 -@@ -1691,6 +1691,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1699,6 +1699,12 @@ Your Google account may have other forms of browsing history like searches and a Force Tablet Mode @@ -2528,7 +2342,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 -@@ -177,6 +177,7 @@ android_library("java") { +@@ -167,6 +167,7 @@ android_library("java") { "//content/public/android:content_java", "//third_party/android_deps:material_design_java", "//third_party/androidx:androidx_annotation_annotation_experimental_java", @@ -2591,7 +2405,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 -@@ -30,6 +30,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; +@@ -31,6 +31,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; @@ -2600,7 +2414,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 -@@ -72,6 +74,8 @@ public class BottomControlsCoordinator implements BackPressHandler { +@@ -80,6 +82,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. @@ -2609,7 +2423,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( -@@ -87,7 +91,9 @@ public class BottomControlsCoordinator implements BackPressHandler { +@@ -95,7 +99,9 @@ public class BottomControlsCoordinator implements BackPressHandler { TabObscuringHandler tabObscuringHandler, ObservableSupplier overlayPanelVisibilitySupplier, ObservableSupplier constraintsSupplier, @@ -2620,16 +2434,16 @@ 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); -@@ -146,7 +152,8 @@ public class BottomControlsCoordinator implements BackPressHandler { - mMediator.setBottomControlsColor(color); - } - }, -- root::onModelTokenChange); -+ root::onModelTokenChange, +@@ -155,7 +161,8 @@ public class BottomControlsCoordinator implements BackPressHandler { + mMediator.setBottomControlsColor(color); + } + }, +- root::onModelTokenChange); ++ root::onModelTokenChange, + topUiThemeColorProvider, tabSupplier); - } + mContentDelegateWrapper.set(contentDelegate); + }); } - 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 @@ -2654,15 +2468,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mIsBottomControlsVisible = visible; updateCompositedViewVisibility(); updateAndroidViewVisibility(); -@@ -181,6 +188,7 @@ class BottomControlsMediator - int bottomOffset, +@@ -182,6 +189,7 @@ class BottomControlsMediator int bottomControlsMinHeightOffset, - boolean needsAnimate) { + boolean needsAnimate, + boolean isVisibilityForced) { + mModel.set(BottomControlsProperties.TOPCONTROLSMINHEIGHT_OFFSET, topControlsMinHeightOffset); - int minHeight = getBrowserControls().getBottomControlsMinHeight(); - mModel.set(BottomControlsProperties.Y_OFFSET, bottomOffset - minHeight); + // Method call routed to onBrowserControlsOffsetUpdate. + if (BottomControlsStacker.isDispatchingYOffset()) return; -@@ -296,10 +304,12 @@ class BottomControlsMediator +@@ -303,10 +311,12 @@ class BottomControlsMediator && !mIsInSwipeLayout && getBrowserControls().getBottomControlOffset() == 0; if (visible) { diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index 769edca8..153ea797 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -4,9 +4,9 @@ Subject: Remove voice recognition integration License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../start_surface/StartSurfaceMediator.java | 22 +----- - .../browser/metrics/UmaSessionStats.java | 19 ----- - .../chrome/browser/ntp/NewTabPage.java | 38 +--------- + .../start_surface/StartSurfaceMediator.java | 22 +------ + .../browser/metrics/UmaSessionStats.java | 19 ------ + .../chrome/browser/ntp/NewTabPage.java | 38 +---------- .../browser/ntp/search/SearchBoxMediator.java | 1 - .../browser/searchwidget/SearchActivity.java | 3 +- .../SearchActivityLocationBarLayout.java | 8 --- @@ -16,18 +16,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/omnibox/LocationBar.java | 6 -- .../omnibox/LocationBarCoordinator.java | 13 ---- .../browser/omnibox/LocationBarLayout.java | 6 -- - .../browser/omnibox/LocationBarMediator.java | 69 ++----------------- + .../browser/omnibox/LocationBarMediator.java | 65 ++----------------- .../chrome/browser/omnibox/OmniboxStub.java | 9 --- .../suggestions/AutocompleteController.java | 25 ------- .../suggestions/AutocompleteCoordinator.java | 8 --- .../suggestions/AutocompleteMediator.java | 8 --- chrome/browser/ui/android/toolbar/BUILD.gn | 1 - - 18 files changed, 7 insertions(+), 278 deletions(-) + 18 files changed, 7 insertions(+), 274 deletions(-) diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java --- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java -@@ -70,7 +70,6 @@ import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; +@@ -68,7 +68,6 @@ import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; @@ -35,7 +35,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; -@@ -495,8 +494,7 @@ class StartSurfaceMediator +@@ -461,8 +460,7 @@ class StartSurfaceMediator // Initialize. // Note that isVoiceSearchEnabled will return false in incognito mode. mPropertyModel.set( @@ -45,7 +45,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ updateLensVisibility(); // This is for Instant Start when overview is already visible while the omnibox, Feed -@@ -538,17 +536,6 @@ class StartSurfaceMediator +@@ -504,17 +502,6 @@ class StartSurfaceMediator mPropertyModel.set( VOICE_SEARCH_BUTTON_CLICK_LISTENER, v -> { @@ -63,7 +63,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ }); mPropertyModel.set( -@@ -1056,13 +1043,6 @@ class StartSurfaceMediator +@@ -941,13 +928,6 @@ class StartSurfaceMediator ThreadUtils.postOnUiThread( () -> { if (mOmniboxStub != null) { @@ -124,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -@@ -125,7 +124,6 @@ public class NewTabPage +@@ -121,7 +120,6 @@ public class NewTabPage TemplateUrlServiceObserver, BrowserControlsStateProvider.Observer, FeedSurfaceDelegate, @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. ModuleDelegateHost { private static final String TAG = "NewTabPage"; -@@ -155,7 +153,6 @@ public class NewTabPage +@@ -151,7 +149,6 @@ public class NewTabPage protected boolean mSearchProviderHasLogo; protected OmniboxStub mOmniboxStub; @@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. // The timestamp at which the constructor was called. protected final long mConstructedTimeNs; -@@ -257,8 +254,7 @@ public class NewTabPage +@@ -252,8 +249,7 @@ public class NewTabPage @Override public boolean isVoiceSearchEnabled() { @@ -150,7 +150,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -266,24 +262,6 @@ public class NewTabPage +@@ -261,24 +257,6 @@ public class NewTabPage if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); @@ -175,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -864,12 +842,6 @@ public class NewTabPage +@@ -851,12 +829,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -188,7 +188,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -880,11 +852,6 @@ public class NewTabPage +@@ -867,11 +839,6 @@ public class NewTabPage } } @@ -200,7 +200,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); -@@ -996,9 +963,6 @@ public class NewTabPage +@@ -983,9 +950,6 @@ public class NewTabPage } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); @@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.native_page.NativePage; -@@ -328,7 +327,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -326,7 +325,7 @@ public class SearchActivity extends AsyncInitializationActivity /*omniboxUma*/ (url, transition, isNtp) -> {}, TabWindowManagerSingleton::getInstance, /* bookmarkState= */ (url) -> false, @@ -269,15 +269,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se 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 -@@ -95,7 +95,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; - import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegate; +@@ -89,7 +89,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; + import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -2596,10 +2595,6 @@ public class ToolbarManager +@@ -2410,10 +2409,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } @@ -291,7 +291,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 -@@ -94,8 +94,6 @@ import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer; +@@ -96,8 +96,6 @@ import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; @@ -300,7 +300,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; -@@ -135,7 +133,6 @@ import org.chromium.chrome.browser.theme.TopUiThemeColorProvider; +@@ -140,7 +138,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; @@ -308,15 +308,15 @@ 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; -@@ -296,7 +293,6 @@ public class RootUiCoordinator +@@ -305,7 +302,6 @@ public class RootUiCoordinator + private LayoutManagerImpl mLayoutManager; protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); - protected Supplier mStartSurfaceParentTabSupplier; - @Nullable private VoiceRecognitionHandler.Observer mMicStateObserver; private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -@@ -653,9 +649,6 @@ public class RootUiCoordinator +@@ -641,9 +637,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { @@ -326,7 +326,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1323,39 +1316,12 @@ public class RootUiCoordinator +@@ -1438,39 +1431,12 @@ public class RootUiCoordinator () -> mToolbarManager.setUrlBarFocus( false, OmniboxFocusReason.UNFOCUS)); @@ -366,7 +366,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi OptionalNewTabButtonController newTabButtonController = new OptionalNewTabButtonController( mActivity, -@@ -1385,8 +1351,6 @@ public class RootUiCoordinator +@@ -1500,8 +1466,6 @@ public class RootUiCoordinator AdaptiveToolbarButtonVariant.NEW_TAB, newTabButtonController); adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.SHARE, shareButtonController); @@ -375,7 +375,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.ADD_TO_BOOKMARKS, addToBookmarksToolbarButtonController); -@@ -1504,13 +1468,6 @@ public class RootUiCoordinator +@@ -1617,13 +1581,6 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -392,7 +392,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -145,7 +145,6 @@ android_library("java") { +@@ -146,7 +146,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", @@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -@@ -468,13 +467,6 @@ public class LocationBarCoordinator +@@ -467,13 +466,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } @@ -448,7 +448,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Nullable @Override public OmniboxStub getOmniboxStub() { -@@ -771,11 +763,6 @@ public class LocationBarCoordinator +@@ -758,11 +750,6 @@ public class LocationBarCoordinator // End tablet-specific methods. @@ -471,7 +471,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.components.browser_ui.widget.CompositeTouchDelegate; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.ui.base.DeviceFormFactor; -@@ -590,11 +589,6 @@ public class LocationBarLayout extends FrameLayout { +@@ -557,11 +556,6 @@ public class LocationBarLayout extends FrameLayout { mSearchEngineUtils = searchEngineUtils; } @@ -494,7 +494,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; -@@ -94,8 +93,6 @@ import java.util.function.BooleanSupplier; +@@ -95,8 +94,6 @@ import java.util.function.BooleanSupplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, @@ -503,7 +503,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow UrlBarDelegate, OnKeyListener, ComponentCallbacks, -@@ -160,7 +157,6 @@ class LocationBarMediator +@@ -161,7 +158,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; @@ -511,7 +511,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private final LocationBarDataProvider mLocationBarDataProvider; private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides; private StatusCoordinator mStatusCoordinator; -@@ -236,8 +232,6 @@ class LocationBarMediator +@@ -237,8 +233,6 @@ class LocationBarMediator mEmbedderUiOverrides = embedderUiOverrides; mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; mLocaleManager = localeManager; @@ -520,16 +520,17 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mProfileSupplier = profileSupplier; mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); mPrivacyPreferencesManager = privacyPreferencesManager; -@@ -282,8 +276,6 @@ class LocationBarMediator +@@ -283,9 +277,6 @@ class LocationBarMediator mAutocompleteCoordinator = null; mUrlCoordinator = null; mPrivacyPreferencesManager = null; - mVoiceRecognitionHandler.removeObserver(this); +- mVoiceRecognitionHandler.destroy(); - mVoiceRecognitionHandler = null; mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -417,11 +409,6 @@ class LocationBarMediator +@@ -413,11 +404,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -541,7 +542,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -676,10 +663,6 @@ class LocationBarMediator +@@ -681,10 +667,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); @@ -552,7 +553,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ -@@ -1153,10 +1136,7 @@ class LocationBarMediator +@@ -1158,10 +1140,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; @@ -564,7 +565,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1173,6 +1153,7 @@ class LocationBarMediator +@@ -1178,6 +1157,7 @@ class LocationBarMediator } private boolean shouldShowLensButton() { @@ -572,24 +573,19 @@ 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. -@@ -1391,16 +1372,6 @@ class LocationBarMediator +@@ -1396,11 +1376,6 @@ class LocationBarMediator } } - @Override - public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { -- // TODO(crbug.com/40153763): StartSurfaceMediator can call this method after destroy(). -- if (mLocationBarLayout == null) { -- return null; -- } -- - return mVoiceRecognitionHandler; - } - @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1416,31 +1387,13 @@ class LocationBarMediator +@@ -1416,31 +1391,13 @@ class LocationBarMediator return mUrlHasFocus; } @@ -623,7 +619,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 +1416,6 @@ class LocationBarMediator +@@ -1463,20 +1420,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -673,15 +669,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java -@@ -14,7 +14,6 @@ import org.jni_zero.JniType; - import org.jni_zero.NativeMethods; +@@ -15,7 +15,6 @@ import org.jni_zero.NativeMethods; import org.chromium.chrome.browser.omnibox.OmniboxMetrics; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxAnswerAction; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceResult; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.omnibox.AutocompleteMatch; -@@ -334,25 +333,6 @@ public class AutocompleteController { +@@ -335,25 +334,6 @@ public class AutocompleteController { mNativeController, match.getNativeObjectRef(), matchIndex, webContents); } @@ -707,7 +703,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. -@@ -473,11 +453,6 @@ public class AutocompleteController { +@@ -501,11 +481,6 @@ public class AutocompleteController { Tab getMatchingTabForSuggestion( long nativeAutocompleteControllerAndroid, long nativeAutocompleteMatch); @@ -722,15 +718,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java -@@ -44,7 +44,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.header.HeaderView; - import org.chromium.chrome.browser.omnibox.suggestions.header.HeaderViewBinder; - import org.chromium.chrome.browser.omnibox.suggestions.tail.TailSuggestionView; - import org.chromium.chrome.browser.omnibox.suggestions.tail.TailSuggestionViewBinder; +@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On + import org.chromium.chrome.browser.omnibox.suggestions.SuggestionListViewBinder.SuggestionListViewHolder; + import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewBinder; + import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -372,13 +371,6 @@ public class AutocompleteCoordinator +@@ -289,13 +288,6 @@ public class AutocompleteCoordinator mRecycledViewPool.ifPresent(p -> p.onNativeInitialized()); } @@ -772,7 +768,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn --- a/chrome/browser/ui/android/toolbar/BUILD.gn +++ b/chrome/browser/ui/android/toolbar/BUILD.gn -@@ -36,7 +36,6 @@ android_library("java") { +@@ -34,7 +34,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarAnimatingView.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabController.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabControllerImpl.java", diff --git a/build/patches/Use-list-mode-for-tab-switcher.patch b/build/patches/Use-list-mode-for-tab-switcher.patch index dbeffedf..d65f9ddc 100644 --- a/build/patches/Use-list-mode-for-tab-switcher.patch +++ b/build/patches/Use-list-mode-for-tab-switcher.patch @@ -11,9 +11,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../java/res/xml/privacy_preferences.xml | 7 ++++ .../flags/cromite/sTabSwitcherListMode.java | 33 +++++++++++++++++++ .../Use-list-mode-for-tab-switcher.grdp | 9 +++++ - .../browser/toolbar/top/ToolbarPhone.java | 15 ++++++--- + .../browser/toolbar/top/ToolbarPhone.java | 16 +++++---- .../tab-switcher-list-mode.inc | 3 ++ - 6 files changed, 64 insertions(+), 7 deletions(-) + 6 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Use-list-mode-for-tab-switcher.grdp create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc @@ -21,15 +21,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java -@@ -14,6 +14,7 @@ import org.chromium.base.cached_flags.IntCachedFieldTrialParameter; - import org.chromium.build.BuildConfig; +@@ -11,6 +11,7 @@ import org.chromium.base.ResettersForTesting; + import org.chromium.base.SysUtils; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.ui.base.DeviceFormFactor; +import org.chromium.chrome.browser.flags.cromite.sTabSwitcherListMode; - /** A class to handle the state of flags for tab_management. */ - public class TabUiFeatureUtilities { -@@ -67,8 +68,7 @@ public class TabUiFeatureUtilities { + import java.util.Locale; + import java.util.Set; +@@ -46,8 +47,7 @@ public class TabUiFeatureUtilities { /** Returns whether the Grid Tab Switcher UI should use list mode. */ public static boolean shouldUseListMode() { @@ -119,7 +119,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; -@@ -521,7 +522,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -503,7 +504,8 @@ public class ToolbarPhone extends ToolbarLayout private void inflateTabSwitchingResources() { mToggleTabStackButton = findViewById(R.id.tab_switcher_button); @@ -129,35 +129,30 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow } private void enableTabSwitchingResources() { -@@ -2016,14 +2018,15 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1935,7 +1937,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 only in #onStartSurfaceStateChanged. + // exit event. - if (inTabSwitcherMode) { + if (inTabSwitcherMode && !sTabSwitcherListMode.getInstance().isEnabled()) { mLocationBar.setUrlBarFocusable(false); } - // This method is only used for grid tab switcher with the start surface disabled. When - // start surface is enabled, omnibox state is updated in onStartSurfaceStateChanged(), which - // is always called before setTabSwitcherMode(), so skip here. -- if (getToolbarDataProvider().shouldShowLocationBarInOverviewMode()) { -+ if (getToolbarDataProvider().shouldShowLocationBarInOverviewMode() -+ && !sTabSwitcherListMode.getInstance().isEnabled()) { - // Prevent pressing the tab switcher button until after transition finishes. - mToggleTabStackButton.setClickable(false); - return; -@@ -2043,7 +2046,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1952,9 +1954,10 @@ public class ToolbarPhone extends ToolbarLayout + && (mTabSwitcherState == STATIC_TAB || mTabSwitcherState == EXITING_TAB_SWITCHER)) { return; } - // Prevent pressing the tab switcher button until after transition finishes. +- // Prevent pressing the tab switcher button until after transition finishes. - mToggleTabStackButton.setClickable(false); -+ if (!sTabSwitcherListMode.getInstance().isEnabled()) +- ++ if (!sTabSwitcherListMode.getInstance().isEnabled()) { ++ // Prevent pressing the tab switcher button until after transition finishes. + mToggleTabStackButton.setClickable(false); - ++ } mTabSwitcherState = inTabSwitcherMode ? ENTERING_TAB_SWITCHER : EXITING_TAB_SWITCHER; -@@ -2142,7 +2146,8 @@ public class ToolbarPhone extends ToolbarLayout + // The width of location bar depends on mTabSwitcherState so layout request is needed. See +@@ -2014,7 +2017,8 @@ public class ToolbarPhone extends ToolbarLayout } if (mTabSwitcherState == ENTERING_TAB_SWITCHER) { mTabSwitcherState = TAB_SWITCHER; @@ -165,8 +160,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow + if (!sTabSwitcherListMode.getInstance().isEnabled()) + mToggleTabStackButton.setClickable(false); } - // Ensure clickable if in STATIC_TAB mode. This handles both when the state transitions - // are ignored in favor of onStartSurfaceStateChanged() and when normal transitions occur. + // Ensure clickable if in STATIC_TAB mode. + if (mTabSwitcherState == STATIC_TAB) { diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc new file mode 100644 --- /dev/null diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 69244457..e088b37d 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -17,13 +17,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../layout/custom_useragent_preferences.xml | 106 ++++++++++ .../android/java/res/xml/main_preferences.xml | 5 + .../java/res/xml/useragent_preferences.xml | 25 +++ - .../chrome/browser/app/ChromeActivity.java | 2 +- + .../chrome/browser/app/ChromeActivity.java | 1 + .../init/ChromeBrowserInitializer.java | 3 + .../PrivacyPreferencesManagerImpl.java | 42 ++++ .../settings/UserAgentPreferences.java | 183 ++++++++++++++++++ .../browser/tab/RequestDesktopUtils.java | 1 + - .../chromium/chrome/browser/tab/TabImpl.java | 62 +++++- - .../chromium/chrome/browser/tab/TabUtils.java | 17 +- + .../chromium/chrome/browser/tab/TabImpl.java | 64 +++++- + .../chromium/chrome/browser/tab/TabUtils.java | 11 +- .../browser/android/content/content_utils.cc | 30 +++ .../preferences/browser_prefs_android.cc | 7 + .../privacy_preferences_manager_impl.cc | 124 ++++++++++++ @@ -46,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/web_contents/web_contents_impl.cc | 6 +- .../framehost/NavigationControllerImpl.java | 3 +- content/renderer/render_thread_impl.cc | 1 - - 36 files changed, 794 insertions(+), 23 deletions(-) + 36 files changed, 796 insertions(+), 16 deletions(-) create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java @@ -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 -@@ -944,6 +944,7 @@ chrome_java_sources = [ +@@ -940,6 +940,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", @@ -257,15 +257,14 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2767,7 +2767,7 @@ public abstract class ChromeActivity +@@ -2688,6 +2688,7 @@ public abstract class ChromeActivity TabUtils.switchUserAgent( currentTab, usingDesktopUserAgent, -- /* forcedByUser= */ false, + /* forcedByUser= */ true, UseDesktopUserAgentCaller.ON_MENU_OR_KEYBOARD_ACTION); - // TODO(crbug.com/40917998): Remove this IPH when the usage is low. - RequestDesktopUtils.maybeShowUserEducationPromptForAppMenuSelection( + TrackerFactory.getTrackerForProfile(profile) + .notifyEvent(EventConstants.APP_MENU_DESKTOP_SITE_EXCEPTION_ADDED); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java @@ -540,18 +539,18 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java -@@ -137,6 +137,7 @@ public class RequestDesktopUtils { +@@ -132,6 +132,7 @@ public class RequestDesktopUtils { */ public static void setRequestDesktopSiteContentSettingsForUrl( Profile profile, GURL url, boolean useDesktopUserAgent) { + if ((true)) return; - boolean isIncognito = - Profile.getBrowserProfileTypeFromProfile(profile) == BrowserProfileType.INCOGNITO; + boolean isOffTheRecord = profile.isOffTheRecord(); String domainWildcardPattern = + WebsitePreferenceBridge.toDomainWildcardPattern(url.getSpec()); 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 -@@ -66,6 +66,9 @@ import org.chromium.components.autofill.AutofillFeatures; +@@ -65,6 +65,9 @@ import org.chromium.components.autofill.AutofillFeatures; import org.chromium.components.autofill.AutofillProvider; import org.chromium.components.autofill.AutofillSelectionActionMenuDelegate; import org.chromium.components.autofill.AutofillSelectionMenuItemHelper; @@ -559,8 +558,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav +import org.chromium.components.content_settings.ContentSettingsType; +import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge; import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; + import org.chromium.components.embedder_support.contextmenu.ContextMenuPopulatorFactory; import org.chromium.components.embedder_support.util.UrlConstants; - import org.chromium.components.embedder_support.view.ContentView; @@ -98,6 +101,9 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.user_prefs.UserPrefs; @@ -571,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. -@@ -1923,9 +1929,6 @@ class TabImpl implements Tab { +@@ -1950,9 +1956,6 @@ class TabImpl implements Tab { } if (mWebContents != null) { @@ -581,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mWebContents.getNavigationController().loadIfNecessary(); } mIsBeingRestored = true; -@@ -2239,6 +2242,11 @@ class TabImpl implements Tab { +@@ -2266,6 +2269,11 @@ class TabImpl implements Tab { url = webContents.getVisibleUrl(); } @@ -593,8 +592,17 @@ 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); -@@ -2318,6 +2326,54 @@ class TabImpl implements Tab { +@@ -2311,7 +2319,7 @@ class TabImpl implements Tab { } + boolean usingDesktopUserAgent = + getWebContents().getNavigationController().getUseDesktopUserAgent(); +- TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent, caller); ++ TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent, /* forcedByUser= */ false, caller); + } + + /** Sets the TabLaunchType for tabs launched with an unset launch type. */ +@@ -2348,6 +2356,54 @@ class TabImpl implements Tab { + return mWebContentsDelegate.isTrustedWebActivity(getWebContents()); } + int overrideUserAgentWhenUnFrozen = (int)UserAgentOverrideOption.INHERIT; @@ -651,7 +659,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java -@@ -37,6 +37,10 @@ import org.chromium.ui.display.DisplayAndroidManager; +@@ -39,6 +39,10 @@ import org.chromium.ui.display.DisplayAndroidManager; import org.chromium.ui.display.DisplayUtil; import org.chromium.url.GURL; @@ -662,22 +670,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -@@ -125,18 +129,7 @@ public class TabUtils { - // TODO(crbug.com/40891239): Remove param forcedByUser from TabUtils#switchUserAgent. - public static void switchUserAgent( - Tab tab, boolean switchToDesktop, boolean forcedByUser, int caller) { +@@ -123,11 +127,8 @@ public class TabUtils { + * @param switchToDesktop Whether switching the user agent to desktop. + * @param caller The caller of this method. + */ +- public static void switchUserAgent(Tab tab, boolean switchToDesktop, int caller) { - final boolean reloadOnChange = !tab.isNativePage(); - tab.getWebContents() - .getNavigationController() - .setUseDesktopUserAgent(switchToDesktop, reloadOnChange, caller); -- if (forcedByUser) { -- @TabUserAgent -- int tabUserAgent = switchToDesktop ? TabUserAgent.DESKTOP : TabUserAgent.MOBILE; -- if (isDesktopSiteGlobalEnabled(tab.getProfile()) == switchToDesktop) { -- tabUserAgent = TabUserAgent.DEFAULT; -- } -- tab.setUserAgent(tabUserAgent); -- } ++ public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser, int caller) { + tab.SetOverrideUserAgent(switchToDesktop, forcedByUser); } @@ -954,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 -@@ -1043,8 +1043,6 @@ public final class ChromePreferenceKeys { +@@ -1033,8 +1033,6 @@ public final class ChromePreferenceKeys { SIGNIN_PROMO_NTP_LAST_SHOWN_TIME, SYNC_PROMO_TOTAL_SHOW_COUNT, SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP, @@ -984,7 +986,7 @@ diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java --- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java +++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java -@@ -315,6 +315,8 @@ public interface Tab extends TabLifecycle { +@@ -331,6 +331,8 @@ public interface Tab extends TabLifecycle { /** Goes to the navigation entry after the current one. */ void goForward(); @@ -1004,11 +1006,11 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse + /** * Finds the {@link TabModelSelector} bound to an Activity instance of a given index. - * @param index The index of {@link TabModelSelector} to get. + * diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java --- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java +++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java -@@ -414,6 +414,24 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan +@@ -416,6 +416,24 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan return null; } @@ -1072,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 -@@ -1880,6 +1880,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; +@@ -1899,6 +1899,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] = "profile.content_settings.had_three_consecutive_denies.notifications"; @@ -1236,7 +1238,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co const JavaParamRef& j_initiator_origin, jboolean has_user_gesture, jboolean should_clear_history_list, -@@ -354,6 +355,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( +@@ -351,6 +352,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( params.navigation_ui_data = std::move(navigation_ui_data); @@ -1260,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 -@@ -3644,6 +3644,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3345,6 +3345,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedMedia, switches::kLacrosUseChromeosProtectedAv1, #endif @@ -1274,12 +1276,12 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser @@ -17,6 +17,7 @@ #include - #include "base/allocator/partition_allocator/src/partition_alloc/partition_alloc_buildflags.h" + #include "base/allocator/partition_allocator/src/partition_alloc/buildflags.h" +#include "base/base_switches.h" #include "base/check_op.h" #include "base/command_line.h" #include "base/containers/contains.h" -@@ -2163,8 +2164,6 @@ void WebContentsImpl::SetUserAgentOverride( +@@ -2198,8 +2199,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); @@ -1288,7 +1290,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser if (GetUserAgentOverride() == ua_override) { return; -@@ -3229,6 +3228,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { +@@ -3216,6 +3215,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { #else prefs.viewport_meta_enabled = false; #endif @@ -1321,7 +1323,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -864,7 +864,6 @@ void RenderThreadImpl::InitializeRenderer( +@@ -882,7 +882,6 @@ void RenderThreadImpl::InitializeRenderer( const blink::UserAgentMetadata& user_agent_metadata, const std::vector& cors_exempt_header_list, blink::mojom::OriginTrialsSettingsPtr origin_trials_settings) { diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index f9563898..c9f83759 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -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 -@@ -4034,6 +4034,7 @@ +@@ -4063,6 +4063,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, -@@ -4041,7 +4042,6 @@ +@@ -4070,7 +4071,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 -@@ -182,7 +182,7 @@ bool MediaValues::CalculateStrictMode(LocalFrame* frame) { +@@ -196,7 +196,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 -@@ -1877,7 +1877,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -1971,7 +1971,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { ComputedStyleBuilder builder = CreateComputedStyleBuilder(); builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical); @@ -366,15 +366,15 @@ diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_party/blink/renderer/core/events/pointer_event.h --- a/third_party/blink/renderer/core/events/pointer_event.h +++ b/third_party/blink/renderer/core/events/pointer_event.h -@@ -10,6 +10,7 @@ +@@ -9,6 +9,7 @@ + #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/events/mouse_event.h" - #include "third_party/blink/renderer/core/input/device_properties.h" #include "third_party/blink/renderer/platform/wtf/casting.h" +#include "third_party/blink/renderer/core/page/page.h" namespace blink { -@@ -58,11 +59,21 @@ class CORE_EXPORT PointerEvent : public MouseEvent { +@@ -57,11 +58,21 @@ class CORE_EXPORT PointerEvent : public MouseEvent { double screenX() const override { if (ShouldHaveIntegerCoordinates()) return MouseEvent::screenX(); @@ -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 -@@ -1056,7 +1056,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1070,7 +1070,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 -@@ -1515,7 +1515,12 @@ int LocalDOMWindow::outerHeight() const { +@@ -1504,7 +1504,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; -@@ -1540,7 +1545,12 @@ int LocalDOMWindow::outerWidth() const { +@@ -1529,7 +1534,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; -@@ -1741,7 +1751,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1730,7 +1740,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 { -@@ -2340,6 +2351,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2315,6 +2326,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 -@@ -2396,6 +2424,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( +@@ -2371,6 +2399,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 -@@ -1564,6 +1564,10 @@ void LocalFrame::RestoreScrollOffsets() { +@@ -1563,6 +1563,10 @@ void LocalFrame::RestoreScrollOffsets() { saved_scroll_offsets_ = nullptr; } @@ -500,10 +500,10 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ + page_zoom_factor_base_value_ = factor; +} + - void LocalFrame::SetPageZoomFactor(float factor) { - SetPageAndTextZoomFactors(factor, text_zoom_factor_); + void LocalFrame::SetLayoutZoomFactor(float factor) { + SetLayoutAndTextZoomFactors(factor, text_zoom_factor_); } -@@ -1738,12 +1742,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1744,12 +1748,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { return mojo_handler_->GetDevicePosture(); } @@ -513,16 +513,16 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ return 0; double ratio = page_->InspectorDeviceScaleFactorOverride(); -- ratio *= PageZoomFactor(); +- ratio *= LayoutZoomFactor(); + // with_zoom_factor is default true + if (with_zoom_factor) -+ ratio *= PageZoomFactor(); ++ ratio *= LayoutZoomFactor(); + else + ratio = page_zoom_factor_; return ratio; } -@@ -3334,6 +3342,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { +@@ -3343,6 +3351,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { DCHECK(!GetDocument() || !GetDocument()->Printing()); DCHECK(IsMainFrame()); @@ -537,27 +537,27 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -427,13 +427,14 @@ class CORE_EXPORT LocalFrame final - void SetInViewSourceMode(bool = true); - - void SetPageZoomFactor(float); -- float PageZoomFactor() const { return page_zoom_factor_; } +@@ -431,13 +431,14 @@ class CORE_EXPORT LocalFrame final + // for embedded frames the effect of the CSS "zoom" property applied to the + // embedding element (e.g.