From 68e2652402f8b6b658d2ec53b4fa79911d18fb0c Mon Sep 17 00:00:00 2001 From: Carl <32685696+csagan5@users.noreply.github.com> Date: Thu, 17 Feb 2022 19:16:35 +0100 Subject: [PATCH] Patches for v97 (#1795) Patches for v97 Add uazo's patch to build with use_sysroot=false Start using new SystemWebView package name Cleanup metrics patches and add a few more patches from Vanadium Enable use_cfi_cast --- build/RELEASE | 2 +- build/bromite.gn_args | 3 + build/bromite_patches_list.txt | 15 +- build/chromium_patches_list.txt | 1 + .../AImageReader-CFI-crash-mitigations.patch | 14 +- ...I-level-21-prevent-crash-on-download.patch | 2 + build/patches/AV1-codec-support.patch | 4 +- .../Add-AllowUserCertificates-flag.patch | 14 +- ...dd-Alt-D-hotkey-to-focus-address-bar.patch | 4 +- .../Add-DuckDuckGo-Lite-search-engine.patch | 2 + .../Add-English-only-search-engine.patch | 2 + .../Add-IsCleartextPermitted-flag.patch | 18 +- ...-allow-screenshots-in-Incognito-mode.patch | 10 +- .../Add-a-proxy-configuration-page.patch | 16 +- .../Add-an-always-incognito-mode.patch | 34 +- .../Add-bookmark-import-export-actions.patch | 60 +- ...dd-custom-tab-intents-privacy-option.patch | 26 +- build/patches/Add-exit-menu-item.patch | 12 +- ...g-for-omnibox-autocomplete-filtering.patch | 6 +- .../Add-flag-for-save-data-header.patch | 12 +- ...nfigure-maximum-connections-per-host.patch | 20 +- ...ontrol-video-playback-resume-feature.patch | 10 +- .../Add-flag-to-disable-IPv6-probes.patch | 12 +- build/patches/Add-flag-to-disable-WebGL.patch | 14 +- ...-to-disable-external-intent-requests.patch | 8 +- .../Add-flag-to-disable-vibration.patch | 18 +- ...dd-history-support-in-incognito-mode.patch | 75 +- .../Add-menu-item-to-bookmark-all-tabs.patch | 40 +- .../Add-menu-item-to-view-source.patch | 16 +- .../Add-option-to-force-tablet-UI.patch | 14 +- ...-to-not-persist-tabs-across-sessions.patch | 22 +- .../Add-option-to-use-home-page-as-NTP.patch | 8 +- ...-support-for-ISupportHelpAndFeedback.patch | 2 + ...ow-building-without-enable_reporting.patch | 41 +- .../Allow-playing-audio-in-background.patch | 2 + ...site-sign-in-without-account-sign-in.patch | 2 + .../Always-allow-partner-customisation.patch | 2 + ...e-new-tab-page-for-default-home-page.patch | 2 + .../Ask-user-before-closing-all-tabs.patch | 6 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 2 + .../Automated-domain-substitution.patch | 40 +- .../patches/Battery-API-return-nothing.patch | 6 +- ...Block-gateway-attacks-via-websockets.patch | 2 + .../Block-qjz9zk-or-trk-requests.patch | 12 +- .../Bromite-AdBlockUpdaterService.patch | 86 +- build/patches/Bromite-auto-updater.patch | 661 +++++++++-- build/patches/Bromite-package-name.patch | 4 +- ...webRTC-policy-to-not-use-any-address.patch | 4 +- build/patches/Chromium-package-name.patch | 3 +- build/patches/Disable-AGSA-by-default.patch | 4 +- ...ble-Accessibility-service-by-default.patch | 6 +- ...DRM-media-origin-IDs-preprovisioning.patch | 4 +- build/patches/Disable-FLoC.patch | 24 +- ...le-NTP-remote-suggestions-by-default.patch | 2 + build/patches/Disable-all-promo-dialogs.patch | 6 +- ...isable-autofill-assistant-by-default.patch | 2 + .../Disable-conversion-measurement-api.patch | 32 +- .../Disable-feeds-support-by-default.patch | 12 +- ...Disable-fetching-of-all-field-trials.patch | 16 +- ...-lock-icon-in-address-bar-by-default.patch | 2 + ...media-router-and-remoting-by-default.patch | 2 + ...ble-metrics-collection-for-NTP-tiles.patch | 2 + .../Disable-metrics-on-all-I-O-threads.patch | 4 +- .../Disable-offline-pages-in-CCT.patch | 2 + ...-omission-of-URL-elements-in-Omnibox.patch | 2 + .../patches/Disable-plugins-enumeration.patch | 4 +- build/patches/Disable-privacy-sandbox.patch | 23 +- ...e-references-to-fonts.googleapis.com.patch | 4 +- ...sts-for-single-word-Omnibar-searches.patch | 2 + build/patches/Disable-safe-browsing.patch | 258 ++--- ...arch-engine-DSE-automatic-permission.patch | 2 + .../Disable-smart-selection-by-default.patch | 8 +- ...isable-some-signed-exchange-features.patch | 12 +- ...ble-support-for-RAR-files-inspection.patch | 2 + .../Disable-text-fragments-by-default.patch | 26 +- ...Disable-the-DIAL-repeating-discovery.patch | 2 + ...sable-third-party-cookies-by-default.patch | 2 + .../Disable-third-party-origin-trials.patch | 20 +- .../Disable-unified-autoplay-feature.patch | 4 +- build/patches/Disable-update-scheduler.patch | 2 + build/patches/Disable-various-metrics.patch | 89 ++ .../Do-not-build-API-keys-infobar.patch | 4 +- .../Do-not-compile-QR-code-sharing.patch | 6 +- .../Do-not-hide-component-extensions.patch | 4 +- ...ore-download-location-prompt-setting.patch | 2 + .../patches/Do-not-link-with-libatomic.patch | 24 + .../Do-not-store-passwords-by-default.patch | 2 + .../patches/DoH-secure-mode-by-default.patch | 2 + ...nalFormRedirectsNoGesture-by-default.patch | 2 + ...-SPPI-for-devices-with-enough-memory.patch | 4 +- ...e-darken-websites-checkbox-in-themes.patch | 6 +- ...fwrapv-in-Clang-for-non-UBSan-builds.patch | 8 +- .../Enable-native-Android-autofill.patch | 47 +- .../Enable-network-isolation-features.patch | 4 +- ...-prefetch-privacy-changes-by-default.patch | 4 +- build/patches/Enable-share-intent.patch | 28 +- .../Enable-user-agent-freeze-by-default.patch | 4 +- .../Experimental-user-scripts-support.patch | 69 +- ...ing-against-incognito-mode-detection.patch | 2 + .../patches/Hide-passwords-manager-link.patch | 2 + .../patches/Hide-send-reports-checkbox.patch | 2 + ...e-enterprise-policies-for-secure-DNS.patch | 2 + ...number-of-autocomplete-matches-to-10.patch | 12 +- ...ripts-for-AMP-tracking-ads-and-video.patch | 14 +- build/patches/JIT-less-toggle.patch | 20 +- .../Keep-empty-tabs-between-sessions.patch | 2 + build/patches/Logcat-crash-reports-UI.patch | 4 +- .../Make-HTTPS-only-mode-the-default.patch | 21 + .../Make-all-favicon-requests-on-demand.patch | 2 + .../patches/Modify-default-preferences.patch | 6 +- ...nt-settings-back-to-privacy-settings.patch | 40 +- .../Multiple-fingerprinting-mitigations.patch | 38 +- build/patches/Never-fetch-popular-sites.patch | 6 +- ...HTTP-probes-for-connection-detection.patch | 2 + ...uiltin-autocomplete-for-chrome-flags.patch | 4 +- .../Open-YouTube-links-in-Bromite.patch | 4 +- .../Override-UA-client-hint-for-model.patch | 4 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 2 + ...Reintroduce-override_build_timestamp.patch | 20 +- build/patches/Remove-EV-certificates.patch | 2 + build/patches/Remove-SMS-integration.patch | 2 + .../Remove-binary-blob-integrations.patch | 562 ++------- ...cklisted-URLs-upon-bookmark-creation.patch | 14 +- build/patches/Remove-help-menu-item.patch | 10 +- ...-offline-measurement-background-task.patch | 2 + ...e-signin-and-data-saver-integrations.patch | 1006 +++++++++-------- ...weblayer-dependency-on-Play-Services.patch | 2 + ...ce-DoH-probe-domain-with-RIPE-domain.patch | 2 + .../Restore-Search-Ready-Omnibox-flag.patch | 18 +- .../Restore-Simplified-NTP-launch.patch | 63 +- .../Restore-classic-new-tab-page.patch | 2 + .../Restore-offline-indicator-v2-flag.patch | 2 + ...emove-disable-pull-to-refresh-effect.patch | 14 +- ...vert-flags-remove-num-raster-threads.patch | 18 +- ...moval-of-an-option-to-block-autoplay.patch | 26 +- ...tings-for-cookies-javascript-and-ads.patch | 10 +- build/patches/Site-setting-for-images.patch | 28 +- ...first-run-and-remove-report-sending.patch} | 69 +- .../Switch-to-fstack-protector-strong.patch | 2 + build/patches/Timezone-customization.patch | 52 +- build/patches/Unexpire-tab-groups-flags.patch | 8 +- build/patches/Update-i18n-zh_CN-support.patch | 10 +- .../Use-4-tile-rows-never-show-logo.patch | 8 +- .../Use-64-bit-WebView-processes.patch | 2 + build/patches/Use-dummy-DFM-installer.patch | 2 + build/patches/User-agent-customization.patch | 62 +- ...n-to-play-protected-media-by-default.patch | 2 + ...ll-disable-autofill-download-manager.patch | 6 +- ...vice-disable-more-privacy-nightmares.patch | 2 + ...build-remove-calling-untrusted-hooks.patch | 10 +- build/patches/disable-AdsBlockedInfoBar.patch | 2 + .../disable-WebView-variations-support.patch | 4 +- .../disable-appending-variations-header.patch | 25 + ...fill-server-communication-by-default.patch | 4 +- .../disable-background-sync-by-default.patch | 2 + ...ble-broken-warning-for-auto-var-init.patch | 1 + ...disable-browser-autologin-by-default.patch | 2 + ...bile-identity-consistency-by-default.patch | 22 + .../disable-payment-support-by-default.patch | 2 + ...nsors-access-site-setting-by-default.patch | 2 + ...IPv6-connectivity-probes-to-RIPE-DNS.patch | 2 + .../do-not-add-suffix-to-package-name.patch | 4 +- build/patches/do-not-hide-.orig-files.patch | 2 + .../enable-ftrivial-auto-var-init-zero.patch | 7 +- .../exit-on-failure-of-inclusion.patch | 2 + ...t_run-deactivate-autoupdate-globally.patch | 2 + build/patches/kill-Auth.patch | 12 +- .../kill-Location-fall-back-to-system.patch | 2 + .../kill-TOS-and-metrics-opt-out.patch | 112 -- build/patches/kill-TOS.patch | 91 ++ build/patches/kill-Vision.patch | 4 +- ...rce-text-x-suse-ymp-to-be-downloaded.patch | 2 + ...-length-for-newly-generated-RSA-keys.patch | 2 + ...nH264-enable-ARM-ARM64-optimizations.patch | 8 +- ...pt-for-download-directory-by-default.patch | 4 +- ...efs-disable-signinallowed-by-default.patch | 2 + ...do-not-tick-send-settings-by-default.patch | 2 + ...mo-disable-Google-promotion-fetching.patch | 2 + ...g-of-translate-languages-from-server.patch | 2 + .../ungoogled-chromium-Disable-Gaia.patch | 4 +- ...romium-Disable-Google-host-detection.patch | 4 +- ...hromium-Disable-Network-Time-Tracker.patch | 4 +- ...-chromium-Disable-domain-reliability.patch | 2 + ...m-Disable-intranet-redirect-detector.patch | 2 + ...gled-chromium-Disable-profile-avatar.patch | 4 +- ...romium-Disable-translate-integration.patch | 4 +- ...ed-chromium-Disable-untraceable-URLs.patch | 45 +- ...chromium-Disable-webRTC-log-uploader.patch | 2 + .../updater-disable-updater-pings.patch | 2 + ...gle-Chrome-branding-for-client-hints.patch | 21 + ...iew-Hard-no-to-persistent-histograms.patch | 4 +- build/ruleset_converter.gn_args | 43 + 192 files changed, 2753 insertions(+), 2138 deletions(-) create mode 100644 build/patches/Disable-various-metrics.patch create mode 100644 build/patches/Do-not-link-with-libatomic.patch create mode 100644 build/patches/Make-HTTPS-only-mode-the-default.patch rename build/patches/{Skip-the-first-run-and-metrics.patch => Skip-the-first-run-and-remove-report-sending.patch} (51%) create mode 100644 build/patches/disable-appending-variations-header.patch create mode 100644 build/patches/disable-mobile-identity-consistency-by-default.patch delete mode 100644 build/patches/kill-TOS-and-metrics-opt-out.patch create mode 100644 build/patches/kill-TOS.patch create mode 100644 build/patches/use-Google-Chrome-branding-for-client-hints.patch create mode 100644 build/ruleset_converter.gn_args diff --git a/build/RELEASE b/build/RELEASE index 81fb4664..7050c645 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -96.0.4664.183 \ No newline at end of file +97.0.4692.106 \ No newline at end of file diff --git a/build/bromite.gn_args b/build/bromite.gn_args index 43c6d415..6fd2fb11 100644 --- a/build/bromite.gn_args +++ b/build/bromite.gn_args @@ -25,6 +25,7 @@ enable_vr=false exclude_unwind_tables=false ffmpeg_branding="Chrome" icu_use_data_file=true +is_cfi=true is_component_build=false is_debug=false is_official_build=true @@ -32,7 +33,9 @@ proprietary_codecs=true rtc_build_examples=false safe_browsing_mode=0 symbol_level=1 +system_webview_package_name="org.bromite.webview" target_os="android" +use_cfi_cast = true use_debug_fission=true use_errorprone_java_compiler=false use_gnome_keyring=false diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index 62b68cfd..0968654f 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -1,12 +1,11 @@ Disable-third-party-cookies-by-default.patch do-not-hide-.orig-files.patch +Do-not-link-with-libatomic.patch do-not-add-suffix-to-package-name.patch exit-on-failure-of-inclusion.patch AV1-codec-support.patch Switch-to-fstack-protector-strong.patch Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch -enable-ftrivial-auto-var-init-zero.patch -disable-broken-warning-for-auto-var-init.patch Bromite-package-name.patch Restore-classic-new-tab-page.patch Always-use-new-tab-page-for-default-home-page.patch @@ -35,7 +34,7 @@ ungoogled-chromium-Disable-Gaia.patch ungoogled-chromium-Disable-domain-reliability.patch ungoogled-chromium-Disable-Network-Time-Tracker.patch Disable-safe-browsing.patch -Skip-the-first-run-and-metrics.patch +Skip-the-first-run-and-remove-report-sending.patch Disable-all-promo-dialogs.patch Remove-signin-and-data-saver-integrations.patch Hide-passwords-manager-link.patch @@ -52,7 +51,6 @@ Add-exit-menu-item.patch Remove-help-menu-item.patch AudioBuffer-AnalyserNode-fp-mitigations.patch Multiple-fingerprinting-mitigations.patch -Disable-metrics-on-all-I-O-threads.patch Add-flag-to-configure-maximum-connections-per-host.patch Do-not-ignore-download-location-prompt-setting.patch Add-bookmark-import-export-actions.patch @@ -67,7 +65,7 @@ Do-not-build-API-keys-infobar.patch autofill-disable-autofill-download-manager.patch first_run-deactivate-autoupdate-globally.patch translate-disable-fetching-of-translate-languages-from-server.patch -kill-TOS-and-metrics-opt-out.patch +kill-TOS.patch kill-Vision.patch kill-Location-fall-back-to-system.patch kill-Auth.patch @@ -80,6 +78,8 @@ Disable-search-engine-DSE-automatic-permission.patch Add-flag-to-disable-IPv6-probes.patch Add-a-proxy-configuration-page.patch Use-4-tile-rows-never-show-logo.patch +Disable-metrics-on-all-I-O-threads.patch +Disable-various-metrics.patch Disable-metrics-collection-for-NTP-tiles.patch Enable-SPPI-for-devices-with-enough-memory.patch Use-64-bit-WebView-processes.patch @@ -177,3 +177,8 @@ Disable-FLoC.patch Restore-offline-indicator-v2-flag.patch Automated-domain-substitution.patch Reintroduce-override_build_timestamp.patch +enable-ftrivial-auto-var-init-zero.patch +disable-appending-variations-header.patch +use-Google-Chrome-branding-for-client-hints.patch +Make-HTTPS-only-mode-the-default.patch +disable-mobile-identity-consistency-by-default.patch diff --git a/build/chromium_patches_list.txt b/build/chromium_patches_list.txt index 5bb36242..0e433301 100644 --- a/build/chromium_patches_list.txt +++ b/build/chromium_patches_list.txt @@ -2,6 +2,7 @@ AV1-codec-support.patch exit-on-failure-of-inclusion.patch Reintroduce-override_build_timestamp.patch do-not-hide-.orig-files.patch +Do-not-link-with-libatomic.patch do-not-add-suffix-to-package-name.patch Switch-to-fstack-protector-strong.patch Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 06fa6d36..59b17492 100644 --- a/build/patches/AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/AImageReader-CFI-crash-mitigations.patch @@ -82,8 +82,8 @@ 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 -@@ -2062,9 +2062,9 @@ - "expiry_milestone": 97 +@@ -2095,9 +2095,9 @@ + "expiry_milestone": 100 }, { - "name": "enable-image-reader", @@ -124,7 +124,7 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis 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 -@@ -51,6 +51,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) { +@@ -52,6 +52,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) { } // namespace #if defined(OS_ANDROID) @@ -160,7 +160,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc if (!gpu_preferences.enable_android_surface_control) return kGpuFeatureStatusDisabled; -@@ -344,6 +347,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) { +@@ -356,6 +359,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) { gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] = kGpuFeatureStatusBlocklisted; } @@ -229,7 +229,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_ 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 -@@ -663,6 +663,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", +@@ -678,6 +678,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", // Note: Has no effect if kMediaDrmPreprovisioning feature is disabled. const base::Feature kMediaDrmPreprovisioningAtStartup{ "MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -243,7 +243,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 -@@ -219,6 +219,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders; +@@ -216,6 +216,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders; MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays; MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture; MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense; @@ -251,3 +251,5 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning; MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup; MEDIA_EXPORT extern const base::Feature kCanPlayHls; +-- +2.25.1 diff --git a/build/patches/API-level-21-prevent-crash-on-download.patch b/build/patches/API-level-21-prevent-crash-on-download.patch index d6208041..329b1abb 100644 --- a/build/patches/API-level-21-prevent-crash-on-download.patch +++ b/build/patches/API-level-21-prevent-crash-on-download.patch @@ -33,3 +33,5 @@ diff --git a/components/background_task_scheduler/internal/android/java/src/org/ } else if (obj instanceof Double) { persistableBundle.putDouble(key, (Double) obj); } else if (obj instanceof double[]) { +-- +2.25.1 diff --git a/build/patches/AV1-codec-support.patch b/build/patches/AV1-codec-support.patch index 05759ef6..183d3e93 100644 --- a/build/patches/AV1-codec-support.patch +++ b/build/patches/AV1-codec-support.patch @@ -54,7 +54,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni --- a/third_party/libaom/libaom_srcs.gni +++ b/third_party/libaom/libaom_srcs.gni -@@ -642,6 +642,11 @@ aom_mem_sources = [ +@@ -643,6 +643,11 @@ aom_mem_sources = [ aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/float.asm" ] @@ -210,3 +210,5 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/th #define CONFIG_RD_COMMAND 0 #define CONFIG_RD_DEBUG 0 #define CONFIG_REALTIME_ONLY 1 +-- +2.25.1 diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index e58ddbe2..1b703e36 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -18,7 +18,7 @@ Subject: Add AllowUserCertificates flag 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 -@@ -226,6 +226,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; +@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.ContentSwitches; @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.printing.PrintManagerDelegateImpl; import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingControllerImpl; -@@ -981,6 +982,8 @@ public abstract class ChromeActivity +@@ -990,6 +991,8 @@ public abstract class ChromeActivity UpdateMenuItemHelper.getInstance().onStart(); ChromeActivitySessionTracker.getInstance().onStartWithNative(); ChromeCachedFlags.getInstance().cacheNativeFlags(); @@ -38,7 +38,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/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java -@@ -90,6 +90,7 @@ public class ChromeCachedFlags { +@@ -91,6 +91,7 @@ public class ChromeCachedFlags { add(ChromeFeatureList .GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY); add(ChromeFeatureList.IMMERSIVE_UI_MODE); @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom 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 -@@ -2874,6 +2874,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2903,6 +2903,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kCSSContainerQueriesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)}, #if defined(OS_ANDROID) @@ -91,7 +91,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -150,6 +150,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -153,6 +153,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedSignInPromoDismiss, &feed::kInterestFeedContentSuggestions, &feed::kInterestFeedSpinnerAlwaysAnimate, @@ -99,7 +99,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &feed::kInterestFeedV1ClicksAndViewsConditionalUpload, &feed::kInterestFeedV2, &feed::kInterestFeedV2Autoplay, -@@ -387,6 +388,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{ +@@ -392,6 +393,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{ "AdaptiveButtonInTopToolbarCustomizationV2", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -164,3 +164,5 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j return new AndroidCertVerifyResult(CertVerifyStatusAndroid.OK, isIssuedByKnownRoot, verifiedChain); } +-- +2.25.1 diff --git a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch index 9d6c596d..49bde212 100644 --- a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch +++ b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch @@ -9,7 +9,7 @@ Subject: Add Alt+D hotkey to focus address bar 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 -@@ -156,6 +156,8 @@ public class KeyboardShortcuts { +@@ -154,6 +154,8 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON); addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar, KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON); @@ -18,3 +18,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu shortcutGroups.add(chromeFeatureShortcutGroup); KeyboardShortcutGroup webpageShortcutGroup = new KeyboardShortcutGroup( +-- +2.25.1 diff --git a/build/patches/Add-DuckDuckGo-Lite-search-engine.patch b/build/patches/Add-DuckDuckGo-Lite-search-engine.patch index a239a92a..7ccf89e3 100644 --- a/build/patches/Add-DuckDuckGo-Lite-search-engine.patch +++ b/build/patches/Add-DuckDuckGo-Lite-search-engine.patch @@ -921,3 +921,5 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon &ask, }; // ---------------------------------------------------------------------------- +-- +2.25.1 diff --git a/build/patches/Add-English-only-search-engine.patch b/build/patches/Add-English-only-search-engine.patch index 0d723cca..4f77e9e2 100644 --- a/build/patches/Add-English-only-search-engine.patch +++ b/build/patches/Add-English-only-search-engine.patch @@ -1026,3 +1026,5 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon &bing, &yahoo, &duckduckgo, +-- +2.25.1 diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index ec9e2c62..965a0de4 100644 --- a/build/patches/Add-IsCleartextPermitted-flag.patch +++ b/build/patches/Add-IsCleartextPermitted-flag.patch @@ -14,7 +14,7 @@ Subject: Add IsCleartextPermitted flag 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 -@@ -7780,6 +7780,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7817,6 +7817,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( chrome::android::kBookmarksExportUseSaf)}, @@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -1507,6 +1507,10 @@ const char kHttpsOnlyModeDescription[] = +@@ -1474,6 +1474,10 @@ const char kHttpsOnlyModeDescription[] = "Adds a setting under chrome://settings/security to opt-in to HTTPS-First " "Mode."; @@ -43,7 +43,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -867,6 +867,9 @@ extern const char kHostedAppShimCreationDescription[]; +@@ -846,6 +846,9 @@ extern const char kHideShelfControlsInTabletModeDescription[]; extern const char kHttpsOnlyModeName[]; extern const char kHttpsOnlyModeDescription[]; @@ -56,8 +56,8 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -89,6 +89,9 @@ const base::FeatureParam kUseDnsHttpsSvcbExtraTimePercent{ - const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData", +@@ -92,6 +92,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData", + const base::Feature kEncryptedClientHello{"EncryptedClientHello", base::FEATURE_DISABLED_BY_DEFAULT}; +const base::Feature kIsCleartextPermitted{"IsCleartextPermitted", @@ -69,9 +69,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/net/base/features.h b/net/base/features.h --- a/net/base/features.h +++ b/net/base/features.h -@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin; - // Enables TLS 1.3 early data. - NET_EXPORT extern const base::Feature kEnableTLS13EarlyData; +@@ -34,6 +34,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization; + // origin requests are restricted to contain at most the source origin. + NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin; +NET_EXPORT extern const base::Feature kIsCleartextPermitted; + @@ -92,3 +92,5 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque // Check whether the app allows cleartext traffic to this host, and return // ERR_CLEARTEXT_NOT_PERMITTED if not. if (request->context()->check_cleartext_permitted() && +-- +2.25.1 diff --git a/build/patches/Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch index 8a5100bb..656a645b 100644 --- a/build/patches/Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch +++ b/build/patches/Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch @@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -712,6 +712,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] = +@@ -700,6 +700,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] = "authenticator (if available) to verify card ownership when retrieving " "credit cards from Google Payments."; @@ -48,7 +48,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -446,6 +446,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[]; +@@ -440,6 +440,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[]; extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterDescription[]; @@ -75,7 +75,7 @@ diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmp diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc -@@ -335,6 +335,9 @@ const char kHomePage[] = "homepage"; +@@ -332,6 +332,9 @@ const char kHomePage[] = "homepage"; // Causes the browser to launch directly in incognito mode. const char kIncognito[] = "incognito"; @@ -88,7 +88,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h -@@ -110,6 +110,7 @@ extern const char kForceStackedTabStripLayout[]; +@@ -109,6 +109,7 @@ extern const char kForceFirstRun[]; extern const char kHideCrashRestoreBubble[]; extern const char kHomePage[]; extern const char kIncognito[]; @@ -96,3 +96,5 @@ diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h extern const char kInstallAutogeneratedTheme[]; extern const char kInstallChromeApp[]; extern const char kInstantProcess[]; +-- +2.25.1 diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 3dc617d9..245f5696 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -70,7 +70,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -52,6 +52,7 @@ import org.chromium.ui.text.SpanApplier; +@@ -51,6 +51,7 @@ import org.chromium.ui.text.SpanApplier; public class PrivacySettings extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener, INeedSnackbarManager { @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -374,6 +374,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -280,6 +280,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back( base::ASCIIToUTF16(chrome::kChromeUISettingsURL)); #endif @@ -173,7 +173,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 -@@ -164,6 +164,8 @@ +@@ -160,6 +160,8 @@ #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" @@ -182,7 +182,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 -@@ -960,6 +962,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -981,6 +983,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { PluginsResourceService::RegisterPrefs(registry); #endif @@ -647,7 +647,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h" #include "chrome/browser/ui/webui/signin_internals_ui.h" #include "chrome/browser/ui/webui/support_tool_ui.h" -@@ -644,6 +645,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -647,6 +648,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUINetExportHost) return &NewWebUI; @@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons kChromeUIOobeHost, kChromeUIOSCreditsHost, kChromeUIOSSettingsHost, -@@ -584,6 +587,7 @@ const char* const kChromeHostURLs[] = { +@@ -582,6 +585,7 @@ const char* const kChromeHostURLs[] = { #if !defined(OS_ANDROID) #if !BUILDFLAG(IS_CHROMEOS_ASH) kChromeUIAppLauncherPageHost, @@ -1149,7 +1149,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -127,6 +127,8 @@ extern const char kChromeUIMemoryInternalsHost[]; +@@ -125,6 +125,8 @@ extern const char kChromeUIMemoryInternalsHost[]; extern const char kChromeUINTPTilesInternalsHost[]; extern const char kChromeUINaClHost[]; extern const char kChromeUINetExportHost[]; @@ -1388,3 +1388,5 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co // Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp, // &fallback_proxies}, or NULL if there is no proxy to use. +-- +2.25.1 diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index 5ca64f29..50fc1c54 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -153,7 +153,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout; -@@ -1770,8 +1771,9 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -1910,6 +1911,9 @@ public abstract class ChromeActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -189,7 +189,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 -@@ -538,6 +538,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -515,6 +515,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) { @@ -301,7 +301,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/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java -@@ -34,6 +34,9 @@ import org.chromium.content_public.browser.WebContents; +@@ -38,6 +38,9 @@ import org.chromium.network.mojom.ReferrerPolicy; import org.chromium.ui.base.WindowAndroid; import org.chromium.url.GURL; @@ -311,7 +311,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab /** * This class attempts to preload the tab if the url is known from the intent when the profile * is created. This is done to improve startup latency. -@@ -185,17 +188,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse +@@ -349,17 +352,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse Intent intent = mIntentSupplier.get(); GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent)); @@ -340,18 +340,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab 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 -@@ -29,6 +29,10 @@ import org.chromium.chrome.browser.profiles.Profile; +@@ -27,6 +27,10 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragmen + import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; - import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +import org.chromium.chrome.browser.ApplicationLifetime; + import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; - import org.chromium.components.browser_ui.settings.SettingsLauncher; -@@ -43,7 +47,12 @@ import org.chromium.ui.text.SpanApplier; +@@ -42,7 +46,12 @@ import org.chromium.ui.text.SpanApplier; * Fragment to keep track of the all the privacy related preferences. */ public class PrivacySettings @@ -365,7 +365,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; -@@ -96,6 +105,25 @@ public class PrivacySettings +@@ -99,6 +108,25 @@ public class PrivacySettings (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); canMakePaymentPref.setOnPreferenceChangeListener(this); @@ -391,7 +391,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting ChromeSwitchPreference networkPredictionPref = (ChromeSwitchPreference) findPreference(PREF_NETWORK_PREDICTIONS); networkPredictionPref.setChecked( -@@ -156,6 +184,9 @@ public class PrivacySettings +@@ -130,6 +158,9 @@ public class PrivacySettings } else if (PREF_NETWORK_PREDICTIONS.equals(key)) { PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled( (boolean) newValue); @@ -401,7 +401,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } else if (PREF_HTTPS_FIRST_MODE.equals(key)) { UserPrefs.get(Profile.getLastUsedRegularProfile()) .setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue); -@@ -238,4 +269,8 @@ public class PrivacySettings +@@ -208,4 +239,8 @@ public class PrivacySettings } return false; } @@ -434,7 +434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin 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 -@@ -121,6 +121,8 @@ import org.chromium.ui.base.DeviceFormFactor; +@@ -120,6 +120,8 @@ import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.IntentRequestTracker; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.util.TokenHolder; @@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab /** * A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI. -@@ -483,11 +485,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -494,11 +496,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { // TODO(twellington): Supply TabModelSelector as well and move initialization earlier. if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) { @@ -608,7 +608,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI 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 -@@ -455,7 +455,7 @@ const base::Feature kCCTIncognito{"CCTIncognito", +@@ -460,7 +460,7 @@ const base::Feature kCCTIncognito{"CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kCCTIncognitoAvailableToThirdParty{ @@ -620,7 +620,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/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 -@@ -924,6 +924,19 @@ Your Google account may have other forms of browsing history like searches and a +@@ -930,6 +930,19 @@ Your Google account may have other forms of browsing history like searches and a Clears history from all synced devices. @@ -683,3 +683,5 @@ new file mode 100644 +public interface INeedSnackbarManager { + void setSnackbarManager(SnackbarManager manager); +} +-- +2.25.1 diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 1a1deaf9..1a1ce955 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java -@@ -85,6 +85,12 @@ public class BookmarkActionBar extends SelectableListToolbar +@@ -86,6 +86,12 @@ public class BookmarkActionBar extends SelectableListToolbar } else if (menuItem.getItemId() == R.id.search_menu_id) { mDelegate.openSearchUI(); return true; @@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } SelectionDelegate selectionDelegate = mDelegate.getSelectionDelegate(); -@@ -136,6 +142,8 @@ public class BookmarkActionBar extends SelectableListToolbar +@@ -137,6 +143,8 @@ public class BookmarkActionBar extends SelectableListToolbar void showLoadingUi() { setTitle(null); setNavigationButton(NAVIGATION_BUTTON_NONE); @@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm getMenu().findItem(R.id.search_menu_id).setVisible(false); getMenu().findItem(R.id.edit_menu_id).setVisible(false); } -@@ -145,6 +153,8 @@ public class BookmarkActionBar extends SelectableListToolbar +@@ -146,6 +154,8 @@ public class BookmarkActionBar extends SelectableListToolbar super.showNormalView(); if (mDelegate == null) { @@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm getMenu().findItem(R.id.search_menu_id).setVisible(false); getMenu().findItem(R.id.edit_menu_id).setVisible(false); } -@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar +@@ -176,6 +186,8 @@ public class BookmarkActionBar extends SelectableListToolbar public void onFolderStateSet(BookmarkId folder) { mCurrentFolder = mDelegate.getModel().getBookmarkById(folder); @@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import android.text.TextUtils; import android.util.Pair; -@@ -30,8 +43,33 @@ import org.chromium.components.url_formatter.UrlFormatter; +@@ -32,8 +45,33 @@ import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.content_public.browser.WebContents; import org.chromium.url.GURL; @@ -364,7 +364,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Provides the communication channel for Android to fetch and manipulate the -@@ -588,6 +626,209 @@ public class BookmarkBridge { +@@ -614,6 +652,209 @@ public class BookmarkBridge { mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType()); } @@ -574,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Synchronously gets a list of bookmarks that match the specified search query. * @param query Keyword used for searching bookmarks. -@@ -1100,6 +1341,39 @@ public class BookmarkBridge { +@@ -1132,6 +1373,39 @@ public class BookmarkBridge { depthList.add(depth); } @@ -614,7 +614,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm private static List> createPairsList(int[] left, int[] right) { List> pairList = new ArrayList>(); for (int i = 0; i < left.length; i++) { -@@ -1167,6 +1441,9 @@ public class BookmarkBridge { +@@ -1202,6 +1476,9 @@ public class BookmarkBridge { int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type); void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type, List bookmarksList); @@ -786,7 +786,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 -@@ -1843,6 +1843,13 @@ static_library("browser") { +@@ -1855,6 +1855,13 @@ static_library("browser") { "window_placement/window_placement_permission_context.h", ] @@ -800,7 +800,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -2974,6 +2981,8 @@ static_library("browser") { +@@ -2989,6 +2996,8 @@ static_library("browser") { "autofill/manual_filling_view_interface.h", "banners/android/chrome_app_banner_manager_android.cc", "banners/android/chrome_app_banner_manager_android.h", @@ -809,7 +809,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "browser_process_platform_part_android.cc", "browser_process_platform_part_android.h", "chrome_browser_field_trials_mobile.cc", -@@ -3585,8 +3594,6 @@ static_library("browser") { +@@ -3618,8 +3627,6 @@ static_library("browser") { "badging/badge_manager_factory.h", "banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.h", @@ -821,9 +821,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -7733,6 +7733,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(ui::kLibinputHandleTouchpad)}, - #endif // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -7770,6 +7770,12 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)}, + #endif + {"export-bookmarks-use-saf", + flag_descriptions::kBookmarksExportUseSafName, @@ -961,10 +961,10 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse +}; + + - const int kInvalidId = -1; - class BookmarkTitleComparer { -@@ -156,6 +260,10 @@ BookmarkBridge::~BookmarkBridge() { + public: + explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge, +@@ -154,6 +258,10 @@ BookmarkBridge::~BookmarkBridge() { if (partner_bookmarks_shim_) partner_bookmarks_shim_->RemoveObserver(this); reading_list_manager_->RemoveObserver(this); @@ -975,7 +975,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse } void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef&) { -@@ -547,6 +655,182 @@ jint BookmarkBridge::GetTotalBookmarkCount( +@@ -571,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount( return count; } @@ -1202,7 +1202,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser jboolean IsEditBookmarksEnabled(JNIEnv* env); void LoadEmptyPartnerBookmarkShimForTesting( -@@ -146,6 +157,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -156,6 +167,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, jlong id, jint type); @@ -1218,7 +1218,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser void SetBookmarkTitle(JNIEnv* env, const base::android::JavaParamRef& obj, jlong id, -@@ -347,12 +367,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -359,12 +379,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, void DestroyJavaObject(); Profile* profile_; @@ -1234,7 +1234,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser // Information about the Partner bookmarks (must check for IsLoaded()). // This is owned by profile. -@@ -363,6 +386,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -375,6 +398,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, // Observes the profile destruction and creation. base::ScopedObservation profile_observation_{this}; @@ -1340,7 +1340,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -5474,6 +5474,11 @@ const char kWebKioskEnableLacrosDescription[] = +@@ -5468,6 +5468,11 @@ const char kWebKioskEnableLacrosDescription[] = "Chrome OS. When disabled, the Ash-chrome will be used"; #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -1355,7 +1355,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -3185,6 +3185,9 @@ extern const char kWebKioskEnableLacrosName[]; +@@ -3193,6 +3193,9 @@ extern const char kWebKioskEnableLacrosName[]; extern const char kWebKioskEnableLacrosDescription[]; #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -1368,7 +1368,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -177,6 +177,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kBackgroundThreadPool, &kBentoOffline, &kBookmarkBottomSheet, @@ -1376,7 +1376,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kCastDeviceFilter, &kCloseTabSuggestions, &kCriticalPersistedTabData, -@@ -824,6 +825,10 @@ const base::Feature kWebApkInstallCompleteNotification{ +@@ -829,6 +830,10 @@ const base::Feature kWebApkInstallCompleteNotification{ const base::Feature kWebApkTrampolineOnInitialIntent{ "WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -1401,7 +1401,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -552,6 +552,7 @@ public abstract class ChromeFeatureList { +@@ -560,6 +560,7 @@ public abstract class ChromeFeatureList { "WebApkTrampolineOnInitialIntent"; public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting"; public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString"; @@ -1470,7 +1470,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -121,6 +121,8 @@ public final class ChromePreferenceKeys { +@@ -122,6 +122,8 @@ public final class ChromePreferenceKeys { public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url"; public static final String BOOKMARKS_LAST_USED_PARENT = "enhanced_bookmark_last_used_parent_folder"; @@ -1479,7 +1479,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** * Whether Chrome is set as the default browser. -@@ -1042,6 +1044,7 @@ public final class ChromePreferenceKeys { +@@ -1049,6 +1051,7 @@ public final class ChromePreferenceKeys { AUTOFILL_ASSISTANT_PROACTIVE_HELP, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1518,7 +1518,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 -@@ -414,6 +414,9 @@ static_library("common") { +@@ -415,6 +415,9 @@ static_library("common") { sources += [ "media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.h", @@ -1782,3 +1782,5 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/se protected: ~SelectFileDialogImpl() override; +-- +2.25.1 diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 077c3e0a..504cddcd 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -124,8 +124,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting --- 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 @@ -94,6 +94,9 @@ public class PrivacySettings - private ManagedPreferenceDelegate mManagedPreferenceDelegate; + private IncognitoLockSettings mIncognitoLockSettings; + private ChromeSwitchPreference allowCustomTabIntentsPref; + private ChromeSwitchPreference openExternalLinksPref; @@ -133,8 +133,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { PrivacyPreferencesManagerImpl privacyPrefManager = -@@ -232,6 +235,9 @@ public class PrivacySettings - incognitoReauthPreference.setChecked(lastPrefValue); +@@ -206,6 +209,9 @@ public class PrivacySettings + updatePreferences(); } + public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; @@ -143,10 +143,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); -@@ -266,6 +272,14 @@ public class PrivacySettings - } else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) - .setBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED, (boolean) newValue); +@@ -225,6 +231,14 @@ public class PrivacySettings + } else if (PREF_AUTOFILL_ASSISTANT.equals(key)) { + mSharedPreferencesManager.writeBoolean( + ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue); + } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) { + SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); + sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue); @@ -155,10 +155,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); + sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); + sharedPreferencesEditor.apply(); - } - - return true; -@@ -301,6 +315,16 @@ public class PrivacySettings + } else if (PREF_NETWORK_PREDICTIONS.equals(key)) { + PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled( + (boolean) newValue); +@@ -260,6 +274,16 @@ public class PrivacySettings canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -194,7 +194,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 -@@ -4609,6 +4609,21 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Show original @@ -216,3 +216,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro +-- +2.25.1 diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index b27fd6b8..a3a94586 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -14,7 +14,7 @@ Corrected Exit functionality 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 -@@ -150,6 +150,9 @@ +@@ -147,6 +147,9 @@ android:icon="@drawable/gm_filled_cardboard_24" /> @@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -176,6 +179,9 @@ +@@ -173,6 +176,9 @@ @@ -46,7 +46,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. -@@ -2032,6 +2034,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2346,6 +2347,11 @@ public abstract class ChromeActivity return true; } @@ -97,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -3223,6 +3223,9 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Dark theme @@ -107,3 +107,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Appearance +-- +2.25.1 diff --git a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch index a860c028..0f4e8959 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -15,7 +15,7 @@ and internal chrome:// pages will be used for the autocomplete results. 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 -@@ -459,6 +459,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = { +@@ -474,6 +474,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = { base::size(kReaderModeOfferInSettings), nullptr}}; #endif // OS_ANDROID @@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #if defined(OS_ANDROID) const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = { {"mode", "always-none"}}; -@@ -4913,6 +4929,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5008,6 +5024,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, #endif // !defined(OS_ANDROID) @@ -133,3 +133,5 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur url.append(kChromeUIDefaultHost); FixupPort(trimmed, parts.port, &url); FixupPath(trimmed, parts.path, &url); +-- +2.25.1 diff --git a/build/patches/Add-flag-for-save-data-header.patch b/build/patches/Add-flag-for-save-data-header.patch index d49e28da..a7bb0fcb 100644 --- a/build/patches/Add-flag-for-save-data-header.patch +++ b/build/patches/Add-flag-for-save-data-header.patch @@ -14,7 +14,7 @@ Subject: Add flag for save-data-header 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 -@@ -4652,6 +4652,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4735,6 +4735,9 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if defined(OS_ANDROID) @@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -1111,6 +1111,10 @@ const char kDisableKeepaliveFetchDescription[] = +@@ -1096,6 +1096,10 @@ const char kDisableKeepaliveFetchDescription[] = "Disable fetch with keepalive set " "(https://fetch.spec.whatwg.org/#request-keepalive-flag)."; @@ -41,7 +41,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -605,6 +605,9 @@ extern const char kDiagnosticsAppNavigationDescription[]; +@@ -596,6 +596,9 @@ extern const char kDiagnosticsAppNavigationDescription[]; extern const char kDisableKeepaliveFetchName[]; extern const char kDisableKeepaliveFetchDescription[]; @@ -70,7 +70,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont 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 -@@ -141,6 +141,10 @@ const base::FeatureParam +@@ -134,6 +134,10 @@ const base::FeatureParam "DisabledProviders", ""}; // Disable special treatment on requests with keepalive set (see @@ -84,7 +84,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 -@@ -54,6 +54,8 @@ extern const base::FeatureParam +@@ -52,6 +52,8 @@ extern const base::FeatureParam COMPONENT_EXPORT(NETWORK_CPP) extern const base::Feature kDisableKeepaliveFetch; @@ -93,3 +93,5 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp COMPONENT_EXPORT(NETWORK_CPP) extern const base::Feature kTrustTokens; +-- +2.25.1 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 9f83fe21..dd3c7cff 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 @@ -19,7 +19,7 @@ with limited CPU/memory resources and it is disabled by default. 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 -@@ -849,6 +849,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = { +@@ -862,6 +862,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = { net::kEffectiveConnectionType4G}, }; @@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc // Ensure that all effective connection types returned by Network Quality // Estimator (NQE) are also exposed via flags. static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 == -@@ -3918,6 +3923,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3988,6 +3993,9 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kAndroidPictureInPictureAPIName, flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid, FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)}, @@ -44,9 +44,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -1626,6 +1626,10 @@ const char kMediaHistoryDescription[] = - "Enables Media History which records data around media playbacks on " - "websites."; +@@ -1585,6 +1585,10 @@ const char kLogJsConsoleMessagesDescription[] = + "Enable logging JS console messages in system logs, please note that they " + "may contain PII."; +const char kMaxConnectionsPerHostName[] = "Maximum connections per host"; +const char kMaxConnectionsPerHostDescription[] = @@ -58,9 +58,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 -@@ -933,6 +933,9 @@ extern const char kLogJsConsoleMessagesDescription[]; - extern const char kMediaHistoryName[]; - extern const char kMediaHistoryDescription[]; +@@ -909,6 +909,9 @@ extern const char kLiteVideoForceOverrideDecisionDescription[]; + extern const char kLogJsConsoleMessagesName[]; + extern const char kLogJsConsoleMessagesDescription[]; +extern const char kMaxConnectionsPerHostName[]; +extern const char kMaxConnectionsPerHostDescription[]; @@ -110,7 +110,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 -@@ -73,6 +73,7 @@ executable("make_top_domain_list_variables") { +@@ -89,6 +89,7 @@ executable("make_top_domain_list_variables") { "//base:i18n", "//components/url_formatter/spoof_checks/common_words:common", "//third_party/icu", @@ -152,3 +152,5 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket return g_max_sockets_per_group[pool_type]; } +-- +2.25.1 diff --git a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch index 1d26701e..c4e57b40 100644 --- a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch +++ b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch @@ -13,7 +13,7 @@ Disable it by default on Android as it is everywhere else 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 -@@ -2801,6 +2801,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2830,6 +2830,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebRtcRemoteEventLogName, flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)}, @@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -1196,6 +1196,11 @@ const char kEnablePenetratingImageSelectionDescription[] = +@@ -1185,6 +1185,11 @@ const char kEnablePenetratingImageSelectionDescription[] = "Enables image options to be surfaced in the context menu for nodes " "covered by transparent overlays."; @@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -673,6 +673,9 @@ extern const char kEnablePortalsDescription[]; +@@ -664,6 +664,9 @@ extern const char kEnablePortalsDescription[]; extern const char kEnablePortalsCrossOriginName[]; extern const char kEnablePortalsCrossOriginDescription[]; @@ -55,7 +55,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -282,11 +282,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad", +@@ -283,11 +283,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad", // when in background. const base::Feature kResumeBackgroundVideo { "resume-background-video", @@ -68,3 +68,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc }; // Experimental: Try to avoid destroying the media player when transferring a +-- +2.25.1 diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index c0b6747d..421d4934 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes 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 -@@ -4892,6 +4892,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4987,6 +4987,11 @@ const FeatureEntry kFeatureEntries[] = { #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || // defined(OS_CHROMEOS) @@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -3124,6 +3124,10 @@ const char kContextualSearchRankerQueryDescription[] = +@@ -3083,6 +3083,10 @@ const char kContextualSearchRankerQueryDescription[] = const char kContextualSearchSecondTapName[] = "Contextual Search second tap triggering"; @@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -736,6 +736,9 @@ extern const char kEnableWasmLazyCompilationName[]; +@@ -727,6 +727,9 @@ extern const char kEnableWasmLazyCompilationName[]; extern const char kEnableWasmLazyCompilationDescription[]; extern const char kEnableWasmTieringName[]; @@ -88,7 +88,7 @@ diff --git a/components/subresource_filter/tools/BUILD.gn b/components/subresour 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 -@@ -73,7 +73,8 @@ executable("make_top_domain_list_variables") { +@@ -89,7 +89,8 @@ executable("make_top_domain_list_variables") { "//base:i18n", "//components/url_formatter/spoof_checks/common_words:common", "//third_party/icu", @@ -109,7 +109,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/socket/datagram_client_socket.h" -@@ -3695,8 +3696,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) { +@@ -3697,8 +3698,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) { if (last_ipv6_probe_time_.is_null() || (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() > kIPv6ProbePeriodMs) { @@ -151,3 +151,5 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp extern const base::Feature kReporting; COMPONENT_EXPORT(NETWORK_CPP) extern const base::Feature kThrottleDelayable; +-- +2.25.1 diff --git a/build/patches/Add-flag-to-disable-WebGL.patch b/build/patches/Add-flag-to-disable-WebGL.patch index 81283ca6..942a42eb 100644 --- a/build/patches/Add-flag-to-disable-WebGL.patch +++ b/build/patches/Add-flag-to-disable-WebGL.patch @@ -11,7 +11,7 @@ Subject: Add flag to disable WebGL 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 -@@ -2736,6 +2736,9 @@ const FeatureEntry::FeatureVariation kWin11StyleMenusVariations[] = { +@@ -2771,6 +2771,9 @@ const FeatureEntry::FeatureVariation kWin11StyleMenusVariations[] = { // When adding a new choice, add it to the end of the list. const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and @@ -24,10 +24,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -690,6 +690,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement"; - const char kEnableAudioFocusEnforcementDescription[] = - "Enables enforcement of a single media session having audio focus at " - "any one time. Requires #enable-media-session-service to be enabled too."; +@@ -678,6 +678,10 @@ const char kDocumentTransitionSlowdownFactorName[] = + const char kDocumentTransitionSlowdownFactorDescription[] = + "Slows down animations triggered by documentTransition JavaScript API for " + "debugging."; +const char kDisableWebGLName[] = "WebGL"; + +const char kDisableWebGLDescription[] = "Enable or disable all versions of WebGL"; @@ -38,7 +38,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -380,6 +380,9 @@ extern const char kForceColorProfileSRGB[]; +@@ -377,6 +377,9 @@ extern const char kForceColorProfileSRGB[]; extern const char kForceColorProfileP3[]; extern const char kForceColorProfileColorSpin[]; extern const char kForceColorProfileSCRGBLinear[]; @@ -48,3 +48,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio extern const char kForceColorProfileHDR10[]; extern const char kForceColorProfileName[]; +-- +2.25.1 diff --git a/build/patches/Add-flag-to-disable-external-intent-requests.patch b/build/patches/Add-flag-to-disable-external-intent-requests.patch index 4c39601b..82f6de20 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -11,7 +11,7 @@ Subject: Add flag to disable external intent requests 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 -@@ -2790,6 +2790,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2825,6 +2825,9 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebrtcCaptureMultiChannelApmName, flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)}, @@ -24,7 +24,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -3378,6 +3378,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support"; +@@ -3349,6 +3349,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support"; const char kPhotoPickerVideoSupportDescription[] = "Enables video files to be shown in the Photo Picker dialog"; @@ -40,7 +40,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -1948,6 +1948,9 @@ extern const char kQueryTilesNTPDescription[]; +@@ -1939,6 +1939,9 @@ extern const char kQueryTilesNTPDescription[]; extern const char kQueryTilesOmniboxName[]; extern const char kQueryTilesOmniboxDescription[]; extern const char kQueryTilesSingleTierName[]; @@ -50,3 +50,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio extern const char kQueryTilesSingleTierDescription[]; extern const char kQueryTilesEnableQueryEditingName[]; extern const char kQueryTilesEnableQueryEditingDescription[]; +-- +2.25.1 diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 8a46a81d..ada71b3b 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -18,7 +18,7 @@ Subject: Add flag to disable vibration 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 -@@ -6354,6 +6354,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6361,6 +6361,10 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)}, #endif @@ -32,7 +32,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -5283,6 +5283,9 @@ const char kDefaultCalculatorWebAppDescription[] = +@@ -5267,6 +5267,9 @@ const char kDefaultCalculatorWebAppDescription[] = "chrome app."; #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) @@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -3054,6 +3054,9 @@ extern const char kDefaultCalculatorWebAppName[]; +@@ -3053,6 +3053,9 @@ extern const char kDefaultCalculatorWebAppName[]; extern const char kDefaultCalculatorWebAppDescription[]; #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) @@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -102,6 +102,7 @@ void SetRuntimeFeatureDefaultsForPlatform( +@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform( #if defined(OS_ANDROID) if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) WebRuntimeFeatures::EnableMediaSession(false); @@ -69,7 +69,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -102,7 +102,11 @@ const base::Feature kBackForwardCacheMemoryControls { +@@ -113,7 +113,11 @@ const base::Feature kBackForwardCacheMemoryControls { #endif }; @@ -84,8 +84,8 @@ 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 -@@ -274,6 +274,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess; - CONTENT_EXPORT extern const base::Feature kWebNfc; +@@ -289,6 +289,8 @@ extern const char kBigLittleSchedulingGpuMainBigParam[]; + #endif // defined(OS_ANDROID) +CONTENT_EXPORT extern const base::Feature kVibration; @@ -141,7 +141,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 -@@ -1577,6 +1577,10 @@ +@@ -1595,6 +1595,10 @@ name: "OrientationEvent", status: {"Android": "stable"}, }, @@ -152,3 +152,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "OriginIsolationHeader", status: "stable", +-- +2.25.1 diff --git a/build/patches/Add-history-support-in-incognito-mode.patch b/build/patches/Add-history-support-in-incognito-mode.patch index f6b7430a..e8c78ee0 100644 --- a/build/patches/Add-history-support-in-incognito-mode.patch +++ b/build/patches/Add-history-support-in-incognito-mode.patch @@ -19,7 +19,7 @@ See also: https://github.com/bromite/bromite/pull/1427 .../browser/history/HistoryManager.java | 17 +- .../chrome/browser/history/HistoryPage.java | 15 + .../chrome/browser/ntp/RecentTabsManager.java | 8 +- - .../privacy/settings/PrivacySettings.java | 18 + + .../privacy/settings/PrivacySettings.java | 17 + .../browser/tab/HistoricalTabSaver.java | 12 +- .../browser/tabmodel/TabPersistentStore.java | 5 +- .../history/Bromite_HistoryManagerTest.java | 112 ++++++ @@ -46,7 +46,7 @@ See also: https://github.com/bromite/bromite/pull/1427 chrome/common/pref_names.cc | 5 + chrome/common/pref_names.h | 4 + chrome/test/BUILD.gn | 5 + - 36 files changed, 1045 insertions(+), 38 deletions(-) + 36 files changed, 1044 insertions(+), 38 deletions(-) create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/history/Bromite_HistoryManagerTest.java create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/privacy/settings/Bromite_PrivacySettingsFragmentTest_HistoryInAlwaysIncognito.java create mode 100644 chrome/android/junit/src/org/chromium/chrome/browser/app/appmenu/Bromite_AppMenuPropertiesDelegateUnitTest.java @@ -56,7 +56,7 @@ See also: https://github.com/bromite/bromite/pull/1427 diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/chrome_junit_test_java_sources.gni --- a/chrome/android/chrome_junit_test_java_sources.gni +++ b/chrome/android/chrome_junit_test_java_sources.gni -@@ -226,3 +226,7 @@ chrome_junit_test_java_sources = [ +@@ -228,3 +228,7 @@ chrome_junit_test_java_sources = [ "junit/src/org/chromium/chrome/browser/webapps/WebappLauncherActivityTest.java", "junit/src/org/chromium/chrome/browser/webapps/WebappRegistryTest.java", ] @@ -68,7 +68,7 @@ diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/ diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni --- a/chrome/android/chrome_test_java_sources.gni +++ b/chrome/android/chrome_test_java_sources.gni -@@ -653,3 +653,9 @@ chrome_test_java_sources = [ +@@ -660,3 +660,9 @@ chrome_test_java_sources = [ if (enable_feed_v2) { chrome_test_java_sources += [ "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageColorWithFeedV2Test.java" ] } @@ -96,7 +96,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/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 -@@ -92,6 +92,10 @@ import java.util.ArrayList; +@@ -94,6 +94,10 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -108,7 +108,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. @@ -153,6 +157,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate - protected BookmarkBridge mBookmarkBridge; + private @StartSurfaceState int mStartSurfaceState; protected Runnable mAppMenuInvalidator; + private PrefService sPrefServiceForTest; @@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App /** * Construct a new {@link AppMenuPropertiesDelegateImpl}. * @param context The activity context. -@@ -539,7 +550,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -516,7 +527,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) { @@ -131,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App final MenuItem newTabOption = menu.findItem(R.id.new_tab_menu_id); if (newTabOption != null) newTabOption.setVisible(false); -@@ -601,7 +613,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -578,7 +590,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } if (item.getItemId() == R.id.recent_tabs_menu_id) { @@ -148,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App } if (item.getItemId() == R.id.menu_group_tabs) { item.setVisible(isMenuGroupTabsVisible); -@@ -811,7 +831,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -804,7 +824,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate // is not persisted when adding to the homescreen. // * If creating shortcuts it not supported by the current home screen. return WebappsUtils.isAddToHomeIntentSupported() && !isChromeScheme && !isFileScheme @@ -163,7 +163,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 -@@ -170,6 +170,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -168,6 +168,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat downloadItemVisible = false; openInChromeItemVisible = false; } @@ -277,7 +277,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/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java -@@ -87,15 +87,15 @@ public class RecentTabsManager implements SignInStateObserver, +@@ -76,15 +76,15 @@ public class RecentTabsManager implements SignInStateObserver, */ public RecentTabsManager( Tab tab, Profile profile, Context context, Runnable showHistoryManager) { @@ -308,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.chrome.R; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; -@@ -149,6 +150,11 @@ public class PrivacySettings +@@ -152,6 +153,11 @@ public class PrivacySettings Preference secureDnsPref = findPreference(PREF_SECURE_DNS); secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled()); @@ -320,26 +320,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting updatePreferences(); } -@@ -203,11 +209,16 @@ public class PrivacySettings - } else if (PREF_INCOGNITO_LOCK.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) - .setBoolean(Pref.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, (boolean) newValue); +@@ -171,6 +177,9 @@ public class PrivacySettings + } else if (PREF_ALWAYS_INCOGNITO.equals(key)) { + if (!mSnackbarManager.isShowing()) + mSnackbarManager.showSnackbar(mSnackbar); + } else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) { + UserPrefs.get(Profile.getLastUsedRegularProfile()) + .setBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED, (boolean) newValue); - } - + } else if (PREF_HTTPS_FIRST_MODE.equals(key)) { + UserPrefs.get(Profile.getLastUsedRegularProfile()) + .setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue); +@@ -178,6 +187,7 @@ public class PrivacySettings return true; } + public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled"; -+ @Override public void onResume() { super.onResume(); -@@ -249,6 +260,13 @@ public class PrivacySettings - closeTabsOnExitPref.setOnPreferenceChangeListener(this); - closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); +@@ -219,6 +229,13 @@ public class PrivacySettings + PrivacySandboxSettingsFragment.getStatusString(getContext())); + } + ChromeSwitchPreference historyInIncognitoPref = + (ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED); @@ -348,7 +349,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED)); + } + - updateIncognitoReauthPreference(); + mIncognitoLockSettings.updateIncognitoReauthPreferenceIfNeeded(getActivity()); } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java @@ -1277,7 +1278,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo #else #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -@@ -352,6 +355,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { +@@ -357,6 +360,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { history::HistoryService* HistoryTabHelper::GetHistoryService() { Profile* profile = Profile::FromBrowserContext(web_contents()->GetBrowserContext()); @@ -1291,7 +1292,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo if (profile->IsOffTheRecord()) return NULL; -@@ -359,6 +369,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { +@@ -364,6 +374,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { profile, ServiceAccessType::IMPLICIT_ACCESS); } @@ -1328,7 +1329,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor private: explicit HistoryTabHelper(content::WebContents* web_contents); friend class content::WebContentsUserData; -@@ -68,9 +75,6 @@ class HistoryTabHelper : public content::WebContentsObserver, +@@ -70,9 +77,6 @@ class HistoryTabHelper : public content::WebContentsObserver, bool started_from_context_menu, bool renderer_initiated) override; @@ -1571,7 +1572,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 -@@ -216,6 +216,8 @@ +@@ -214,6 +214,8 @@ #endif #if defined(OS_ANDROID) @@ -1580,18 +1581,18 @@ 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/explore_sites/history_statistics_reporter.h" #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h" -@@ -1259,6 +1261,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1276,6 +1278,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, variations::VariationsService::RegisterProfilePrefs(registry); video_tutorials::RegisterPrefs(registry); feed::prefs::RegisterFeedSharedProfilePrefs(registry); + HistoryTabHelper::RegisterProfilePrefs(registry); feed::RegisterProfilePrefs(registry); - #else // defined(OS_ANDROID) + #else // defined(OS_ANDROID) AppShortcutManager::RegisterProfilePrefs(registry); diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn --- a/chrome/browser/ui/android/native_page/BUILD.gn +++ b/chrome/browser/ui/android/native_page/BUILD.gn -@@ -31,8 +31,10 @@ java_library("junit") { +@@ -32,8 +32,10 @@ java_library("junit") { deps = [ ":java", @@ -1669,7 +1670,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 -@@ -955,6 +955,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -961,6 +961,12 @@ Your Google account may have other forms of browsing history like searches and a Your changes will take effect the next time you relaunch Bromite. @@ -1685,7 +1686,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc -@@ -3276,6 +3276,11 @@ const char kShowCaretBrowsingDialog[] = +@@ -3298,6 +3298,11 @@ const char kShowCaretBrowsingDialog[] = const char kLacrosLaunchSwitch[] = "lacros_launch_switch"; #endif @@ -1700,9 +1701,9 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc 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 -@@ -1201,6 +1201,10 @@ extern const char kLastWhatsNewVersion[]; - extern const char kLensRegionSearchEnabled[]; - #endif +@@ -1206,6 +1206,10 @@ extern const char kPrivacyReviewShowWelcomeCard[]; + + extern const char kCorsNonWildcardRequestHeadersSupport[]; +#if defined(OS_ANDROID) +extern const char kIncognitoTabHistoryEnabled[]; @@ -1714,7 +1715,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -4818,6 +4818,11 @@ test("unit_tests") { +@@ -4872,6 +4872,11 @@ test("unit_tests") { ] } @@ -1726,3 +1727,5 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn if (is_android) { sources += [ "../browser/android/bookmarks/partner_bookmarks_shim_unittest.cc", +-- +2.25.1 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 fbb0dae8..8024bcc0 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -40,7 +40,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -173,6 +177,9 @@ +@@ -170,6 +174,9 @@ @@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.compositor.CompositorViewHolder; -@@ -2044,6 +2046,8 @@ public class ChromeTabbedActivity extends ChromeActivity folderList, List depthList); BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller); @@ -208,7 +208,7 @@ 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/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java -@@ -595,6 +595,7 @@ public class BookmarkUtils { +@@ -633,6 +633,7 @@ public class BookmarkUtils { List topLevelFolders = new ArrayList<>(); BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId(); BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId(); @@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm BookmarkId othersNodeId = bookmarkModel.getOtherFolderId(); List specialFoldersIds = -@@ -620,6 +621,9 @@ public class BookmarkUtils { +@@ -658,6 +659,9 @@ public class BookmarkUtils { if (bookmarkModel.isFolderVisible(mobileNodeId)) { topLevelFolders.add(mobileNodeId); } @@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc --- a/chrome/browser/android/bookmarks/bookmark_bridge.cc +++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc -@@ -428,6 +428,11 @@ void BookmarkBridge::GetTopLevelFolderIDs( +@@ -429,6 +429,11 @@ void BookmarkBridge::GetTopLevelFolderIDs( top_level_folders.push_back(node.get()); } @@ -241,7 +241,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) { if (node->is_folder()) top_level_folders.push_back(node.get()); -@@ -466,6 +471,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( +@@ -477,6 +482,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( // Vector to temporarily contain all child bookmarks at same level for sorting std::vector bookmarks = { bookmark_model_->mobile_node(), @@ -249,7 +249,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse bookmark_model_->bookmark_bar_node(), bookmark_model_->other_node(), }; -@@ -520,6 +526,17 @@ ScopedJavaLocalRef BookmarkBridge::GetMobileFolderId( +@@ -531,6 +537,17 @@ ScopedJavaLocalRef BookmarkBridge::GetMobileFolderId( return folder_id_obj; } @@ -270,7 +270,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h --- a/chrome/browser/android/bookmarks/bookmark_bridge.h +++ b/chrome/browser/android/bookmarks/bookmark_bridge.h -@@ -114,6 +114,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -118,6 +118,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, JNIEnv* env, const base::android::JavaParamRef& obj); @@ -349,7 +349,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -3306,6 +3306,9 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Track prices @@ -695,3 +695,5 @@ diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/compo DCHECK(node->is_folder()); return sync_pb::BookmarkSpecifics::FOLDER; } +-- +2.25.1 diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index a1135275..8f5b2044 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -28,7 +28,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 -@@ -103,6 +103,9 @@ +@@ -100,6 +100,9 @@ @@ -41,7 +41,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 -@@ -2067,6 +2067,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2488,6 +2488,11 @@ public abstract class ChromeActivity return true; } @@ -68,7 +68,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 -@@ -511,6 +511,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -493,6 +493,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate isChromeScheme, isFileScheme, isContentScheme, isIncognito, url)); updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme); @@ -76,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App updateAutoDarkMenuItem(menu, currentTab, isChromeScheme); -@@ -1027,6 +1028,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate - } +@@ -1074,6 +1075,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate + readingListMenuItemEdit.setVisible(readingListItemExists); } + /** @@ -99,7 +99,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 -@@ -217,6 +217,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -212,6 +212,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat updateRequestDesktopSiteMenuItem( menu, currentTab, requestDesktopSiteVisible, isChromeScheme); @@ -121,3 +121,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Unsupported +-- +2.25.1 diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index a0dac613..6a1c4fe8 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s 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 -@@ -516,6 +516,7 @@ public final class ChromePreferenceKeys { +@@ -510,6 +510,7 @@ public final class ChromePreferenceKeys { public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom"; public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info"; @@ -89,7 +89,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro 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 -@@ -355,7 +355,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse +@@ -352,7 +352,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse // OmniboxSuggestionsDropdownEmbedder implementation @Override public boolean isTablet() { @@ -101,7 +101,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 -@@ -1228,6 +1228,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1261,6 +1261,12 @@ Your Google account may have other forms of browsing history like searches and a Turn off @@ -143,7 +143,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -555,7 +555,7 @@ test("components_unittests") { +@@ -561,7 +561,7 @@ test("components_unittests") { # On LaCrOS, tests use ash - chrome as a window manager, thus the dependency. # On other platforms, no components should depend on Chrome. @@ -152,7 +152,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn assert_no_deps = [ "//chrome/*" ] } -@@ -804,7 +804,7 @@ if (!is_ios) { +@@ -817,7 +817,7 @@ if (!is_ios) { # On LaCrOS, tests use ash - chrome as a window manager, thus the dependency. # On other platforms, no components should depend on Chrome. @@ -164,7 +164,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn --- a/ui/android/BUILD.gn +++ b/ui/android/BUILD.gn -@@ -359,6 +359,8 @@ android_library("ui_no_recycler_view_java") { +@@ -358,6 +358,8 @@ android_library("ui_no_recycler_view_java") { ":ui_java_resources", ":ui_utils_java", "//base:base_java", @@ -195,3 +195,5 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET; } +-- +2.25.1 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 ed8bfc2f..b48fa0c0 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 @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -1185,8 +1185,10 @@ public class ChromeTabbedActivity extends ChromeActivity<resetlink>reset sync

<resetlink>reset sync

IMAGE @@ -109,3 +109,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro LINK +-- +2.25.1 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 256fa6d2..f3e1438d 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 @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -524,6 +524,7 @@ public final class ChromePreferenceKeys { +@@ -518,6 +518,7 @@ public final class ChromePreferenceKeys { public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI = "Chrome.Homepage.PartnerCustomizedDefaultUri"; @@ -154,7 +154,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 -@@ -1004,6 +1004,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1010,6 +1010,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -193,7 +193,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc 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 -@@ -356,6 +356,7 @@ extern const char kExternalStorageReadOnly[]; +@@ -362,6 +362,7 @@ extern const char kExternalStorageReadOnly[]; extern const char kSettingsShowOSBanner[]; #endif // defined(OS_CHROMEOS) extern const char kShowHomeButton[]; @@ -201,3 +201,5 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h extern const char kSpeechRecognitionFilterProfanities[]; extern const char kAllowDeletingBrowserHistory[]; extern const char kForceGoogleSafeSearch[]; +-- +2.25.1 diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 072154bf..1ff5a881 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -47,3 +47,5 @@ diff --git a/components/browser_ui/settings/android/java/src/org/chromium/compon + void onHelpAndFeebackPressed(); + } } +-- +2.25.1 diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 7dd02bce..83c9485c 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -6,7 +6,7 @@ Subject: Allow building without enable_reporting content/browser/BUILD.gn | 8 ++++---- .../devtools/protocol/network_handler.cc | 2 ++ .../devtools/protocol/network_handler.h | 2 ++ - .../cross_origin_embedder_policy_reporter.cc | 2 ++ + .../cross_origin_embedder_policy_reporter.cc | 3 ++- .../net/cross_origin_opener_policy_reporter.cc | 16 +++++++--------- .../renderer_host/render_frame_host_impl.cc | 2 ++ .../web_package/signed_exchange_reporter.cc | 2 ++ @@ -20,12 +20,12 @@ Subject: Allow building without enable_reporting .../blink/renderer/core/frame/local_frame.h | 6 +++--- .../renderer/core/frame/reporting_context.cc | 9 +++++++++ .../renderer/core/frame/reporting_context.h | 7 +++++-- - 17 files changed, 56 insertions(+), 46 deletions(-) + 17 files changed, 56 insertions(+), 47 deletions(-) diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -1275,6 +1275,10 @@ source_set("browser") { +@@ -1219,6 +1219,10 @@ source_set("browser") { "net/browser_online_state_observer.cc", "net/browser_online_state_observer.h", "net/cookie_store_factory.cc", @@ -36,7 +36,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn "net/network_errors_listing_ui.cc", "net/network_errors_listing_ui.h", "net/network_quality_observer_impl.cc", -@@ -3035,10 +3039,6 @@ source_set("browser") { +@@ -2984,10 +2988,6 @@ source_set("browser") { if (enable_reporting) { sources += [ @@ -91,10 +91,11 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont base::DictionaryValue body_to_pass; for (const auto& pair : body) { body_to_pass.SetString(pair.first, pair.second); -@@ -122,6 +123,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( - kType, *endpoint, context_url_, reporting_source_, - network_isolation_key_, - /*user_agent=*/absl::nullopt, std::move(body_to_pass)); +@@ -123,7 +124,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( + kType, *endpoint, context_url_, reporting_source_, + network_isolation_key_, + /*user_agent=*/absl::nullopt, std::move(body_to_pass)); +- } +#endif } } @@ -179,7 +180,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten 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 -@@ -10649,6 +10649,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed( +@@ -10855,6 +10855,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed( void RenderFrameHostImpl::MaybeGenerateCrashReport( base::TerminationStatus status, int exit_code) { @@ -187,7 +188,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b if (!last_committed_url_.SchemeIsHTTPOrHTTPS()) return; -@@ -10698,6 +10699,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -10904,6 +10905,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( /*type=*/"crash", /*group=*/"default", last_committed_url_, GetReportingSource(), isolation_info_.network_isolation_key(), absl::nullopt /* user_agent */, std::move(body)); @@ -225,7 +226,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" #include "third_party/blink/public/common/features.h" -@@ -40,9 +41,11 @@ GetSwitchDependentFeatureOverrides(const base::CommandLine& command_line) { +@@ -36,9 +37,11 @@ GetSwitchDependentFeatureOverrides(const base::CommandLine& command_line) { {switches::kEnableExperimentalWebPlatformFeatures, std::cref(features::kDocumentPolicyNegotiation), base::FeatureList::OVERRIDE_ENABLE_FEATURE}, @@ -240,7 +241,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.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 -@@ -206,6 +206,12 @@ class ReportingServiceImpl : public ReportingService { +@@ -207,6 +207,12 @@ class ReportingServiceImpl : public ReportingService { std::unique_ptr body, int depth, base::TimeTicks queued_ticks) { @@ -256,7 +257,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic 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 -@@ -1121,25 +1121,9 @@ void NetworkContext::SetDocumentReportingEndpoints( +@@ -1126,25 +1126,9 @@ void NetworkContext::SetDocumentReportingEndpoints( void NetworkContext::SendReportsAndRemoveSource( const base::UnguessableToken& reporting_source) { @@ -286,7 +287,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 -@@ -418,17 +418,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -420,17 +420,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const base::flat_map& endpoints) override; void SendReportsAndRemoveSource( const base::UnguessableToken& reporting_source) override; @@ -307,7 +308,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 -@@ -916,6 +916,9 @@ mojom("mojom") { +@@ -941,6 +941,9 @@ mojom("mojom") { export_class_attribute_blink = "BLINK_PLATFORM_EXPORT" export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/public/platform/web_common.h" @@ -320,7 +321,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 -@@ -986,6 +986,7 @@ interface NetworkContext { +@@ -990,6 +990,7 @@ interface NetworkContext { // provided |network_isolation_key|. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -328,7 +329,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -999,6 +1000,7 @@ interface NetworkContext { +@@ -1003,6 +1004,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|. @@ -347,7 +348,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h" #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" -@@ -2302,9 +2303,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const { +@@ -2323,9 +2324,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const { return base::UnguessableToken::Null(); } @@ -373,7 +374,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h" #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h" #include "third_party/blink/public/common/frame/frame_ad_evidence.h" -@@ -545,9 +545,9 @@ class CORE_EXPORT LocalFrame final : public Frame, +@@ -547,9 +547,9 @@ class CORE_EXPORT LocalFrame final : public Frame, } SmoothScrollSequencer& GetSmoothScrollSequencer(); @@ -483,3 +484,5 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p HeapMojoReceiver receiver_; }; +-- +2.25.1 diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index c32f1f0d..158ba208 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -49,3 +49,5 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc return false; if (using_media_player_renderer_ && +-- +2.25.1 diff --git a/build/patches/Allow-website-sign-in-without-account-sign-in.patch b/build/patches/Allow-website-sign-in-without-account-sign-in.patch index af2c1e79..efafdc73 100644 --- a/build/patches/Allow-website-sign-in-without-account-sign-in.patch +++ b/build/patches/Allow-website-sign-in-without-account-sign-in.patch @@ -19,3 +19,5 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/ } // static +-- +2.25.1 diff --git a/build/patches/Always-allow-partner-customisation.patch b/build/patches/Always-allow-partner-customisation.patch index 679d94c0..7783a26e 100644 --- a/build/patches/Always-allow-partner-customisation.patch +++ b/build/patches/Always-allow-partner-customisation.patch @@ -32,3 +32,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz if (isCancelled()) return null; Provider provider = AppHooks.get().getCustomizationProvider(); +-- +2.25.1 diff --git a/build/patches/Always-use-new-tab-page-for-default-home-page.patch b/build/patches/Always-use-new-tab-page-for-default-home-page.patch index 3c50f946..d52e849d 100644 --- a/build/patches/Always-use-new-tab-page-for-default-home-page.patch +++ b/build/patches/Always-use-new-tab-page-for-default-home-page.patch @@ -20,3 +20,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString( ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, ""); +-- +2.25.1 diff --git a/build/patches/Ask-user-before-closing-all-tabs.patch b/build/patches/Ask-user-before-closing-all-tabs.patch index 575e7cc6..05fe5d7b 100644 --- a/build/patches/Ask-user-before-closing-all-tabs.patch +++ b/build/patches/Ask-user-before-closing-all-tabs.patch @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.base.CallbackController; import org.chromium.base.CommandLine; -@@ -2044,8 +2045,23 @@ public class ChromeTabbedActivity extends ChromeActivity<resetlink>reset sync

<resetlink>reset sync

Close all tabs @@ -57,3 +57,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Close Incognito tabs +-- +2.25.1 diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index d703371b..ae0ed455 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -57,3 +57,5 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir } MediaElementAudioSourceNode* AudioContext::createMediaElementSource( +-- +2.25.1 diff --git a/build/patches/Automated-domain-substitution.patch b/build/patches/Automated-domain-substitution.patch index 36592847..47aee2a1 100644 --- a/build/patches/Automated-domain-substitution.patch +++ b/build/patches/Automated-domain-substitution.patch @@ -5774,7 +5774,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti const char kDisableProcessReuse[] = "Disable subframe process reuse"; const char kDisableProcessReuseDescription[] = -@@ -2163,7 +2163,7 @@ const char kReduceUserAgentName[] = "Reduce User-Agent request header"; +@@ -2167,7 +2167,7 @@ const char kReduceUserAgentName[] = "Reduce User-Agent request header"; const char kReduceUserAgentDescription[] = "Reduce (formerly, \"freeze\") the amount of information available in " "the User-Agent request header. " @@ -5783,7 +5783,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti const char kRestrictGamepadAccessName[] = "Restrict gamepad access"; const char kRestrictGamepadAccessDescription[] = -@@ -2180,7 +2180,7 @@ const char kIntensiveWakeUpThrottlingName[] = +@@ -2184,7 +2184,7 @@ const char kIntensiveWakeUpThrottlingName[] = const char kIntensiveWakeUpThrottlingDescription[] = "When enabled, wake ups from DOM Timers are limited to 1 per minute in a " "page that has been hidden for 5 minutes. For additional details, see " @@ -8512,7 +8512,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro CHAR_LIMIT guidelines: Certain strings need character limits to prevent a long translation from breaking the UI. -@@ -928,7 +928,7 @@ Privacy Sandbox trials are still in active development and are available in sele +@@ -940,7 +940,7 @@ Privacy Sandbox trials are still in active development and are available in sele Choose another provider @@ -8521,7 +8521,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro This setting is disabled on managed browsers -@@ -965,7 +965,7 @@ Privacy Sandbox trials are still in active development and are available in sele +@@ -977,7 +977,7 @@ Privacy Sandbox trials are still in active development and are available in sele The selected data has been removed from Chrome and your synced devices. @@ -8530,7 +8530,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Cached images and files -@@ -1008,10 +1008,10 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1020,10 +1020,10 @@ Your Google account may have other forms of browsing history like searches and a Record history even in incognito mode @@ -8543,7 +8543,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro <link1>Search history</link1> and <link2>other forms of activity</link2> may be saved in your Google Account when you’re signed in. You can delete them anytime. -@@ -1083,7 +1083,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1095,7 +1095,7 @@ Your Google account may have other forms of browsing history like searches and a Basic @@ -8552,7 +8552,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Blocked site -@@ -1531,7 +1531,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1543,7 +1543,7 @@ Your Google account may have other forms of browsing history like searches and a In Lite mode, Chrome loads pages faster and uses up to 60 percent less data. To optimize the pages that you visit, Chrome sends your web traffic to Google. <link>Learn more</link> @@ -8561,7 +8561,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Turn on Lite mode -@@ -1754,10 +1754,10 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1766,10 +1766,10 @@ Your Google account may have other forms of browsing history like searches and a Waiting for details of parents. @@ -8574,7 +8574,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Content -@@ -1816,22 +1816,22 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1828,22 +1828,22 @@ Your Google account may have other forms of browsing history like searches and a Google Terms of Service @@ -8601,7 +8601,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -1848,7 +1848,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1860,7 +1860,7 @@ Your Google account may have other forms of browsing history like searches and a Also clear your Chrome data from this device @@ -8610,7 +8610,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Contacting Google. This may take a minute… -@@ -1953,7 +1953,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1965,7 +1965,7 @@ Your Google account may have other forms of browsing history like searches and a Your data was encrypted with your <learnmore>sync passphrase</learnmore> on %1$sSept 1, 2012. Enter it to start sync. @@ -8619,7 +8619,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro This field cannot be blank -@@ -2786,10 +2786,10 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Use without an account @@ -8632,7 +8632,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro By continuing, you agree to the <TOS_LINK>Terms of Service</TOS_LINK> and <PRIVACY_LINK>Privacy\u00A0Policy</PRIVACY_LINK>.\nTo help improve the app, Chrome sends usage and crash data to Google. <UMA_LINK>Manage</UMA_LINK> -@@ -4055,7 +4055,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -8641,7 +8641,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro No compatible devices found -@@ -4089,7 +4089,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -8650,7 +8650,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro %1$sYouTube also has data in Chrome -@@ -4446,7 +4446,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

%1$sTanya's Pixel 2... @@ -8659,7 +8659,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro List of devices to share a tab with. -@@ -4485,7 +4485,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

%1$sphone @@ -8668,7 +8668,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro You can send tabs between devices that are signed in with the same Google Account -@@ -5361,7 +5361,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -8677,7 +8677,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Your browser is not managed -@@ -5370,7 +5370,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -9258,7 +9258,7 @@ diff --git a/chrome/browser/ui/webui/chromeos/parent_access/parent_access_ui.cc diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc -@@ -396,7 +396,7 @@ std::unique_ptr CreateCaptivePortalBlockingPage( +@@ -400,7 +400,7 @@ std::unique_ptr CreateCaptivePortalBlockingPage( content::WebContents* web_contents) { bool is_wifi_connection = false; GURL landing_url("https://captive.portal/login"); @@ -42245,3 +42245,5 @@ diff --git a/weblayer/shell/app/shell_main_params.cc b/weblayer/shell/app/shell_ #if defined(OS_WIN) GURL url(base::WideToUTF16(args[0])); +-- +2.25.1 diff --git a/build/patches/Battery-API-return-nothing.patch b/build/patches/Battery-API-return-nothing.patch index c949ab71..01c2d257 100644 --- a/build/patches/Battery-API-return-nothing.patch +++ b/build/patches/Battery-API-return-nothing.patch @@ -8,7 +8,6 @@ Include @thestinger's fix for correct charging/unknown values 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc -index 840da4b66f62..7879bdb4e0c1 100644 --- a/third_party/blink/renderer/modules/battery/battery_manager.cc +++ b/third_party/blink/renderer/modules/battery/battery_manager.cc @@ -70,46 +70,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) { @@ -62,6 +61,5 @@ index 840da4b66f62..7879bdb4e0c1 100644 } void BatteryManager::RegisterWithDispatcher() { --- -2.30.2 - +-- +2.25.1 diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index c2b7b27e..21ecd096 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -206,3 +206,5 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/ // The following methods are public for testing. // Returns true if |protocol| is a valid WebSocket subprotocol name. +-- +2.25.1 diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch index adc428ad..6399445f 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -104,7 +104,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 -@@ -861,6 +861,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() +@@ -853,6 +853,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() #endif // BUILDFLAG(ENABLE_WEBSOCKETS) RegisterWebSafeScheme(url::kFtpScheme); RegisterWebSafeScheme(url::kDataScheme); @@ -115,7 +115,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 -@@ -1039,6 +1039,8 @@ component("net") { +@@ -1041,6 +1041,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", @@ -209,7 +209,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc using base::Time; using std::string; -@@ -595,6 +597,12 @@ URLRequest::URLRequest(const GURL& url, +@@ -594,6 +596,12 @@ URLRequest::URLRequest(const GURL& url, // Sanity check out environment. DCHECK(base::ThreadTaskRunnerHandle::IsSet()); @@ -250,9 +250,9 @@ diff --git a/url/url_constants.cc b/url/url_constants.cc const char kTelScheme[] = "tel"; const char kUrnScheme[] = "urn"; +const char kTraceScheme[] = "trk"; + const char kUuidInPackageScheme[] = "uuid-in-package"; const char kWsScheme[] = "ws"; const char kWssScheme[] = "wss"; - diff --git a/url/url_constants.h b/url/url_constants.h --- a/url/url_constants.h +++ b/url/url_constants.h @@ -261,9 +261,9 @@ diff --git a/url/url_constants.h b/url/url_constants.h COMPONENT_EXPORT(URL) extern const char kTelScheme[]; COMPONENT_EXPORT(URL) extern const char kUrnScheme[]; +COMPONENT_EXPORT(URL) extern const char kTraceScheme[]; + COMPONENT_EXPORT(URL) extern const char kUuidInPackageScheme[]; COMPONENT_EXPORT(URL) extern const char kWsScheme[]; COMPONENT_EXPORT(URL) extern const char kWssScheme[]; - diff --git a/url/url_util.cc b/url/url_util.cc --- a/url/url_util.cc +++ b/url/url_util.cc @@ -283,3 +283,5 @@ diff --git a/url/url_util.cc b/url/url_util.cc }; // Schemes that can be sent CORS requests. +-- +2.25.1 diff --git a/build/patches/Bromite-AdBlockUpdaterService.patch b/build/patches/Bromite-AdBlockUpdaterService.patch index 2903b9ee..e01a5848 100644 --- a/build/patches/Bromite-AdBlockUpdaterService.patch +++ b/build/patches/Bromite-AdBlockUpdaterService.patch @@ -25,7 +25,6 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681) chrome/browser/browser_process_impl.cc | 20 ++ chrome/browser/browser_process_impl.h | 2 + chrome/browser/chrome_browser_main.cc | 2 + - .../browser/chrome_content_browser_client.cc | 15 - .../flags/android/cached_feature_flags.cc | 11 + .../browser/flags/CachedFeatureFlags.java | 10 + .../net/system_network_context_manager.cc | 4 + @@ -46,7 +45,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681) .../browser/subresource_filter_features.cc | 113 +------- .../core/common/indexed_ruleset.cc | 5 +- .../navigation_throttle_runner.cc | 5 - - 37 files changed, 1157 insertions(+), 139 deletions(-) + 36 files changed, 1157 insertions(+), 124 deletions(-) create mode 100644 chrome/android/java/res/layout/adblock_editor.xml create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java @@ -59,7 +58,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681) 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 -@@ -557,6 +557,7 @@ chrome_java_resources = [ +@@ -556,6 +556,7 @@ chrome_java_resources = [ "java/res/layout/account_chooser_dialog_title.xml", "java/res/layout/account_divider_preference.xml", "java/res/layout/account_management_account_row.xml", @@ -67,7 +66,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/auto_sign_in_first_run_dialog.xml", "java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_card_unmask_prompt.xml", -@@ -774,6 +775,7 @@ chrome_java_resources = [ +@@ -769,6 +770,7 @@ chrome_java_resources = [ "java/res/xml/about_chrome_preferences.xml", "java/res/xml/accessibility_preferences.xml", "java/res/xml/account_management_preferences.xml", @@ -78,7 +77,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 -@@ -986,6 +986,8 @@ chrome_java_sources = [ +@@ -974,6 +974,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", @@ -422,7 +421,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 -@@ -11012,6 +11012,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -11029,6 +11029,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -442,16 +441,16 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc --- a/chrome/browser/after_startup_task_utils.cc +++ b/chrome/browser/after_startup_task_utils.cc -@@ -26,6 +26,8 @@ - #include "ui/views/linux_ui/linux_ui.h" - #endif +@@ -30,6 +30,8 @@ + #include "chromeos/lacros/lacros_service.h" + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) +#include "chrome/browser/browser_process.h" + using content::BrowserThread; namespace { -@@ -121,6 +123,9 @@ void SetBrowserStartupIsComplete() { +@@ -125,6 +127,9 @@ void SetBrowserStartupIsComplete() { g_after_startup_tasks.Get().clear(); g_after_startup_tasks.Get().shrink_to_fit(); @@ -494,7 +493,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1075,6 +1075,26 @@ BrowserProcessImpl::component_updater() { +@@ -1076,6 +1076,26 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -543,7 +542,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 -@@ -1653,6 +1653,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1655,6 +1655,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { speech::SodaInstaller::GetInstance()->Init(profile_->GetPrefs(), browser_process_->local_state()); #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) @@ -552,45 +551,6 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows } #if BUILDFLAG(IS_CHROMEOS_ASH) -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 -@@ -62,7 +62,6 @@ - #include "chrome/browser/hid/chrome_hid_delegate.h" - #include "chrome/browser/interstitials/enterprise_util.h" - #include "chrome/browser/lifetime/browser_shutdown.h" --#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h" - #include "chrome/browser/media/audio_service_util.h" - #include "chrome/browser/media/router/media_router_feature.h" - #include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h" -@@ -4091,16 +4090,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( - content::NavigationHandle* handle) { - std::vector> throttles; - -- // MetricsNavigationThrottle requires that it runs before NavigationThrottles -- // that may delay or cancel navigations, so only NavigationThrottles that -- // don't delay or cancel navigations (e.g. throttles that are only observing -- // callbacks without affecting navigation behavior) should be added before -- // MetricsNavigationThrottle. -- if (handle->IsInMainFrame()) { -- throttles.push_back( -- page_load_metrics::MetricsNavigationThrottle::Create(handle)); -- } -- - #if BUILDFLAG(IS_CHROMEOS_ASH) - MaybeAddThrottle( - ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle), -@@ -4198,10 +4187,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( - &throttles); - #endif - -- MaybeAddThrottle( -- LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(handle), -- &throttles); -- - MaybeAddThrottle(PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle), - &throttles); - #if BUILDFLAG(ENABLE_PDF) diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc --- a/chrome/browser/flags/android/cached_feature_flags.cc +++ b/chrome/browser/flags/android/cached_feature_flags.cc @@ -619,7 +579,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java -@@ -267,6 +267,14 @@ public class CachedFeatureFlags { +@@ -268,6 +268,14 @@ public class CachedFeatureFlags { ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL)); } @@ -634,7 +594,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f /** * Caches flags that must take effect on startup but are set via native code. */ -@@ -472,5 +480,7 @@ public class CachedFeatureFlags { +@@ -485,5 +493,7 @@ public class CachedFeatureFlags { @NativeMethods interface Natives { boolean isNetworkServiceWarmUpEnabled(); @@ -645,7 +605,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f 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 -@@ -351,6 +351,8 @@ SystemNetworkContextManager::SystemNetworkContextManager( +@@ -338,6 +338,8 @@ SystemNetworkContextManager::SystemNetworkContextManager( SSLConfigServiceManager::CreateDefaultManager(local_state_)), proxy_config_monitor_(local_state_), stub_resolver_config_reader_(local_state_) { @@ -654,7 +614,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows #if !defined(OS_ANDROID) // QuicAllowed was not part of Android policy. const base::Value* value = -@@ -421,6 +423,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { +@@ -408,6 +410,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { StubResolverConfigReader::RegisterPrefs(registry); @@ -704,7 +664,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc -@@ -2221,6 +2221,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2246,6 +2246,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; // capture devices without prompt. const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -844,8 +804,8 @@ new file mode 100644 + << next_check_delay << " seconds. "; + + scheduler_->Schedule( -+ base::TimeDelta::FromSeconds(initial_check_delay), -+ base::TimeDelta::FromSeconds(next_check_delay), ++ base::Seconds(initial_check_delay), ++ base::Seconds(next_check_delay), + base::BindRepeating(&AdBlockUpdaterService::OnDemandScheduledUpdate, + base::Unretained(this)), base::DoNothing()); +} @@ -866,7 +826,7 @@ new file mode 100644 + if (!last_update_.is_null()) { + base::TimeDelta delta = + base::TimeTicks::Now() - last_update_; -+ if (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)) { ++ if (delta < base::Seconds(on_demand_check_delay)) { + LOG(INFO) << "AdBlockUpdaterService: update not necessary."; + return false; + } @@ -933,7 +893,7 @@ new file mode 100644 + if (!failed) { + base::TimeDelta delta = + base::Time::Now() - min_last_modified; -+ if (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)) { ++ if (delta < base::Seconds(on_demand_check_delay)) { + LOG(INFO) << "AdBlockUpdaterService: update check not yet needed."; + is_updating_ = false; + return false; @@ -1496,7 +1456,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 -@@ -651,6 +651,17 @@ ContentSubresourceFilterThrottleManager:: +@@ -652,6 +652,17 @@ ContentSubresourceFilterThrottleManager:: throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), ad_tagging_state); } @@ -1677,7 +1637,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal +#include "base/logging.h" #include "base/metrics/histogram_macros.h" #include "base/notreached.h" - #include "base/task_runner_util.h" + #include "base/task/task_runner_util.h" @@ -39,6 +40,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile( TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"), "VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid", @@ -1874,3 +1834,5 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte } NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const { +-- +2.25.1 diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index a6eea3f0..23b38283 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -6,26 +6,30 @@ Enable checking for new versions, with notifications and proxy support --- .../java/templates/BuildConfig.template | 2 + build/config/android/rules.gni | 3 + - chrome/android/chrome_java_sources.gni | 1 + + chrome/android/chrome_java_sources.gni | 3 + .../java/res/xml/about_chrome_preferences.xml | 5 + .../about_settings/AboutChromeSettings.java | 28 ++- .../chrome/browser/omaha/OmahaBase.java | 47 +++- - .../chrome/browser/omaha/UpdateConfigs.java | 6 +- - .../browser/omaha/UpdateStatusProvider.java | 33 ++- + .../chrome/browser/omaha/UpdateConfigs.java | 30 ++- + .../browser/omaha/UpdateMenuItemHelper.java | 69 +++++- + .../browser/omaha/UpdateStatusProvider.java | 169 ++++++++++++--- .../browser/omaha/VersionNumberGetter.java | 3 +- .../inline/BromiteInlineUpdateController.java | 204 ++++++++++++++++++ - .../inline/InlineUpdateControllerFactory.java | 8 +- + .../omaha/inline/InlineUpdateController.java | 45 ++++ + .../inline/InlineUpdateControllerFactory.java | 21 ++ chrome/browser/endpoint_fetcher/BUILD.gn | 2 + .../endpoint_fetcher/endpoint_fetcher.cc | 129 +++++++++++ .../endpoint_fetcher/endpoint_fetcher.h | 23 +- .../endpoint_fetcher/EndpointFetcher.java | 11 + .../EndpointHeaderResponse.java | 31 +++ - chrome/browser/flag-metadata.json | 2 +- - chrome/browser/flag_descriptions.cc | 5 +- - .../flags/android/chrome_feature_list.cc | 2 +- - .../strings/android_chrome_strings.grd | 8 +- - 20 files changed, 516 insertions(+), 37 deletions(-) + .../flags/android/chrome_feature_list.cc | 6 +- + .../flags/android/chrome_feature_list.h | 1 + + .../browser/flags/ChromeFeatureList.java | 1 + + .../strings/android_chrome_strings.grd | 20 +- + 22 files changed, 811 insertions(+), 42 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java + create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java + create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java create mode 100644 chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template @@ -41,7 +45,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -1970,6 +1970,9 @@ if (enable_java_templates) { +@@ -1975,6 +1975,9 @@ if (enable_java_templates) { ] } } @@ -54,12 +58,14 @@ 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 -@@ -892,6 +892,7 @@ chrome_java_sources = [ - "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java", - "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java", - "java/src/org/chromium/chrome/browser/omaha/inline/NoopInlineUpdateController.java", +@@ -878,6 +878,9 @@ chrome_java_sources = [ + "java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java", + "java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java", + "java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java", ++ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java", ++ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java", + "java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java", - "java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java", + "java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java", "java/src/org/chromium/chrome/browser/omaha/metrics/HistogramUtils.java", "java/src/org/chromium/chrome/browser/omaha/metrics/TrackingProvider.java", diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/android/java/res/xml/about_chrome_preferences.xml @@ -213,35 +219,208 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java -@@ -65,7 +65,7 @@ public class UpdateConfigs { - private static final String UPDATE_NOTIFICATION_EXPERIMENTAL_PARAM_NAME = - "update_notification_experimental_context"; +@@ -11,6 +11,7 @@ import androidx.annotation.IntDef; + import androidx.annotation.Nullable; + + import org.chromium.base.CommandLine; ++import org.chromium.chrome.browser.flags.ChromeFeatureList; + import org.chromium.chrome.browser.flags.ChromeSwitches; + import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState; + import org.chromium.components.variations.VariationsAssociatedData; +@@ -37,10 +38,12 @@ public class UpdateConfigs { + private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available"; + private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version"; -- private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 21 * DateUtils.DAY_IN_MILLIS; + private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 3 * DateUtils.DAY_IN_MILLIS; private static final long DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS = 2 * DateUtils.DAY_IN_MILLIS; /** Possible update flow configurations. */ -@@ -300,7 +300,7 @@ public class UpdateConfigs { - * @return the current inline update flow configuration. - */ - @UpdateFlowConfiguration -- static int getConfiguration() { -+ public static int getConfiguration() { - if (!ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) { - // Always use the the old flow if the inline update flow feature is not enabled. - return UpdateFlowConfiguration.INTENT_ONLY; -@@ -328,4 +328,4 @@ public class UpdateConfigs { - if (configuration == null) return ""; - return configuration.toLowerCase(Locale.US); +- @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY}) ++ @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY, ++ UpdateFlowConfiguration.INLINE_ONLY}) + @Retention(RetentionPolicy.SOURCE) + public @interface UpdateFlowConfiguration { + /** Turns off all update indicators. */ +@@ -50,6 +53,12 @@ public class UpdateConfigs { + * Requires Omaha to say an update is available, and only ever Intents out to Play Store. + */ + int INTENT_ONLY = 2; ++ ++ /** ++ * Requires both Omaha and Play Store to say an update is available. Only ever uses the ++ * inline update flow. ++ */ ++ int INLINE_ONLY = 3; + } + + /** +@@ -124,6 +133,13 @@ public class UpdateConfigs { + return DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS; + } + ++ /** ++ * @return A time interval for scheduling update notification. Unit: mills. ++ */ ++ public static long getUpdateNotificationInterval() { ++ return DEFAULT_UPDATE_NOTIFICATION_INTERVAL; ++ } ++ + /** + * Gets a String VariationsAssociatedData parameter. Also checks for a command-line switch + * with the same name, for easy local testing. +@@ -139,4 +155,14 @@ public class UpdateConfigs { + } + return value; } -} \ No newline at end of file ++ ++ @UpdateFlowConfiguration ++ public static int getConfiguration() { ++ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) { ++ // Always use the the old flow if the inline update flow feature is not enabled. ++ return UpdateFlowConfiguration.INLINE_ONLY; ++ } ++ ++ return UpdateFlowConfiguration.NEVER_SHOW; ++ } +} +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java +@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram; + import org.chromium.base.task.PostTask; + import org.chromium.base.task.TaskTraits; + import org.chromium.chrome.R; ++import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateInteractionSource; + import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState; + import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateStatus; + import org.chromium.chrome.browser.preferences.Pref; +@@ -157,7 +158,7 @@ public class UpdateMenuItemHelper { + + try { + UpdateStatusProvider.getInstance().startIntentUpdate( +- activity, false /* newTask */); ++ activity, UpdateInteractionSource.FROM_MENU, false /* newTask */); + recordItemClickedHistogram(ITEM_CLICKED_INTENT_LAUNCHED); + getPrefService().setBoolean(Pref.CLICKED_UPDATE_MENU_ITEM, true); + } catch (ActivityNotFoundException e) { +@@ -165,8 +166,22 @@ public class UpdateMenuItemHelper { + recordItemClickedHistogram(ITEM_CLICKED_INTENT_FAILED); + } + break; ++ case UpdateState.INLINE_UPDATE_AVAILABLE: ++ UpdateStatusProvider.getInstance().startInlineUpdate( ++ UpdateInteractionSource.FROM_MENU, activity); ++ break; ++ case UpdateState.INLINE_UPDATE_READY: ++ UpdateStatusProvider.getInstance().finishInlineUpdate( ++ UpdateInteractionSource.FROM_MENU); ++ break; ++ case UpdateState.INLINE_UPDATE_FAILED: ++ UpdateStatusProvider.getInstance().retryInlineUpdate( ++ UpdateInteractionSource.FROM_MENU, activity); ++ break; + case UpdateState.UNSUPPORTED_OS_VERSION: + // Intentional fall through. ++ case UpdateState.INLINE_UPDATE_DOWNLOADING: ++ // Intentional fall through. + default: + return; + } +@@ -268,6 +283,58 @@ public class UpdateMenuItemHelper { + mMenuUiState.itemState.icon = R.drawable.ic_error_24dp_filled; + mMenuUiState.itemState.enabled = false; + break; ++ case UpdateState.INLINE_UPDATE_AVAILABLE: ++ // The badge is hidden if the update menu item has been clicked until there is an ++ // even newer version of Chrome available. ++ showBadge |= !TextUtils.equals( ++ getPrefService().getString( ++ Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM), ++ mStatus.latestUnsupportedVersion); ++ ++ if (showBadge) { ++ mMenuUiState.buttonState = new MenuButtonState(); ++ mMenuUiState.buttonState.menuContentDescription = ++ R.string.accessibility_toolbar_btn_menu_update; ++ mMenuUiState.buttonState.darkBadgeIcon = R.drawable.badge_update_dark; ++ mMenuUiState.buttonState.lightBadgeIcon = R.drawable.badge_update_light; ++ } ++ ++ mMenuUiState.itemState = new MenuItemState(); ++ mMenuUiState.itemState.title = R.string.menu_update; ++ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue; ++ mMenuUiState.itemState.summary = UpdateConfigs.getCustomSummary(); ++ if (TextUtils.isEmpty(mMenuUiState.itemState.summary)) { ++ mMenuUiState.itemState.summary = ++ resources.getString(R.string.menu_update_summary_default); ++ } ++ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp; ++ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light; ++ mMenuUiState.itemState.enabled = true; ++ break; ++ case UpdateState.INLINE_UPDATE_DOWNLOADING: ++ mMenuUiState.itemState = new MenuItemState(); ++ mMenuUiState.itemState.title = R.string.menu_inline_update_downloading; ++ mMenuUiState.itemState.titleColorId = R.color.default_text_color_secondary; ++ break; ++ case UpdateState.INLINE_UPDATE_READY: ++ mMenuUiState.itemState = new MenuItemState(); ++ mMenuUiState.itemState.title = R.string.menu_inline_update_ready; ++ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue; ++ mMenuUiState.itemState.summary = ++ resources.getString(R.string.menu_inline_update_ready_summary); ++ mMenuUiState.itemState.icon = R.drawable.infobar_chrome; ++ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light; ++ mMenuUiState.itemState.enabled = true; ++ break; ++ case UpdateState.INLINE_UPDATE_FAILED: ++ mMenuUiState.itemState = new MenuItemState(); ++ mMenuUiState.itemState.title = R.string.menu_inline_update_failed; ++ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue; ++ mMenuUiState.itemState.summary = resources.getString(R.string.try_again); ++ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp; ++ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light; ++ mMenuUiState.itemState.enabled = true; ++ break; + case UpdateState.NONE: + // Intentional fall through. + default: diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java -@@ -45,6 +45,12 @@ import java.io.File; +@@ -4,6 +4,7 @@ + + package org.chromium.chrome.browser.omaha; + ++import android.app.Activity; + import android.content.ActivityNotFoundException; + import android.content.Context; + import android.content.Intent; +@@ -16,7 +17,11 @@ import android.text.TextUtils; + import androidx.annotation.IntDef; + import androidx.annotation.NonNull; + import androidx.annotation.Nullable; ++import androidx.annotation.VisibleForTesting; + ++import org.chromium.base.ActivityState; ++import org.chromium.base.ApplicationStatus; ++import org.chromium.base.ApplicationStatus.ActivityStateListener; + import org.chromium.base.BuildInfo; + import org.chromium.base.Callback; + import org.chromium.base.ContextUtils; +@@ -26,6 +31,9 @@ import org.chromium.base.metrics.RecordHistogram; + import org.chromium.base.task.AsyncTask; + import org.chromium.base.task.AsyncTask.Status; + import org.chromium.base.task.PostTask; ++import org.chromium.chrome.browser.app.ChromeActivity; ++import org.chromium.chrome.browser.omaha.inline.InlineUpdateController; ++import org.chromium.chrome.browser.omaha.inline.InlineUpdateControllerFactory; + import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics; + import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; + import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +@@ -36,28 +44,50 @@ import java.io.File; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -254,17 +433,230 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta /** * Provides the current update state for Chrome. This update state is asynchronously determined and * can change as Chrome runs. -@@ -339,8 +345,7 @@ public class UpdateStatusProvider implements ActivityStateListener { - case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW: - return UpdateState.NONE; - case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY: -- if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState; -- if (inlineState == UpdateState.NONE) return UpdateState.NONE; + * + * For manually testing this functionality, see {@link UpdateConfigs}. + */ +-public class UpdateStatusProvider { ++public class UpdateStatusProvider implements ActivityStateListener { ++ /** ++ * Possible sources of user interaction regarding updates. ++ * Treat this as append only as it is used by UMA. ++ */ ++ @IntDef({UpdateInteractionSource.FROM_MENU, UpdateInteractionSource.FROM_INFOBAR, ++ UpdateInteractionSource.FROM_NOTIFICATION}) ++ @Retention(RetentionPolicy.SOURCE) ++ public @interface UpdateInteractionSource { ++ int FROM_MENU = 0; ++ int FROM_INFOBAR = 1; ++ int FROM_NOTIFICATION = 2; ++ ++ int NUM_ENTRIES = 3; ++ } ++ + /** + * Possible update states. + * Treat this as append only as it is used by UMA. + */ +- @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION}) ++ @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION, ++ UpdateState.INLINE_UPDATE_AVAILABLE, UpdateState.INLINE_UPDATE_DOWNLOADING, ++ UpdateState.INLINE_UPDATE_READY, UpdateState.INLINE_UPDATE_FAILED}) + @Retention(RetentionPolicy.SOURCE) + public @interface UpdateState { + int NONE = 0; + int UPDATE_AVAILABLE = 1; + int UNSUPPORTED_OS_VERSION = 2; +- // Inline updates are deprecated. +- // int INLINE_UPDATE_AVAILABLE = 3; +- // int INLINE_UPDATE_DOWNLOADING = 4; +- // int INLINE_UPDATE_READY = 5; +- // int INLINE_UPDATE_FAILED = 6; ++ int INLINE_UPDATE_AVAILABLE = 3; ++ int INLINE_UPDATE_DOWNLOADING = 4; ++ int INLINE_UPDATE_READY = 5; ++ int INLINE_UPDATE_FAILED = 6; + + int NUM_ENTRIES = 7; + } +@@ -93,6 +123,12 @@ public class UpdateStatusProvider { + */ + private boolean mIsSimulated; + ++ /** ++ * Whether or not we are currently trying to simulate an inline flow. Used to allow ++ * overriding Omaha update state, which usually supersedes inline update states. ++ */ ++ private boolean mIsInlineSimulated; ++ + public UpdateStatus() {} + + UpdateStatus(UpdateStatus other) { +@@ -101,11 +137,13 @@ public class UpdateStatusProvider { + latestVersion = other.latestVersion; + latestUnsupportedVersion = other.latestUnsupportedVersion; + mIsSimulated = other.mIsSimulated; ++ mIsInlineSimulated = other.mIsInlineSimulated; + } + } + + private final ObserverList> mObservers = new ObserverList<>(); + ++ private final InlineUpdateController mInlineController; + private final UpdateQuery mOmahaQuery; + private final UpdateSuccessMetrics mMetrics; + private @Nullable UpdateStatus mStatus; +@@ -173,19 +211,44 @@ public class UpdateStatusProvider { + pingObservers(); + } + ++ /** ++ * Starts the inline update process, if possible. ++ * @source The source of the action (the UI that caused it). ++ * @param activity An {@link Activity} that will be used to interact with Play. ++ */ ++ public void startInlineUpdate(@UpdateInteractionSource int source, Activity activity) { ++ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return; ++ mInlineController.startUpdate(activity); ++ } ++ ++ /** ++ * Retries the inline update process, if possible. ++ * @param activity An {@link Activity} that will be used to interact with Play. ++ */ ++ public void retryInlineUpdate(@UpdateInteractionSource int source, Activity activity) { ++ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return; ++ mInlineController.startUpdate(activity); ++ } ++ ++ /** Finishes the inline update process, which may involve restarting the app. */ ++ public void finishInlineUpdate(@UpdateInteractionSource int source) { ++ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_READY) return; ++ mInlineController.completeUpdate(); ++ } ++ + /** + * Starts the intent update process, if possible + * @param context An {@link Context} that will be used to fire off the update intent. ++ * @param source The source of the action (the UI that caused it). + * @param newTask Whether or not to make the intent a new task. + * @return Whether or not the update intent was sent and had a valid handler. + */ +- public boolean startIntentUpdate(Context context, boolean newTask) { ++ public boolean startIntentUpdate( ++ Context context, @UpdateInteractionSource int source, boolean newTask) { + if (mStatus == null || mStatus.updateState != UpdateState.UPDATE_AVAILABLE) return false; + if (TextUtils.isEmpty(mStatus.updateUrl)) return false; + + try { +- mMetrics.startUpdate(); +- + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl)); + if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); +@@ -196,9 +259,29 @@ public class UpdateStatusProvider { + return true; + } + ++ // ApplicationStateListener implementation. ++ @Override ++ public void onActivityStateChange(Activity changedActivity, @ActivityState int newState) { ++ boolean hasActiveActivity = false; ++ ++ for (Activity activity : ApplicationStatus.getRunningActivities()) { ++ if (activity == null || !(activity instanceof ChromeActivity)) continue; ++ ++ hasActiveActivity |= ++ ApplicationStatus.getStateForActivity(activity) == ActivityState.RESUMED; ++ if (hasActiveActivity) break; ++ } ++ ++ mInlineController.setEnabled(hasActiveActivity); ++ } ++ + private UpdateStatusProvider() { ++ mInlineController = InlineUpdateControllerFactory.create(this::resolveStatus); + mOmahaQuery = new UpdateQuery(this::resolveStatus); + mMetrics = new UpdateSuccessMetrics(); ++ ++ // Note that as a singleton this class never unregisters. ++ ApplicationStatus.registerStateListenerForAllActivities(this); + } + + private void pingObservers() { +@@ -206,27 +289,59 @@ public class UpdateStatusProvider { + } + + private void resolveStatus() { +- if (mOmahaQuery.getStatus() != Status.FINISHED) { ++ if (mOmahaQuery.getStatus() != Status.FINISHED || mInlineController.getStatus() == null) { + return; + } + + // We pull the Omaha result once as it will never change. + if (mStatus == null) mStatus = new UpdateStatus(mOmahaQuery.getResult()); + +- if (!mStatus.mIsSimulated) { +- mStatus.updateState = mOmahaQuery.getResult().updateState; ++ if (mStatus.mIsSimulated) { ++ if (mStatus.mIsInlineSimulated) { ++ @UpdateState ++ int inlineState = mInlineController.getStatus(); ++ ++ if (inlineState == UpdateState.NONE) { ++ mStatus.updateState = mOmahaQuery.getResult().updateState; ++ } else { ++ mStatus.updateState = inlineState; ++ } ++ } ++ } else { ++ @UpdateState ++ int omahaState = mOmahaQuery.getResult().updateState; ++ @UpdateState ++ int inlineState = mInlineController.getStatus(); ++ mStatus.updateState = resolveOmahaAndInlineStatus( ++ UpdateConfigs.getConfiguration(), omahaState, inlineState); + } + + if (!mRecordedInitialStatus) { + RecordHistogram.recordEnumeratedHistogram( + "GoogleUpdate.StartUp.State", mStatus.updateState, UpdateState.NUM_ENTRIES); +- mMetrics.analyzeFirstStatus(); + mRecordedInitialStatus = true; + } + + pingObservers(); + } + ++ @VisibleForTesting ++ static @UpdateState int resolveOmahaAndInlineStatus( ++ @UpdateConfigs.UpdateFlowConfiguration int configuration, @UpdateState int omahaState, ++ @UpdateState int inlineState) { ++ switch (configuration) { ++ case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW: ++ return UpdateState.NONE; ++ case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY: + if (inlineState == UpdateState.NONE) return omahaState; - return inlineState; - case UpdateConfigs.UpdateFlowConfiguration.BEST_EFFORT: - if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState; -@@ -415,24 +420,12 @@ public class UpdateStatusProvider implements ActivityStateListener { ++ return inlineState; ++ case UpdateConfigs.UpdateFlowConfiguration.INTENT_ONLY: // Intentional fall through. ++ default: ++ // Fall back to use Omaha only and use the old flow. ++ return omahaState; ++ } ++ } ++ + private static final class LazyHolder { + private static final UpdateStatusProvider INSTANCE = new UpdateStatusProvider(); + } +@@ -268,6 +383,8 @@ public class UpdateStatusProvider { + status.mIsSimulated = true; + status.updateState = forcedUpdateState; + ++ status.mIsInlineSimulated = forcedUpdateState == UpdateState.INLINE_UPDATE_AVAILABLE; ++ + // Push custom configurations for certain update states. + switch (forcedUpdateState) { + case UpdateState.UPDATE_AVAILABLE: +@@ -287,24 +404,12 @@ public class UpdateStatusProvider { private UpdateStatus getRealStatus(Context context) { UpdateStatus status = new UpdateStatus(); @@ -517,23 +909,82 @@ new file mode 100644 + PostTask.postTask(UiThreadTaskTraits.DEFAULT, mCallback); + } +} +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java +new file mode 100644 +--- /dev/null ++++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java +@@ -0,0 +1,45 @@ ++// Copyright 2019 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++package org.chromium.chrome.browser.omaha.inline; ++ ++import android.app.Activity; ++import android.content.Intent; ++ ++import androidx.annotation.Nullable; ++ ++import org.chromium.chrome.browser.omaha.UpdateStatusProvider; ++ ++/** ++ * Helper for gluing interactions with the Play store's AppUpdateManager with Chrome. This ++ * involves hooking up to Play as a listener for install state changes, should only happen if we are ++ * in the foreground. ++ */ ++public interface InlineUpdateController { ++ /** ++ * Enables or disables the controller. ++ * @param enabled true iff the controller should be enabled. ++ */ ++ void setEnabled(boolean enabled); ++ ++ /** ++ * @return The current state of the inline update process. May be {@code null} if the state ++ * hasn't been determined yet. ++ */ ++ @Nullable ++ @UpdateStatusProvider.UpdateState ++ Integer getStatus(); ++ ++ /** ++ * Starts the update, if possible. This will send an {@link Intent} out to play, which may ++ * cause Chrome to move to the background. ++ * @param activity The {@link Activity} to use to interact with Play. ++ */ ++ void startUpdate(Activity activity); ++ ++ /** ++ * Completes the Play installation process, if possible. This may cause Chrome to restart. ++ */ ++ void completeUpdate(); ++} diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java +new file mode 100644 +--- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java -@@ -19,8 +19,10 @@ public class InlineUpdateControllerFactory { - @FakeAppUpdateManagerWrapper.Type - int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState(); - -- // No test scenario was in place, and the inline flow has not been enabled, so use a -- // controller with no functionality. -- return new NoopInlineUpdateController(callback); -+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) { -+ return new BromiteInlineUpdateController(callback); -+ } else { -+ return new NoopInlineUpdateController(callback); -+ } - } - } +@@ -0,0 +1,21 @@ ++// Copyright 2019 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++package org.chromium.chrome.browser.omaha.inline; ++ ++import org.chromium.base.ContextUtils; ++import org.chromium.chrome.browser.flags.ChromeFeatureList; ++import org.chromium.chrome.browser.omaha.UpdateConfigs; ++ ++/** ++ * A factory that creates an {@link InlineUpdateController} instance. ++ */ ++public class InlineUpdateControllerFactory { ++ /** ++ * @return A new {@link InlineUpdateController}. ++ */ ++ public static InlineUpdateController create(Runnable callback) { ++ return new BromiteInlineUpdateController(callback); ++ } ++} diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn --- a/chrome/browser/endpoint_fetcher/BUILD.gn +++ b/chrome/browser/endpoint_fetcher/BUILD.gn @@ -615,7 +1066,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse + simple_url_loader_ = network::SimpleURLLoader::Create( + std::move(resource_request), annotation_tag_); + simple_url_loader_->SetTimeoutDuration( -+ base::TimeDelta::FromMilliseconds(timeout_ms_)); ++ base::Milliseconds(timeout_ms_)); + simple_url_loader_->SetAllowHttpErrorResults(true); + + if (!response_) @@ -859,50 +1310,55 @@ new file mode 100644 + return new EndpointHeaderResponse(response, redirectUrl); + } +} -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 -@@ -2079,7 +2079,7 @@ - { - "name": "enable-inline-update-flow", - "owners": [ "nyquist", "dtrainor" ], -- "expiry_milestone": 83 -+ "expiry_milestone": -1 - }, - { - "name": "enable-input-event-logging", -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 -@@ -3697,10 +3697,9 @@ const char kVoiceButtonInTopToolbarDescription[] = - "Enables showing the voice search button in the top toolbar. Enabling " - "Adaptive Button overrides this."; - --const char kInlineUpdateFlowName[] = "Enable Google Play inline update flow"; -+const char kInlineUpdateFlowName[] = "Enable inline update flow"; - const char kInlineUpdateFlowDescription[] = -- "When this flag is set, instead of taking the user to the Google Play " -- "Store when an update is available, the user is presented with an inline " -+ "When this flag is set, the user is presented with an inline " - "flow where they do not have to leave Chrome until the update is ready " - "to install."; - 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 -@@ -644,7 +644,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot", - base::FEATURE_DISABLED_BY_DEFAULT}; +@@ -246,6 +246,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kImmersiveUiMode, + &kIncognitoReauthenticationForAndroid, + &kIncognitoScreenshot, ++ &kInlineUpdateFlow, + &kInstanceSwitcher, + &kInstantStart, + &kKitKatSupported, +@@ -649,7 +650,10 @@ const base::Feature kIncognitoReauthenticationForAndroid{ + "IncognitoReauthenticationForAndroid", base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kInlineUpdateFlow{"InlineUpdateFlow", -- base::FEATURE_DISABLED_BY_DEFAULT}; + const base::Feature kIncognitoScreenshot{"IncognitoScreenshot", +- base::FEATURE_DISABLED_BY_DEFAULT}; ++ base::FEATURE_ENABLED_BY_DEFAULT}; ++ ++const base::Feature kInlineUpdateFlow{"InlineUpdateFlow", + base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kInstantStart{"InstantStart", base::FEATURE_DISABLED_BY_DEFAULT}; +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 +@@ -102,6 +102,7 @@ extern const base::Feature kImmersiveUiMode; + extern const base::Feature kIncognitoReauthenticationForAndroid; + extern const base::Feature kIncognitoScreenshot; + extern const base::Feature kImprovedA2HS; ++extern const base::Feature kInlineUpdateFlow; + extern const base::Feature kInstanceSwitcher; + extern const base::Feature kInstantStart; + extern const base::Feature kKitKatSupported; +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 +@@ -371,6 +371,7 @@ public abstract class ChromeFeatureList { + public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID = + "IncognitoReauthenticationForAndroid"; + public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; ++ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; + public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar"; + public static final String INSTANCE_SWITCHER = "InstanceSwitcher"; + public static final String INSTANT_START = "InstantStart"; 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 -@@ -1698,6 +1698,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1731,6 +1731,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 @@ -915,7 +1371,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3214,7 +3220,7 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -924,3 +1380,24 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available +@@ -3239,6 +3245,18 @@ To change this setting, <resetlink>reset sync

+ Android version is unsupported + ++ ++ Downloading… ++ ++ ++ Couldn’t download ++ ++ ++ Update ready ++ ++ ++ Restart Bromite ++ + + New window + +-- +2.25.1 diff --git a/build/patches/Bromite-package-name.patch b/build/patches/Bromite-package-name.patch index 1a6d5a0d..476e0126 100644 --- a/build/patches/Bromite-package-name.patch +++ b/build/patches/Bromite-package-name.patch @@ -9,7 +9,7 @@ Subject: Bromite package name diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -43,7 +43,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { +@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { assert(current_toolchain != android_secondary_abi_toolchain) } @@ -18,3 +18,5 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (android_channel != "default" && android_channel != "stable") { # android-binary-size trybot may checks if an internal Chrome variant's # AndroidManifest is as expected by ensuring the differences between its +-- +2.25.1 diff --git a/build/patches/Change-default-webRTC-policy-to-not-use-any-address.patch b/build/patches/Change-default-webRTC-policy-to-not-use-any-address.patch index be988672..efcfd5e6 100644 --- a/build/patches/Change-default-webRTC-policy-to-not-use-any-address.patch +++ b/build/patches/Change-default-webRTC-policy-to-not-use-any-address.patch @@ -12,7 +12,7 @@ See also: https://github.com/bromite/bromite/issues/553 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 -@@ -657,12 +657,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -796,12 +796,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator( port_config.enable_nonproxied_udp = false; break; case DEFAULT: @@ -29,3 +29,5 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d << "policy: " << policy << ", multiple_routes: " << port_config.enable_multiple_routes << ", nonproxied_udp: " << port_config.enable_nonproxied_udp +-- +2.25.1 diff --git a/build/patches/Chromium-package-name.patch b/build/patches/Chromium-package-name.patch index b77095bb..e1298fa3 100644 --- a/build/patches/Chromium-package-name.patch +++ b/build/patches/Chromium-package-name.patch @@ -9,7 +9,7 @@ Subject: Chromium package name diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -43,7 +43,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { +@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { assert(current_toolchain != android_secondary_abi_toolchain) } @@ -18,3 +18,4 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (android_channel != "default" && android_channel != "stable") { # android-binary-size trybot may checks if an internal Chrome variant's # AndroidManifest is as expected by ensuring the differences between its + diff --git a/build/patches/Disable-AGSA-by-default.patch b/build/patches/Disable-AGSA-by-default.patch index 7b8a311d..11e80c02 100644 --- a/build/patches/Disable-AGSA-by-default.patch +++ b/build/patches/Disable-AGSA-by-default.patch @@ -10,7 +10,7 @@ Subject: Disable AGSA by default 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 -@@ -622,7 +622,7 @@ const base::Feature kEnhancedProtectionPromoCard{ +@@ -630,7 +630,7 @@ const base::Feature kEnhancedProtectionPromoCard{ "EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa", @@ -31,3 +31,5 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f .put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false) .put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false) .put(ChromeFeatureList.APP_TO_WEB_ATTRIBUTION, false) +-- +2.25.1 diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index 7a2d7c5e..ad460d50 100644 --- a/build/patches/Disable-Accessibility-service-by-default.patch +++ b/build/patches/Disable-Accessibility-service-by-default.patch @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/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 -@@ -1287,6 +1287,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1320,6 +1320,12 @@ Your Google account may have other forms of browsing history like searches and a Accessibility @@ -42,7 +42,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java -@@ -774,6 +774,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider +@@ -775,6 +775,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider structure.setChildCount(0); return; } @@ -54,3 +54,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/access structure.setChildCount(1); final ViewStructure viewRoot = structure.asyncNewChild(0); viewRoot.setClassName(""); +-- +2.25.1 diff --git a/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch index 819b0e6c..2a06ec9a 100644 --- a/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch +++ b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch @@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning 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 -@@ -655,7 +655,7 @@ const base::Feature kMediaDrmPersistentLicense{ +@@ -670,7 +670,7 @@ const base::Feature kMediaDrmPersistentLicense{ // MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs // which will trigger provisioning process after MediaDrmBridge is created. const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", @@ -18,3 +18,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc // Determines if MediaDrmOriginIdManager should attempt to pre-provision origin // IDs at startup (whenever a profile is loaded). Also used by tests that +-- +2.25.1 diff --git a/build/patches/Disable-FLoC.patch b/build/patches/Disable-FLoC.patch index 3b210a61..97ab37b9 100644 --- a/build/patches/Disable-FLoC.patch +++ b/build/patches/Disable-FLoC.patch @@ -29,7 +29,7 @@ Also added the disabling of blink features through the DisabledForBromite tag 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 -@@ -2773,6 +2773,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed( +@@ -2771,6 +2771,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed( const url::Origin* impression_origin, const url::Origin* conversion_origin, const url::Origin* reporting_origin) { @@ -153,7 +153,7 @@ diff --git a/chrome/browser/federated_learning/floc_eligibility_observer.cc b/ch - observed_opt_in_signal_ = true; } - RENDER_DOCUMENT_HOST_USER_DATA_KEY_IMPL(FlocEligibilityObserver); + DOCUMENT_USER_DATA_KEY_IMPL(FlocEligibilityObserver); diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome/browser/federated_learning/floc_id_provider_impl.cc --- a/chrome/browser/federated_learning/floc_id_provider_impl.cc +++ b/chrome/browser/federated_learning/floc_id_provider_impl.cc @@ -182,7 +182,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome // On first entering the privacy sandbox experiment, users may have the // privacy sandbox disabled (or "reconciled") based on their current cookie // settings (e.g. blocking 3P cookies). Depending on the state of the sync -@@ -300,7 +303,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const { +@@ -291,7 +294,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const { } void PrivacySandboxSettings::SetFlocPrefEnabled(bool enabled) const { @@ -192,7 +192,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome base::RecordAction(base::UserMetricsAction( enabled ? "Settings.PrivacySandbox.FlocEnabled" : "Settings.PrivacySandbox.FlocDisabled")); -@@ -453,6 +457,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() { +@@ -444,6 +448,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() { // this code could be eliminated in the future, as initially // the feauture was tied to the cookies flag pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false); @@ -200,7 +200,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome if((true)) return; -@@ -551,11 +556,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() { +@@ -542,11 +547,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() { void PrivacySandboxSettings::SetFlocDataAccessibleFromNow( bool reset_calculate_timer) const { @@ -362,7 +362,7 @@ diff --git a/components/history/core/browser/url_row.h b/components/history/core 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 -@@ -883,11 +883,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{ +@@ -888,11 +888,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{ // API exposure will be disabled regardless of the OT config. // (See https://github.com/WICG/floc.) const base::Feature kInterestCohortAPIOriginTrial{ @@ -414,7 +414,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "third_party/blink/renderer/bindings/core/v8/v8_throw_dom_exception.h" #include "third_party/blink/renderer/bindings/core/v8/v8_union_elementcreationoptions_string.h" #include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlscriptelement_svgscriptelement.h" -@@ -5998,8 +5997,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state, +@@ -5968,8 +5967,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state, return ScriptPromise(); } @@ -424,7 +424,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink exception_state.ThrowDOMException( DOMExceptionCode::kInvalidAccessError, "The \"interest-cohort\" Permissions Policy denied the use of " -@@ -6011,33 +6009,6 @@ ScriptPromise Document::interestCohort(ScriptState* script_state, +@@ -5981,33 +5979,6 @@ ScriptPromise Document::interestCohort(ScriptState* script_state, MakeGarbageCollected(script_state); ScriptPromise promise = resolver->Promise(); @@ -494,12 +494,12 @@ diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_poli - depends_on: ["InterestCohortFeaturePolicy"], - }, { - name: "Magnetometer", - permissions_policy_name: "magnetometer", + name: "KeyboardMap", + permissions_policy_name: "keyboard-map", 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 -@@ -1225,12 +1225,11 @@ +@@ -1235,12 +1235,11 @@ }, { name: "InterestCohortAPI", @@ -514,3 +514,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { name: "IntersectionObserverDocumentScrollingElementRoot", +-- +2.25.1 diff --git a/build/patches/Disable-NTP-remote-suggestions-by-default.patch b/build/patches/Disable-NTP-remote-suggestions-by-default.patch index 33abc74a..dc5c3af5 100644 --- a/build/patches/Disable-NTP-remote-suggestions-by-default.patch +++ b/build/patches/Disable-NTP-remote-suggestions-by-default.patch @@ -42,3 +42,5 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu const base::Feature kOptionalImagesEnabledFeature{ "NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT}; +-- +2.25.1 diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index a252fef4..99f5dfab 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -9,7 +9,7 @@ Subject: Disable all promo dialogs 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 -@@ -847,7 +847,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -856,7 +856,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { * displayed. */ private boolean triggerPromo(boolean intentWithEffect) { @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) { return false; } -@@ -882,8 +882,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -891,8 +891,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { preferenceManager.writeBoolean( ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true); } @@ -29,3 +29,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab } private boolean maybeShowPromo() { +-- +2.25.1 diff --git a/build/patches/Disable-autofill-assistant-by-default.patch b/build/patches/Disable-autofill-assistant-by-default.patch index b85b18a1..4a0ea0d4 100644 --- a/build/patches/Disable-autofill-assistant-by-default.patch +++ b/build/patches/Disable-autofill-assistant-by-default.patch @@ -18,3 +18,5 @@ diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chro } /** Checks whether proactive help is enabled. */ +-- +2.25.1 diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index f5fae535..085feec7 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -67,7 +67,7 @@ diff --git a/chrome/browser/attribution_reporting/android/internal/java/src/org/ 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 -@@ -426,7 +426,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption", +@@ -432,7 +432,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kAppToWebAttribution{"AppToWebAttribution", @@ -93,7 +93,7 @@ diff --git a/components/embedder_support/origin_trials/features.cc b/components/ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc --- a/components/renderer_context_menu/render_view_context_menu_base.cc +++ b/components/renderer_context_menu/render_view_context_menu_base.cc -@@ -484,9 +484,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders( +@@ -485,9 +485,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders( open_url_params.source_site_instance = site_instance_; @@ -126,7 +126,7 @@ diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browse 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 -@@ -417,14 +417,6 @@ void AttributionHost::BindReceiver( +@@ -418,14 +418,6 @@ void AttributionHost::BindReceiver( conversion_host->receivers_.Bind(rfh, std::move(receiver)); } @@ -166,7 +166,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c namespace content { namespace attribution_host_utils { -@@ -79,6 +81,10 @@ absl::optional ParseImpressionFromApp( +@@ -81,6 +83,10 @@ absl::optional ParseImpressionFromApp( // Java API should have rejected these already. DCHECK(!source_event_id.empty() && !destination.empty()); @@ -180,7 +180,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c diff --git a/content/browser/attribution_reporting/attribution_network_sender_impl.cc b/content/browser/attribution_reporting/attribution_network_sender_impl.cc --- a/content/browser/attribution_reporting/attribution_network_sender_impl.cc +++ b/content/browser/attribution_reporting/attribution_network_sender_impl.cc -@@ -146,13 +146,9 @@ void AttributionNetworkSenderImpl::SendReport( +@@ -143,13 +143,9 @@ void AttributionNetworkSenderImpl::SendReport( LogMetricsOnReportSend(report); @@ -197,7 +197,7 @@ diff --git a/content/browser/attribution_reporting/attribution_network_sender_im } void AttributionNetworkSenderImpl::SetURLLoaderFactoryForTesting( -@@ -165,6 +161,13 @@ void AttributionNetworkSenderImpl::OnReportSent( +@@ -162,6 +158,13 @@ void AttributionNetworkSenderImpl::OnReportSent( AttributionReport report, ReportSentCallback sent_callback, scoped_refptr headers) { @@ -214,7 +214,7 @@ diff --git a/content/browser/attribution_reporting/attribution_network_sender_im 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 -@@ -239,7 +239,7 @@ void AttributionStorageSql::RunInMemoryForTesting() { +@@ -237,7 +237,7 @@ void AttributionStorageSql::RunInMemoryForTesting() { } // static @@ -252,14 +252,14 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co 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 -@@ -1299,12 +1299,7 @@ void StoragePartitionImpl::Initialize( +@@ -1292,12 +1292,7 @@ void StoragePartitionImpl::Initialize( bucket_context_ = base::MakeRefCounted(); bucket_context_->Initialize(); - // The Conversion Measurement API is not available in Incognito mode. - if (!is_in_memory() && - base::FeatureList::IsEnabled(blink::features::kConversionMeasurement)) { -- conversion_manager_ = std::make_unique( +- attribution_manager_ = std::make_unique( - this, path, special_storage_policy_); - } + // The Conversion Measurement API is not available in Bromite. @@ -278,12 +278,12 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib } /** -@@ -32,8 +30,6 @@ public class AttributionReporterImpl extends AttributionReporter { - @Override +@@ -33,8 +31,6 @@ public class AttributionReporterImpl extends AttributionReporter { public void reportAppImpression(BrowserContextHandle browserContext, String sourcePackageName, - String sourceEventId, String destination, String reportTo, long expiry) { -- AttributionReporterImplJni.get().reportAppImpression( -- browserContext, sourcePackageName, sourceEventId, destination, reportTo, expiry); + String sourceEventId, String destination, String reportTo, long expiry, + long eventTime) { +- AttributionReporterImplJni.get().reportAppImpression(browserContext, sourcePackageName, +- sourceEventId, destination, reportTo, expiry, eventTime); } @NativeMethods @@ -301,7 +301,7 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br 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 -@@ -37,7 +37,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries", +@@ -42,7 +42,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries", // Controls whether the Conversion Measurement API infrastructure is enabled. const base::Feature kConversionMeasurement{"ConversionMeasurement", @@ -343,3 +343,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { name: "CooperativeScheduling" +-- +2.25.1 diff --git a/build/patches/Disable-feeds-support-by-default.patch b/build/patches/Disable-feeds-support-by-default.patch index fb92781e..7896b884 100644 --- a/build/patches/Disable-feeds-support-by-default.patch +++ b/build/patches/Disable-feeds-support-by-default.patch @@ -3,15 +3,15 @@ Date: Thu, 19 Dec 2019 22:52:53 +0100 Subject: Disable feeds support by default --- - .../chromium/chrome/browser/feed/shared/FeedFeatures.java | 8 +------- + .../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +------- .../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +- components/feed/feed_feature_list.cc | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) -diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java ---- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java -+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java -@@ -35,13 +35,7 @@ public final class FeedFeatures { +diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java +--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java ++++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java +@@ -43,13 +43,7 @@ public final class FeedFeatures { * the user is signed in and confirms it's not a child profile. */ public static boolean isWebFeedUIEnabled() { @@ -56,3 +56,5 @@ diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature const base::Feature kInterestFeedV2Autoplay{"InterestFeedV2Autoplay", base::FEATURE_DISABLED_BY_DEFAULT}; +-- +2.25.1 diff --git a/build/patches/Disable-fetching-of-all-field-trials.patch b/build/patches/Disable-fetching-of-all-field-trials.patch index 4ff7d258..f6c60c9f 100644 --- a/build/patches/Disable-fetching-of-all-field-trials.patch +++ b/build/patches/Disable-fetching-of-all-field-trials.patch @@ -50,7 +50,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc -@@ -186,6 +186,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() { +@@ -188,6 +188,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() { void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial( version_info::Channel channel, base::FeatureList* feature_list) { @@ -62,7 +62,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/ diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc --- a/components/ukm/ukm_recorder_impl.cc +++ b/components/ukm/ukm_recorder_impl.cc -@@ -189,6 +189,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default; +@@ -181,6 +181,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default; void UkmRecorderImpl::CreateFallbackSamplingTrial( bool is_stable_channel, base::FeatureList* feature_list) { @@ -160,7 +160,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc --- a/components/variations/service/variations_field_trial_creator.cc +++ b/components/variations/service/variations_field_trial_creator.cc -@@ -271,8 +271,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials( +@@ -250,8 +250,8 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials( // instance is set. feature_list->RegisterExtraFeatureOverrides(extra_overrides); @@ -170,7 +170,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c if (!command_line->HasSwitch(switches::kDisableFieldTrialTestingConfig) && !command_line->HasSwitch(::switches::kForceFieldTrials) && !command_line->HasSwitch(switches::kVariationsServerURL)) { -@@ -286,10 +286,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials( +@@ -265,10 +265,12 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials( } #endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED) bool used_seed = false; @@ -181,12 +181,12 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c } +#endif // BUILDFLAG(FIELDTRIAL_SEED_ENABLED) - platform_field_trials->SetupFeatureControllingFieldTrials( + platform_field_trials->SetUpFeatureControllingFieldTrials( used_seed, low_entropy_provider.get(), feature_list.get()); diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc --- a/components/variations/service/variations_service.cc +++ b/components/variations/service/variations_service.cc -@@ -238,17 +238,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers, +@@ -234,17 +234,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers, // Variations seed fetching is only enabled in official Chrome builds, if a URL // is specified on the command line, and for testing. bool IsFetchingEnabled() { @@ -206,7 +206,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va } std::unique_ptr MaybeImportFirstRunSeed( -@@ -608,7 +599,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) { +@@ -602,7 +593,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) { // debugger or if the machine was suspended) and OnURLFetchComplete() hasn't // had a chance to run yet from the previous request. In this case, don't // start a new request and just let the previous one finish. @@ -215,3 +215,5 @@ diff --git a/components/variations/service/variations_service.cc b/components/va return false; last_request_was_http_retry_ = is_http_retry; +-- +2.25.1 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 64661cea..882378ea 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 @@ -16,3 +16,5 @@ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/c - registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false); + registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, true); } +-- +2.25.1 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 b9771901..aee2eea4 100644 --- a/build/patches/Disable-media-router-and-remoting-by-default.patch +++ b/build/patches/Disable-media-router-and-remoting-by-default.patch @@ -77,3 +77,5 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p #if !defined(OS_ANDROID) registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false); #endif // !defined(OS_ANDROID) +-- +2.25.1 diff --git a/build/patches/Disable-metrics-collection-for-NTP-tiles.patch b/build/patches/Disable-metrics-collection-for-NTP-tiles.patch index a62d32a0..b6918b08 100644 --- a/build/patches/Disable-metrics-collection-for-NTP-tiles.patch +++ b/build/patches/Disable-metrics-collection-for-NTP-tiles.patch @@ -82,3 +82,5 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn "most_visited_sites_unittest.cc", "popular_sites_impl_unittest.cc", ] +-- +2.25.1 diff --git a/build/patches/Disable-metrics-on-all-I-O-threads.patch b/build/patches/Disable-metrics-on-all-I-O-threads.patch index 2986a903..d475780b 100644 --- a/build/patches/Disable-metrics-on-all-I-O-threads.patch +++ b/build/patches/Disable-metrics-on-all-I-O-threads.patch @@ -9,7 +9,7 @@ Subject: Disable metrics on all I/O threads diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -989,7 +989,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -990,7 +990,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { #endif // BUILDFLAG(IS_CHROMEOS_ASH) registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, @@ -18,3 +18,5 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); } +-- +2.25.1 diff --git a/build/patches/Disable-offline-pages-in-CCT.patch b/build/patches/Disable-offline-pages-in-CCT.patch index deb67c9a..e9396b56 100644 --- a/build/patches/Disable-offline-pages-in-CCT.patch +++ b/build/patches/Disable-offline-pages-in-CCT.patch @@ -18,3 +18,5 @@ diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/ const base::Feature kOfflineIndicatorFeature{"OfflineIndicator", base::FEATURE_DISABLED_BY_DEFAULT}; +-- +2.25.1 diff --git a/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch index 70103e11..0c7e1f02 100644 --- a/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch +++ b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch @@ -44,3 +44,5 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte const FormatUrlType kFormatUrlOmitMailToScheme = 1 << 8; const FormatUrlType kFormatUrlOmitDefaults = +-- +2.25.1 diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch index 3467d922..5bb9b682 100644 --- a/build/patches/Disable-plugins-enumeration.patch +++ b/build/patches/Disable-plugins-enumeration.patch @@ -9,7 +9,7 @@ Subject: Disable plugins enumeration 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 -@@ -1871,10 +1871,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -1892,10 +1892,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { } PluginData* LocalFrame::GetPluginData() const { @@ -22,3 +22,5 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) { +-- +2.25.1 diff --git a/build/patches/Disable-privacy-sandbox.patch b/build/patches/Disable-privacy-sandbox.patch index 2eb03d86..e851a6b9 100644 --- a/build/patches/Disable-privacy-sandbox.patch +++ b/build/patches/Disable-privacy-sandbox.patch @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -73,7 +73,6 @@ public class PrivacySettings +@@ -72,7 +72,6 @@ public class PrivacySettings private static final String PREF_SECURE_DNS = "secure_dns"; private static final String PREF_DO_NOT_TRACK = "do_not_track"; private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; @@ -53,19 +53,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW); if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) { getPreferenceScreen().removePreference(privacyReviewPreference); -@@ -337,12 +324,6 @@ public class PrivacySettings +@@ -301,17 +288,11 @@ public class PrivacySettings secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext())); } - Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX); - if (privacySandboxPreference != null) { + ChromeSwitchPreference forceNoJit = + (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT); + forceNoJit.setOnPreferenceChangeListener(this); + forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate); + - privacySandboxPreference.setSummary( - PrivacySandboxSettingsFragment.getStatusString(getContext())); - } - - ChromeSwitchPreference closeTabsOnExitPref = - (ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT); - closeTabsOnExitPref.setOnPreferenceChangeListener(this); + ChromeSwitchPreference historyInIncognitoPref = + (ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED); + if (historyInIncognitoPref != null) { diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc --- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc @@ -104,7 +109,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome // On first entering the privacy sandbox experiment, users may have the // privacy sandbox disabled (or "reconciled") based on their current cookie // settings (e.g. blocking 3P cookies). Depending on the state of the sync -@@ -392,7 +379,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() { +@@ -383,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() { void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) { pref_service_->SetBoolean(prefs::kPrivacySandboxManuallyControlled, true); @@ -114,7 +119,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome } void PrivacySandboxSettings::OnCookiesCleared() { -@@ -446,6 +434,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext( +@@ -437,6 +425,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext( const GURL& url, const absl::optional& top_frame_origin, const ContentSettingsForOneType& cookie_settings) const { @@ -125,7 +130,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome if (!pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled)) return false; -@@ -458,6 +450,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext( +@@ -449,6 +441,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext( } void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() { @@ -138,3 +143,5 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome // No need to reconcile preferences if it has already happened. if (pref_service_->GetBoolean(prefs::kPrivacySandboxPreferencesReconciled)) { LogPrivacySandboxState(); +-- +2.25.1 diff --git a/build/patches/Disable-references-to-fonts.googleapis.com.patch b/build/patches/Disable-references-to-fonts.googleapis.com.patch index da2e96a6..4d3e8fb4 100644 --- a/build/patches/Disable-references-to-fonts.googleapis.com.patch +++ b/build/patches/Disable-references-to-fonts.googleapis.com.patch @@ -12,7 +12,7 @@ Subject: Disable references to fonts.googleapis.com diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc -@@ -300,7 +300,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest( +@@ -298,7 +298,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest( std::string DomDistillerViewerSource::GetContentSecurityPolicy( network::mojom::CSPDirectiveName directive) { if (directive == network::mojom::CSPDirectiveName::StyleSrc) { @@ -58,3 +58,5 @@ diff --git a/third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css b/th body, table, +-- +2.25.1 diff --git a/build/patches/Disable-requests-for-single-word-Omnibar-searches.patch b/build/patches/Disable-requests-for-single-word-Omnibar-searches.patch index 37a16914..8bba8436 100644 --- a/build/patches/Disable-requests-for-single-word-Omnibar-searches.patch +++ b/build/patches/Disable-requests-for-single-word-Omnibar-searches.patch @@ -24,3 +24,5 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c } ChromeOmniboxNavigationObserver::~ChromeOmniboxNavigationObserver() { +-- +2.25.1 diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index 8ac6f18e..1dacc47b 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -16,7 +16,6 @@ Disable CrowdDeny feature .../usage_stats/UsageStatsConsentDialog.java | 5 -- .../android/chrome_main_delegate_android.cc | 1 + chrome/browser/BUILD.gn | 28 -------- - chrome/browser/about_flags.cc | 2 +- .../tab_web_contents_delegate_android.cc | 8 +++ chrome/browser/browser_process.h | 7 -- chrome/browser/browser_process_impl.cc | 29 -------- @@ -51,22 +50,23 @@ Disable CrowdDeny feature ...ve_origin_permission_revocation_request.cc | 2 + .../permissions/chrome_permissions_client.cc | 14 ---- .../permissions/chrome_permissions_client.h | 3 - + ...quiet_notification_permission_ui_config.cc | 4 +- ...hrome_browser_main_extra_parts_profiles.cc | 2 - chrome/browser/profiles/profile_impl.cc | 4 +- chrome/browser/safe_browsing/BUILD.gn | 4 +- chrome/browser/safe_browsing/android/BUILD.gn | 4 -- .../safe_browsing/SafeBrowsingBridge.java | 71 ------------------- - .../android/safe_browsing_bridge.cc | 53 -------------- + .../android/safe_browsing_bridge.cc | 52 -------------- .../download_protection_service.cc | 5 -- .../download_protection_service.h | 5 -- .../url_lookup_service_factory.cc | 4 ++ .../safety_check/SafetyCheckMediator.java | 13 ---- - .../java/res/layout/fre_uma_dialog.xml | 11 --- - .../ui/fre/FreUMADialogCoordinator.java | 3 - .../ssl/sct_reporting_service_factory.cc | 11 +-- .../browser/ssl/security_state_tab_helper.cc | 10 +-- ...urce_filter_web_contents_helper_factory.cc | 4 ++ chrome/browser/ui/BUILD.gn | 2 - + .../signin/java/res/layout/fre_uma_dialog.xml | 11 --- + .../signin/fre/FreUMADialogCoordinator.java | 4 -- .../strings/android_chrome_strings.grd | 9 --- chrome/browser/ui/tab_helpers.cc | 17 ++--- .../ui/webui/interstitials/interstitial_ui.cc | 12 ++-- @@ -88,7 +88,7 @@ Disable CrowdDeny feature .../file_system_access_permission_context.h | 6 -- weblayer/BUILD.gn | 1 - weblayer/test/BUILD.gn | 1 - - 82 files changed, 180 insertions(+), 673 deletions(-) + 82 files changed, 181 insertions(+), 674 deletions(-) diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml --- a/chrome/android/java/res/xml/google_services_preferences.xml @@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/promo 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 -@@ -26,14 +26,11 @@ import org.chromium.chrome.browser.privacy_review.PrivacyReviewDialog; +@@ -25,14 +25,11 @@ import org.chromium.chrome.browser.privacy_review.PrivacyReviewDialog; import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxReferrer; import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment; import org.chromium.chrome.browser.profiles.Profile; @@ -202,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; import org.chromium.components.browser_ui.settings.SettingsLauncher; -@@ -53,9 +50,7 @@ public class PrivacySettings +@@ -52,9 +49,7 @@ public class PrivacySettings private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; private static final String PREF_SECURE_DNS = "secure_dns"; @@ -212,9 +212,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; -@@ -96,15 +91,6 @@ public class PrivacySettings - - setUpIncognitoReauthPreference(); +@@ -99,15 +94,6 @@ public class PrivacySettings + mIncognitoLockSettings = new IncognitoLockSettings(incognitoReauthPreference); + mIncognitoLockSettings.setUpIncognitoReauthPreference(getActivity()); - Preference safeBrowsingPreference = findPreference(PREF_SAFE_BROWSING); - safeBrowsingPreference.setSummary( @@ -228,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting setHasOptionsMenu(true); mManagedPreferenceDelegate = createManagedPreferenceDelegate(); -@@ -241,32 +227,6 @@ public class PrivacySettings +@@ -211,32 +197,6 @@ public class PrivacySettings secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext())); } @@ -315,7 +315,7 @@ diff --git a/chrome/app/android/chrome_main_delegate_android.cc b/chrome/app/and diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -314,16 +314,12 @@ static_library("browser") { +@@ -311,16 +311,12 @@ static_library("browser") { "component_updater/chrome_component_updater_configurator.h", "component_updater/chrome_origin_trials_component_installer.cc", "component_updater/chrome_origin_trials_component_installer.h", @@ -332,7 +332,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "component_updater/first_party_sets_component_installer.cc", "component_updater/first_party_sets_component_installer.h", "component_updater/floc_component_installer.cc", -@@ -1118,8 +1114,6 @@ static_library("browser") { +@@ -1117,8 +1113,6 @@ static_library("browser") { "permissions/adaptive_quiet_notification_permission_ui_enabler.h", "permissions/chrome_permissions_client.cc", "permissions/chrome_permissions_client.h", @@ -341,7 +341,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "permissions/crowd_deny_preload_data.cc", "permissions/crowd_deny_preload_data.h", "permissions/crowd_deny_safe_browsing_request.cc", -@@ -1454,15 +1448,6 @@ static_library("browser") { +@@ -1459,15 +1453,6 @@ static_library("browser") { "renderer_host/chrome_navigation_ui_data.h", "renderer_preferences_util.cc", "renderer_preferences_util.h", @@ -357,7 +357,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "resource_coordinator/resource_coordinator_parts.cc", "resource_coordinator/resource_coordinator_parts.h", "resource_coordinator/session_restore_policy.cc", -@@ -2189,11 +2174,8 @@ static_library("browser") { +@@ -2202,11 +2187,8 @@ static_library("browser") { "//components/reporting/util:status_macros", "//components/reporting/util:status_proto", "//components/reporting/util:task_runner_context", @@ -369,7 +369,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/safe_browsing/content/browser:safe_browsing_service", "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/web_ui", -@@ -3248,12 +3230,6 @@ static_library("browser") { +@@ -3271,12 +3253,6 @@ static_library("browser") { "profiles/profile_manager_android.cc", "profiles/profile_manager_android.h", "query_tiles/android/tile_provider_factory.cc", @@ -382,7 +382,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "safe_browsing/android/password_reuse_controller_android.cc", "safe_browsing/android/password_reuse_controller_android.h", "safe_browsing/android/safe_browsing_referring_app_bridge_android.cc", -@@ -3704,8 +3680,6 @@ static_library("browser") { +@@ -3738,8 +3714,6 @@ static_library("browser") { "download/download_commands.h", "download/download_crx_util.cc", "download/download_crx_util.h", @@ -391,7 +391,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "download/download_dir_policy_handler.cc", "download/download_dir_policy_handler.h", "download/download_dir_util.cc", -@@ -7369,8 +7343,6 @@ static_library("test_support") { +@@ -7466,8 +7440,6 @@ static_library("test_support") { "//components/reporting/util:status_macros", "//components/reporting/util:status_proto", "//components/reporting/util:task_runner_context", @@ -400,18 +400,6 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/safe_browsing/core/common/proto:csd_proto", "//components/search_engines:test_support", "//components/security_interstitials/content:security_interstitial_page", -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 -@@ -2203,7 +2203,7 @@ const FeatureEntry::FeatureParam - {QuietNotificationPermissionUiConfig::kEnableAbusiveRequestWarning, - "true"}, - {QuietNotificationPermissionUiConfig::kEnableCrowdDenyTriggering, -- "true"}, -+ "false"}, - {QuietNotificationPermissionUiConfig::kCrowdDenyHoldBackChance, "0"}}; - - // The default "Enabled" option has the semantics of showing the quiet UI diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrome/browser/android/tab_web_contents_delegate_android.cc --- a/chrome/browser/android/tab_web_contents_delegate_android.cc +++ b/chrome/browser/android/tab_web_contents_delegate_android.cc @@ -435,7 +423,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom #include "components/security_state/content/content_utils.h" #include "content/public/browser/file_select_listener.h" #include "content/public/browser/navigation_entry.h" -@@ -155,8 +159,10 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( +@@ -154,8 +158,10 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( content::WebContents* portal_contents) { WebContentsDelegateAndroid::PortalWebContentsCreated(portal_contents); @@ -446,7 +434,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom // This is a subset of the tab helpers that would be attached by // TabAndroid::AttachTabHelpers. -@@ -178,11 +184,13 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( +@@ -177,11 +183,13 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( infobars::ContentInfoBarManager::CreateForWebContents(portal_contents); PrefsTabHelper::CreateForWebContents(portal_contents); DataReductionProxyTabHelper::CreateForWebContents(portal_contents); @@ -495,7 +483,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro #include "chrome/browser/shell_integration.h" #include "chrome/browser/site_isolation/prefs_observer.h" #include "chrome/browser/ssl/secure_origin_prefs_observer.h" -@@ -110,7 +109,6 @@ +@@ -111,7 +110,6 @@ #include "components/prefs/json_pref_store.h" #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" @@ -503,7 +491,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro #include "components/sessions/core/session_id_generator.h" #include "components/subresource_filter/content/browser/ruleset_service.h" #include "components/translate/core/browser/translate_download_manager.h" -@@ -395,8 +393,6 @@ void BrowserProcessImpl::StartTearDown() { +@@ -396,8 +394,6 @@ void BrowserProcessImpl::StartTearDown() { metrics_services_manager_.reset(); intranet_redirect_detector_.reset(); @@ -512,7 +500,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro network_time_tracker_.reset(); #if BUILDFLAG(ENABLE_PLUGINS) plugins_resource_service_.reset(); -@@ -1030,14 +1026,6 @@ StatusTray* BrowserProcessImpl::status_tray() { +@@ -1031,14 +1027,6 @@ StatusTray* BrowserProcessImpl::status_tray() { return status_tray_.get(); } @@ -527,7 +515,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro subresource_filter::RulesetService* BrowserProcessImpl::subresource_filter_ruleset_service() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -1301,23 +1289,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() { +@@ -1303,23 +1291,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() { } void BrowserProcessImpl::CreateSafeBrowsingService() { @@ -605,9 +593,9 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #include "chrome/browser/safe_browsing/url_lookup_service_factory.h" +#endif #include "chrome/browser/search/search.h" + #include "chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.h" #include "chrome/browser/sharing/sms/sms_remote_fetcher.h" - #include "chrome/browser/signin/chrome_signin_proxying_url_loader_factory.h" -@@ -928,9 +930,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) { +@@ -936,9 +938,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) { class CertificateReportingServiceCertReporter : public SSLCertReporter { public: explicit CertificateReportingServiceCertReporter( @@ -618,7 +606,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch CertificateReportingServiceCertReporter( const CertificateReportingServiceCertReporter&) = delete; -@@ -942,11 +942,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter { +@@ -950,11 +950,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter { // SSLCertReporter implementation void ReportInvalidCertificateChain( const std::string& serialized_report) override { @@ -630,7 +618,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch }; #if BUILDFLAG(ENABLE_EXTENSIONS) -@@ -1423,7 +1421,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask( +@@ -1438,7 +1436,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask( InitNetworkContextsParentDirectory(); DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -640,7 +628,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch } bool ChromeContentBrowserClient::IsBrowserStartupComplete() { -@@ -2163,7 +2163,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2178,7 +2178,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( } #elif defined(OS_POSIX) #if defined(OS_ANDROID) @@ -649,7 +637,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #else bool enable_crash_reporter = false; if (crash_reporter::IsCrashpadEnabled()) { -@@ -2300,6 +2300,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2315,6 +2315,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( command_line->AppendSwitch( switches::kSharedArrayBufferUnrestrictedAccessAllowed); } @@ -667,7 +655,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // g_browser_process->safe_browsing_service() may be null in unittests. safe_browsing::SafeBrowsingUIManager* ui_manager = g_browser_process->safe_browsing_service() -@@ -4272,6 +4276,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -4273,6 +4277,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( std::make_unique( handle)); } @@ -675,7 +663,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -@@ -5670,6 +5675,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( +@@ -5684,6 +5689,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( const std::vector& allowlist_domains) { DCHECK_CURRENTLY_ON(BrowserThread::IO); @@ -683,7 +671,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // Should not bypass safe browsing check if the check is for enterprise // lookup. if (!safe_browsing_enabled_for_profile && !should_check_on_sb_disabled) -@@ -5690,6 +5696,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( +@@ -5704,6 +5710,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( } return safe_browsing_url_checker_delegate_; @@ -693,7 +681,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch } safe_browsing::RealTimeUrlLookupServiceBase* -@@ -5697,24 +5706,28 @@ ChromeContentBrowserClient::GetUrlLookupService( +@@ -5711,24 +5720,28 @@ ChromeContentBrowserClient::GetUrlLookupService( content::BrowserContext* browser_context, bool is_enterprise_lookup_enabled, bool is_consumer_lookup_enabled) { @@ -726,7 +714,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 -@@ -843,9 +843,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -844,9 +844,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { // Parts are deleted in the reverse order they are added. std::vector extra_parts_; @@ -802,7 +790,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c #include "chrome/browser/component_updater/crl_set_component_installer.h" #include "chrome/browser/component_updater/crowd_deny_component_installer.h" #include "chrome/browser/component_updater/file_type_policies_component_installer.h" -@@ -36,7 +35,6 @@ +@@ -35,7 +34,6 @@ #include "components/component_updater/installer_policies/autofill_states_component_installer.h" #include "components/component_updater/installer_policies/on_device_head_suggest_component_installer.h" #include "components/component_updater/installer_policies/optimization_hints_component_installer.h" @@ -810,7 +798,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c #include "components/nacl/common/buildflags.h" #include "device/vr/buildflags/buildflags.h" #include "ppapi/buildflags/buildflags.h" -@@ -200,9 +198,6 @@ void RegisterComponentsForUpdate(bool is_off_the_record_profile, +@@ -188,9 +186,6 @@ void RegisterComponentsForUpdate() { MaybeRegisterPKIMetadataComponent(cus); @@ -820,7 +808,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c #if BUILDFLAG(IS_CHROMEOS_ASH) RegisterSmartDimComponent(cus); #endif // !BUILDFLAG(IS_CHROMEOS_ASH) -@@ -219,8 +214,6 @@ void RegisterComponentsForUpdate(bool is_off_the_record_profile, +@@ -207,8 +202,6 @@ void RegisterComponentsForUpdate() { RegisterAutofillStatesComponent(cus, g_browser_process->local_state()); RegisterAutofillRegexComponent(cus); @@ -960,7 +948,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom void ChromeDownloadManagerDelegate::GetMixedContentStatus( download::DownloadItem* download, -@@ -1535,8 +1524,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( +@@ -1545,8 +1534,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); #endif @@ -972,7 +960,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (ShouldBlockFile(target_info->danger_type, item)) { MaybeReportDangerousDownloadBlocked( download_prefs_->download_restriction(), "DANGEROUS_FILE_TYPE", -@@ -1545,6 +1537,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( +@@ -1555,6 +1547,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( // A dangerous type would take precedence over the blocking of the file. target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS; } @@ -980,7 +968,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom base::FilePath target_path = target_info->target_path; -@@ -1687,7 +1680,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( +@@ -1697,7 +1690,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( service->MaybeSendDangerousDownloadOpenedReport(download, show_download_in_folder); } @@ -988,7 +976,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (!download->GetAutoOpened()) { download::DownloadContent download_content = download::DownloadContentFromMimeType(download->GetMimeType(), false); -@@ -1695,6 +1687,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( +@@ -1705,6 +1697,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( download->GetDangerType(), download_content, base::Time::Now(), download->GetEndTime(), show_download_in_folder); } @@ -1176,7 +1164,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download namespace { -@@ -260,14 +264,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) { +@@ -251,14 +255,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) { base::FilePath::StringType(1, base::FilePath::kExtensionSeparator) + extension); @@ -1192,7 +1180,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download } } -@@ -475,10 +472,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url, +@@ -466,10 +463,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url, bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension( const base::FilePath& file_name) { base::FilePath::StringType extension = file_name.Extension(); @@ -1683,7 +1671,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss #include "chrome/browser/ui/file_system_access_dialogs.h" #include "chrome/common/chrome_paths.h" #include "components/content_settings/core/browser/host_content_settings_map.h" -@@ -299,6 +301,7 @@ BindResultCallbackToCurrentSequence( +@@ -301,6 +303,7 @@ BindResultCallbackToCurrentSequence( base::SequencedTaskRunnerHandle::Get(), std::move(callback)); } @@ -1691,7 +1679,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void DoSafeBrowsingCheckOnUIThread( content::GlobalRenderFrameHostId frame_id, std::unique_ptr item, -@@ -375,6 +378,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) { +@@ -377,6 +380,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) { NOTREACHED(); return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::kBlock; } @@ -1699,7 +1687,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss std::string GenerateLastPickedDirectoryKey(const std::string& id) { return id.empty() ? kDefaultLastPickedDirectoryKey -@@ -1106,6 +1110,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveDirectoryAccess( +@@ -1130,6 +1134,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveDirectoryAccess( std::move(callback))); } @@ -1707,7 +1695,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( std::unique_ptr item, content::GlobalRenderFrameHostId frame_id, -@@ -1127,6 +1132,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( +@@ -1151,6 +1156,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( }, base::SequencedTaskRunnerHandle::Get(), std::move(callback)))); } @@ -1760,7 +1748,7 @@ diff --git a/chrome/browser/lookalikes/lookalike_url_controller_client.cc b/chro 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 -@@ -828,9 +828,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() { +@@ -824,9 +824,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() { metrics_service_->RegisterMetricsProvider( std::make_unique()); @@ -1786,7 +1774,7 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -828,21 +828,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const { +@@ -830,21 +830,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const { safe_browsing::PasswordProtectionService* ChromePasswordManagerClient::GetPasswordProtectionService() const { @@ -1809,7 +1797,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b } #endif // defined(ON_FOCUS_PING_ENABLED) -@@ -852,22 +844,9 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +@@ -854,22 +846,9 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( const std::vector& matching_reused_credentials, bool password_field_exists) { @@ -1832,7 +1820,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b } #if !defined(OS_ANDROID) -@@ -1441,6 +1420,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( +@@ -1459,6 +1438,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( is_enabled = false; } @@ -1840,7 +1828,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b // SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing // warnings until user interaction. If the current page has a delayed warning, // it'll have a user interaction observer attached. Disable password -@@ -1451,6 +1431,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( +@@ -1469,6 +1449,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( observer->OnPasswordSaveOrAutofillDenied(); is_enabled = false; } @@ -1911,6 +1899,20 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.h b/chrome/bro void OnPromptResolved( content::BrowserContext* browser_context, permissions::RequestType request_type, +diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc +--- a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc ++++ b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc +@@ -89,8 +89,8 @@ bool QuietNotificationPermissionUiConfig::IsCrowdDenyTriggeringEnabled() { + return false; + + return base::GetFieldTrialParamByFeatureAsBool( +- features::kQuietNotificationPrompts, kEnableCrowdDenyTriggering, +- true /* default */); ++ features::kQuietNotificationPrompts, kEnableCrowdDenyTriggering, // disabled by default in Bromite ++ false /* default */); + } + + // static 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 @@ -1922,7 +1924,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/search_engines/template_url_fetcher_factory.h" #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/segmentation_platform/segmentation_platform_service_factory.h" -@@ -297,7 +296,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -298,7 +297,6 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_CHROMEOS_LACROS) CertDbInitializerFactory::GetInstance(); #endif @@ -1941,7 +1943,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p #include "chrome/browser/sessions/exit_type_service.h" #include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/signin/identity_manager_factory.h" -@@ -627,6 +626,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { +@@ -628,6 +627,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { mojo::PendingRemote pref_validation_delegate; @@ -1949,7 +1951,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p scoped_refptr safe_browsing_service( g_browser_process->safe_browsing_service()); if (safe_browsing_service.get()) { -@@ -638,7 +638,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { +@@ -639,7 +639,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { pref_validation_delegate.InitWithNewPipeAndPassReceiver()); } } @@ -1985,7 +1987,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin if (safe_browsing_mode != 0) { # "Safe Browsing Basic" files used for safe browsing in full mode -@@ -162,7 +163,6 @@ static_library("safe_browsing") { +@@ -164,7 +165,6 @@ static_library("safe_browsing") { "//components/safe_browsing/content/browser/triggers:ad_sampler_trigger", "//components/safe_browsing/content/browser/triggers:suspicious_site_trigger", "//components/safe_browsing/content/browser/triggers:trigger_throttler", @@ -2094,11 +2096,10 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc --- a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc +++ b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc -@@ -31,57 +31,4 @@ PrefService* GetPrefService() { - } // namespace +@@ -32,56 +32,4 @@ PrefService* GetPrefService() { namespace safe_browsing { -- + -static jint JNI_SafeBrowsingBridge_UmaValueForFile( - JNIEnv* env, - const base::android::JavaParamRef& path) { @@ -2147,7 +2148,7 @@ diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chro - signin::IdentityManager* identity_manager = - IdentityManagerFactory::GetForProfile( - ProfileManager::GetLastUsedProfile()); -- return password_manager::AuthenticatedLeakCheck::HasAccountForRequest( +- return password_manager::LeakDetectionCheckImpl::HasAccountForRequest( - identity_manager); -} - @@ -2213,7 +2214,7 @@ diff --git a/chrome/browser/safe_browsing/url_lookup_service_factory.cc b/chrome diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java --- a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java +++ b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java -@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper; +@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.safe_browsing.metrics.SettingsAccessPoint; @@ -2221,7 +2222,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.PasswordsState; import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.SafeBrowsingState; import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.UpdatesState; -@@ -177,18 +176,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer { +@@ -176,18 +175,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer { // Set the listener for clicking the Safe Browsing element. mModel.set(SafetyCheckProperties.SAFE_BROWSING_CLICK_LISTENER, (Preference.OnPreferenceClickListener) (p) -> { @@ -2240,40 +2241,6 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br return true; }); // Set the listener for clicking the passwords element. -diff --git a/chrome/browser/signin/ui/android/java/res/layout/fre_uma_dialog.xml b/chrome/browser/signin/ui/android/java/res/layout/fre_uma_dialog.xml ---- a/chrome/browser/signin/ui/android/java/res/layout/fre_uma_dialog.xml -+++ b/chrome/browser/signin/ui/android/java/res/layout/fre_uma_dialog.xml -@@ -22,17 +22,6 @@ - android:text="@string/signin_fre_uma_dialog_title" - style="@style/TextAppearance.Headline.Primary" /> - -- -- - mDialogManager.dismissDialog( - mModel, DialogDismissalCause.ACTION_ON_CONTENT)); -- Switch umaSwitch = view.findViewById(R.id.fre_uma_dialog_switch); -- umaSwitch.setOnCheckedChangeListener( -- (compoundButton, isChecked) -> listener.onAllowCrashUploadChecked(isChecked)); - return view; - } - diff --git a/chrome/browser/ssl/sct_reporting_service_factory.cc b/chrome/browser/ssl/sct_reporting_service_factory.cc --- a/chrome/browser/ssl/sct_reporting_service_factory.cc +++ b/chrome/browser/ssl/sct_reporting_service_factory.cc @@ -2313,7 +2280,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/ssl/https_only_mode_tab_helper.h" #include "chrome/browser/ssl/known_interception_disclosure_infobar_delegate.h" -@@ -104,13 +103,8 @@ SecurityStateTabHelper::GetVisibleSecurityState() { +@@ -103,13 +102,8 @@ SecurityStateTabHelper::GetVisibleSecurityState() { // information is still being initialized, thus no need to check for that. state->malicious_content_status = GetMaliciousContentStatus(); @@ -2327,8 +2294,8 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss + security_state::SafetyTipInfo( {security_state::SafetyTipStatus::kUnknown, GURL()}); - // If both the on-form warning and the on-submit warning are enabled for mixed -@@ -217,6 +211,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const { + // If both the mixed form warnings are not disabled by policy we don't degrade +@@ -210,6 +204,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const { security_state::MaliciousContentStatus SecurityStateTabHelper::GetMaliciousContentStatus() const { @@ -2336,7 +2303,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss content::NavigationEntry* entry = web_contents()->GetController().GetVisibleEntry(); if (!entry) -@@ -300,6 +295,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -293,6 +288,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { break; } } @@ -2373,7 +2340,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/web_ui", "//components/safe_browsing/core/browser/db:database_manager", -@@ -3946,7 +3945,6 @@ static_library("ui") { +@@ -3957,7 +3956,6 @@ static_library("ui") { "views/device_chooser_content_view.h", "views/devtools_process_observer.cc", "views/devtools_process_observer.h", @@ -2381,6 +2348,41 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "views/download/download_in_progress_dialog_view.cc", "views/download/download_in_progress_dialog_view.h", "views/download/download_item_view.cc", +diff --git a/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml b/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml +--- a/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml ++++ b/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml +@@ -32,17 +32,6 @@ + android:text="@string/signin_fre_uma_dialog_title" + style="@style/TextAppearance.Headline.Primary" /> + +- +- + { + mDialogManager.dismissDialog(mModel, DialogDismissalCause.ACTION_ON_CONTENT); + }); +- final Switch umaSwitch = mView.findViewById(R.id.fre_uma_dialog_switch); +- umaSwitch.setChecked(allowCrashUpload); +- umaSwitch.setOnCheckedChangeListener( +- (compoundButton, isChecked) -> listener.onAllowCrashUploadChecked(isChecked)); + + mDialogManager.showDialog(mModel, ModalDialogType.APP); + } diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd @@ -2397,7 +2399,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4536,9 +4530,6 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

<link>Make searches and browsing better</link> must be turned on @@ -2436,7 +2438,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "components/site_engagement/content/site_engagement_helper.h" #include "components/site_engagement/content/site_engagement_service.h" #include "components/sync/engine/sync_engine_switches.h" -@@ -330,17 +332,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -343,17 +345,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { // See https://crbug.com/910288. resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents( web_contents); @@ -2547,7 +2549,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/ 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 -@@ -97,7 +97,9 @@ +@@ -98,7 +98,9 @@ #include "components/page_load_metrics/renderer/metrics_render_frame_observer.h" #include "components/paint_preview/buildflags/buildflags.h" #include "components/safe_browsing/buildflags.h" @@ -2560,7 +2562,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -1196,7 +1196,6 @@ if (!is_android && !is_fuchsia) { +@@ -1205,7 +1205,6 @@ if (!is_android && !is_fuchsia) { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -2568,7 +2570,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/safe_browsing/content/browser:safe_browsing_service", "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/password_protection:test_support", -@@ -5349,7 +5348,6 @@ test("unit_tests") { +@@ -5405,7 +5404,6 @@ test("unit_tests") { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -2591,7 +2593,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen 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 -@@ -533,10 +533,7 @@ PermissionRequestManager::PermissionRequestManager( +@@ -557,10 +557,7 @@ PermissionRequestManager::PermissionRequestManager( view_(nullptr), tab_is_hidden_(web_contents->GetVisibility() == content::Visibility::HIDDEN), @@ -2606,7 +2608,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn --- a/components/safe_browsing/content/browser/BUILD.gn +++ b/components/safe_browsing/content/browser/BUILD.gn -@@ -145,7 +145,6 @@ source_set("unit_tests") { +@@ -140,7 +140,6 @@ source_set("unit_tests") { ] deps = [ @@ -2630,7 +2632,7 @@ diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/com diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc --- a/components/safe_browsing/core/common/features.cc +++ b/components/safe_browsing/core/common/features.cc -@@ -134,7 +134,7 @@ constexpr base::FeatureParam kShouldFillOldPhishGuardProto{ +@@ -126,7 +126,7 @@ constexpr base::FeatureParam kShouldFillOldPhishGuardProto{ &kPasswordProtectionForSignedInUsers, "DeprecateOldProto", false}; const base::Feature kSuspiciousSiteTriggerQuotaFeature{ @@ -2701,9 +2703,9 @@ diff --git a/content/browser/file_system_access/file_system_access_file_writer_i auto_close_(auto_close) { DCHECK_EQ(swap_url.type(), url.type()); DCHECK_EQ(lock_->type(), -@@ -252,7 +251,7 @@ void FileSystemAccessFileWriterImpl::CloseImpl(CloseCallback callback) { - /*dest_url=*/url(), - FileSystemOperation::OPTION_PRESERVE_DESTINATION_PERMISSIONS, +@@ -254,7 +253,7 @@ void FileSystemAccessFileWriterImpl::CloseImpl(CloseCallback callback) { + FileSystemOperation::CopyOrMoveOption:: + kPreserveDestinationPermissions), std::move(quarantine_connection_callback_), - has_transient_user_activation_); + false); @@ -2729,7 +2731,7 @@ diff --git a/content/browser/file_system_access/safe_move_helper.cc b/content/br +++ b/content/browser/file_system_access/safe_move_helper.cc @@ -135,8 +135,7 @@ SafeMoveHelper::SafeMoveHelper( dest_url_(dest_url), - option_(option), + options_(options), quarantine_connection_callback_( - std::move(quarantine_connection_callback)), - has_transient_user_activation_(has_transient_user_activation) {} @@ -2841,7 +2843,7 @@ diff --git a/content/public/browser/file_system_access_permission_context.h b/co diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn --- a/weblayer/BUILD.gn +++ b/weblayer/BUILD.gn -@@ -463,7 +463,6 @@ source_set("weblayer_lib_base") { +@@ -461,7 +461,6 @@ source_set("weblayer_lib_base") { "//components/prefs", "//components/profile_metrics", "//components/safe_browsing/content/browser", @@ -2860,3 +2862,5 @@ diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn "//components/safe_browsing/content/common:interfaces", "//components/safe_browsing/core/browser:token_fetcher", "//components/safe_browsing/core/common", +-- +2.25.1 diff --git a/build/patches/Disable-search-engine-DSE-automatic-permission.patch b/build/patches/Disable-search-engine-DSE-automatic-permission.patch index 72b87615..66a92eef 100644 --- a/build/patches/Disable-search-engine-DSE-automatic-permission.patch +++ b/build/patches/Disable-search-engine-DSE-automatic-permission.patch @@ -18,3 +18,5 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature #endif // defined(OS_ANDROID) } // namespace features +-- +2.25.1 diff --git a/build/patches/Disable-smart-selection-by-default.patch b/build/patches/Disable-smart-selection-by-default.patch index bb580f27..f94df2d5 100644 --- a/build/patches/Disable-smart-selection-by-default.patch +++ b/build/patches/Disable-smart-selection-by-default.patch @@ -43,7 +43,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 -@@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kCCTClientDataHeader, &kCCTExternalLinkHandling, &kCCTIncognito, @@ -51,7 +51,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kCCTIncognitoAvailableToThirdParty, &kCCTPostMessageAPI, &kCCTRedirectPreconnect, -@@ -500,6 +501,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{ +@@ -505,6 +506,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{ const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -98,7 +98,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -1975,6 +1975,21 @@ +@@ -2131,6 +2131,21 @@ ] } ], @@ -120,3 +120,5 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati "ChromeStart": [ { "platforms": [ +-- +2.25.1 diff --git a/build/patches/Disable-some-signed-exchange-features.patch b/build/patches/Disable-some-signed-exchange-features.patch index bb1647fc..4dd99055 100644 --- a/build/patches/Disable-some-signed-exchange-features.patch +++ b/build/patches/Disable-some-signed-exchange-features.patch @@ -9,21 +9,23 @@ Subject: Disable some signed exchange features diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -701,7 +701,7 @@ const base::Feature kSharedArrayBufferOnDesktop{ +@@ -726,7 +726,7 @@ const base::Feature kSharedArrayBufferOnDesktop{ // Signed Exchange Reporting for distributors - // https://www.chromestatus.com/features/5687904902840320 + // https://www.chromestatus.com/feature/5687904902840320 const base::Feature kSignedExchangeReportingForDistributors{ - "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT}; + "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT}; // Subresource prefetching+loading via Signed HTTP Exchange - // https://www.chromestatus.com/features/5126805474246656 -@@ -711,7 +711,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{ + // https://www.chromestatus.com/feature/5126805474246656 +@@ -736,7 +736,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{ // Origin-Signed HTTP Exchanges (for WebPackage Loading) - // https://www.chromestatus.com/features/5745285984681984 + // https://www.chromestatus.com/feature/5745285984681984 const base::Feature kSignedHTTPExchange{"SignedHTTPExchange", - base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT}; // Whether to send a ping to the inner URL upon navigation or not. const base::Feature kSignedHTTPExchangePingValidity{ +-- +2.25.1 diff --git a/build/patches/Disable-support-for-RAR-files-inspection.patch b/build/patches/Disable-support-for-RAR-files-inspection.patch index 8887567b..8ded6661 100644 --- a/build/patches/Disable-support-for-RAR-files-inspection.patch +++ b/build/patches/Disable-support-for-RAR-files-inspection.patch @@ -91,3 +91,5 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service - std::move(rar_file), std::move(temporary_file), &results); std::move(callback).Run(results); } +-- +2.25.1 diff --git a/build/patches/Disable-text-fragments-by-default.patch b/build/patches/Disable-text-fragments-by-default.patch index 9c78b3f7..02541366 100644 --- a/build/patches/Disable-text-fragments-by-default.patch +++ b/build/patches/Disable-text-fragments-by-default.patch @@ -17,7 +17,7 @@ Revert "[Text Fragment] Unflag fragment directive removal." 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 -@@ -5538,6 +5538,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5629,6 +5629,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop, FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)}, #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) @@ -28,7 +28,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -2961,7 +2961,7 @@ +@@ -2989,7 +2989,7 @@ { "name": "ev-details-in-page-info", "owners": [ "cthomp" ], @@ -52,7 +52,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 -@@ -263,6 +263,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -264,6 +264,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnableMouseSubframeNoImplicitCapture, features::kMouseSubframeNoImplicitCapture}, {wf::EnableNeverSlowMode, features::kNeverSlowMode}, @@ -63,7 +63,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. 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 -@@ -387,7 +387,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI", +@@ -393,7 +393,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI", // Enable text snippets in URL fragments. https://crbug.com/919204. const base::Feature kTextFragmentAnchor{"TextFragmentAnchor", @@ -75,9 +75,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea 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 -@@ -4062,6 +4062,10 @@ void Document::SetURL(const KURL& url) { - } - } +@@ -4033,9 +4033,14 @@ void Document::SetURL(const KURL& url) { + TRACE_EVENT1("navigation", "Document::SetURL", "url", + new_url.GetString().Utf8()); + // If text fragment identifiers are enabled, we strip the fragment directive + // from the URL fragment. @@ -85,11 +85,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink + if (RuntimeEnabledFeatures::TextFragmentIdentifiersEnabled(domWindow())) { // Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a" // --> "#id". See https://github.com/WICG/scroll-to-text-fragment. - String fragment = new_url.FragmentIdentifier(); -@@ -4075,6 +4079,7 @@ void Document::SetURL(const KURL& url) { - else - new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos)); - } + new_url = fragment_directive_->ConsumeFragmentDirective(new_url); + } url_ = new_url; @@ -97,7 +93,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc --- a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc +++ b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc -@@ -1249,34 +1249,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) { +@@ -1252,34 +1252,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) { // result of the element-id fragment if a text directive is successfully // parsed. If the feature is off we treat the text directive as an element-id // and should count the result. @@ -145,7 +141,7 @@ diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor 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 -@@ -2178,8 +2178,7 @@ +@@ -2222,8 +2222,7 @@ }, { name: "TextFragmentIdentifiers", @@ -155,3 +151,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, { name: "TextFragmentTapOpensContextMenu", +-- +2.25.1 diff --git a/build/patches/Disable-the-DIAL-repeating-discovery.patch b/build/patches/Disable-the-DIAL-repeating-discovery.patch index 11944933..4f808f5f 100644 --- a/build/patches/Disable-the-DIAL-repeating-discovery.patch +++ b/build/patches/Disable-the-DIAL-repeating-discovery.patch @@ -30,3 +30,5 @@ diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrom dial_->RemoveObserver(this); ClearDialService(); } +-- +2.25.1 diff --git a/build/patches/Disable-third-party-cookies-by-default.patch b/build/patches/Disable-third-party-cookies-by-default.patch index 6a37292e..4db43923 100644 --- a/build/patches/Disable-third-party-cookies-by-default.patch +++ b/build/patches/Disable-third-party-cookies-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); } +-- +2.25.1 diff --git a/build/patches/Disable-third-party-origin-trials.patch b/build/patches/Disable-third-party-origin-trials.patch index 63ce1adc..1083001b 100644 --- a/build/patches/Disable-third-party-origin-trials.patch +++ b/build/patches/Disable-third-party-origin-trials.patch @@ -59,7 +59,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 -@@ -6522,7 +6522,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() { +@@ -6588,7 +6588,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() { void NavigationRequest::ForceEnableOriginTrials( const std::vector& trials) { DCHECK(!HasCommitted()); @@ -70,7 +70,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows 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 -@@ -469,10 +469,6 @@ void FillNavigationParamsRequest( +@@ -470,10 +470,6 @@ void FillNavigationParamsRequest( common_params.initiator_origin.value(); } @@ -81,7 +81,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra navigation_params->was_discarded = commit_params.was_discarded; navigation_params->document_ukm_source_id = commit_params.document_ukm_source_id; -@@ -505,12 +501,6 @@ void FillNavigationParamsRequest( +@@ -506,12 +502,6 @@ void FillNavigationParamsRequest( navigation_params->web_bundle_claimed_url = commit_params.web_bundle_claimed_url; @@ -94,7 +94,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra if (!commit_params.early_hints_preloaded_resources.empty()) { navigation_params->early_hints_preloaded_resources = WebVector(); for (const auto& resource : commit_params.early_hints_preloaded_resources) { -@@ -556,11 +546,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -558,11 +548,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.GetURLRequestExtraData().get()); DCHECK(url_request_extra_data); @@ -106,15 +106,15 @@ 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(), -@@ -579,7 +564,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -581,7 +566,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.HasUserGesture(), info->url_request.HasTextFragmentToken(), info->should_check_main_world_content_security_policy, - initiator_origin_trial_features, info->href_translate.Latin1(), + /*initiator_origin_trial_features*/std::vector(), info->href_translate.Latin1(), - is_history_navigation_in_new_child_frame, info->input_start); + is_history_navigation_in_new_child_frame, info->input_start, + request_destination); } - diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/common/shell_origin_trial_policy.cc --- a/content/shell/common/shell_origin_trial_policy.cc +++ b/content/shell/common/shell_origin_trial_policy.cc @@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -2432,10 +2419,6 @@ void DocumentLoader::CreateParserPostCommit() { +@@ -2450,10 +2437,6 @@ void DocumentLoader::CreateParserPostCommit() { OriginTrialFeature::kTouchEventFeatureDetection); } @@ -251,7 +251,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context. 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 -@@ -2188,10 +2188,6 @@ +@@ -2232,10 +2232,6 @@ name: "TextFragmentTapOpensContextMenu", status: {"Android": "stable"}, }, @@ -262,3 +262,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes", status: "experimental", +-- +2.25.1 diff --git a/build/patches/Disable-unified-autoplay-feature.patch b/build/patches/Disable-unified-autoplay-feature.patch index fab54464..e9e8a71e 100644 --- a/build/patches/Disable-unified-autoplay-feature.patch +++ b/build/patches/Disable-unified-autoplay-feature.patch @@ -9,7 +9,7 @@ Subject: Disable unified autoplay feature 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 -@@ -490,7 +490,7 @@ const base::Feature kUseR16Texture{"use-r16-texture", +@@ -491,7 +491,7 @@ const base::Feature kUseR16Texture{"use-r16-texture", // Enables the Unified Autoplay policy by overriding the platform's default // autoplay policy. const base::Feature kUnifiedAutoplay{"UnifiedAutoplay", @@ -18,3 +18,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc #if defined(OS_LINUX) // Enable vaapi video decoding on linux. This is already enabled by default on +-- +2.25.1 diff --git a/build/patches/Disable-update-scheduler.patch b/build/patches/Disable-update-scheduler.patch index b8627d7b..9833cc6f 100644 --- a/build/patches/Disable-update-scheduler.patch +++ b/build/patches/Disable-update-scheduler.patch @@ -20,3 +20,5 @@ diff --git a/components/component_updater/android/java/src/org/chromium/componen } /* package */ void onStartTaskBeforeNativeLoaded(TaskFinishedCallback callback) { +-- +2.25.1 diff --git a/build/patches/Disable-various-metrics.patch b/build/patches/Disable-various-metrics.patch new file mode 100644 index 00000000..a3a558c5 --- /dev/null +++ b/build/patches/Disable-various-metrics.patch @@ -0,0 +1,89 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed, 16 Feb 2022 11:32:33 +0100 +Subject: Disable various metrics + +Including initial metrics opt-out +--- + .../browser/firstrun/FirstRunActivityBase.java | 2 +- + chrome/browser/chrome_content_browser_client.cc | 15 --------------- + .../chrome_metrics_services_manager_client.cc | 2 +- + services/metrics/public/cpp/ukm_recorder.cc | 2 +- + 4 files changed, 3 insertions(+), 18 deletions(-) + +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java +@@ -44,7 +44,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity { + static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage"; + static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent"; + +- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true; ++ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false; + + private boolean mNativeInitialized; + +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 +@@ -62,7 +62,6 @@ + #include "chrome/browser/hid/chrome_hid_delegate.h" + #include "chrome/browser/interstitials/enterprise_util.h" + #include "chrome/browser/lifetime/browser_shutdown.h" +-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h" + #include "chrome/browser/media/audio_service_util.h" + #include "chrome/browser/media/router/media_router_feature.h" + #include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h" +@@ -4091,16 +4090,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( + content::NavigationHandle* handle) { + std::vector> throttles; + +- // MetricsNavigationThrottle requires that it runs before NavigationThrottles +- // that may delay or cancel navigations, so only NavigationThrottles that +- // don't delay or cancel navigations (e.g. throttles that are only observing +- // callbacks without affecting navigation behavior) should be added before +- // MetricsNavigationThrottle. +- if (handle->IsInMainFrame()) { +- throttles.push_back( +- page_load_metrics::MetricsNavigationThrottle::Create(handle)); +- } +- + #if BUILDFLAG(IS_CHROMEOS_ASH) + MaybeAddThrottle( + ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle), +@@ -4198,10 +4187,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( + &throttles); + #endif + +- MaybeAddThrottle( +- LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(handle), +- &throttles); +- + MaybeAddThrottle(PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle), + &throttles); + #if BUILDFLAG(ENABLE_PDF) +diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc ++++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +@@ -73,7 +73,7 @@ namespace internal { + // recording and reporting are enabled. If the feature is enabled, but no + // consent is given, then there will be no recording or reporting. + const base::Feature kMetricsReportingFeature{"MetricsReporting", +- base::FEATURE_ENABLED_BY_DEFAULT}; ++ base::FEATURE_DISABLED_BY_DEFAULT}; + + } // namespace internal + } // namespace metrics +diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/public/cpp/ukm_recorder.cc +--- a/services/metrics/public/cpp/ukm_recorder.cc ++++ b/services/metrics/public/cpp/ukm_recorder.cc +@@ -13,7 +13,7 @@ + + namespace ukm { + +-const base::Feature kUkmFeature = {"Ukm", base::FEATURE_ENABLED_BY_DEFAULT}; ++const base::Feature kUkmFeature = {"Ukm", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite + + UkmRecorder::UkmRecorder() = default; + +-- +2.25.1 diff --git a/build/patches/Do-not-build-API-keys-infobar.patch b/build/patches/Do-not-build-API-keys-infobar.patch index 56e376af..018b12c4 100644 --- a/build/patches/Do-not-build-API-keys-infobar.patch +++ b/build/patches/Do-not-build-API-keys-infobar.patch @@ -9,7 +9,7 @@ Subject: Do not build API keys infobar 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 -@@ -1227,8 +1227,6 @@ static_library("ui") { +@@ -1229,8 +1229,6 @@ static_library("ui") { "singleton_tabs.h", "startup/automation_infobar_delegate.cc", "startup/automation_infobar_delegate.h", @@ -18,3 +18,5 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "startup/launch_mode_recorder.cc", "startup/launch_mode_recorder.h", "startup/obsolete_system_infobar_delegate.cc", +-- +2.25.1 diff --git a/build/patches/Do-not-compile-QR-code-sharing.patch b/build/patches/Do-not-compile-QR-code-sharing.patch index 425fd144..bf431790 100644 --- a/build/patches/Do-not-compile-QR-code-sharing.patch +++ b/build/patches/Do-not-compile-QR-code-sharing.patch @@ -16,10 +16,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; import org.chromium.chrome.browser.share.ShareUtils; -import org.chromium.chrome.browser.share.qrcode.QrCodeDialog; + import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController; - import org.chromium.chrome.browser.tab.Tab; -@@ -421,10 +420,6 @@ public class RootUiCoordinator +@@ -428,10 +427,6 @@ public class RootUiCoordinator } public void onAttachFragment(Fragment fragment) { @@ -99,3 +99,5 @@ diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/shar "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotSource.java", "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotTask.java", "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java", +-- +2.25.1 diff --git a/build/patches/Do-not-hide-component-extensions.patch b/build/patches/Do-not-hide-component-extensions.patch index 0488273c..bf77cb8c 100644 --- a/build/patches/Do-not-hide-component-extensions.patch +++ b/build/patches/Do-not-hide-component-extensions.patch @@ -9,7 +9,7 @@ Subject: Do not hide component extensions diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc --- a/extensions/common/extension.cc +++ b/extensions/common/extension.cc -@@ -439,9 +439,8 @@ bool Extension::ShouldDisplayInNewTabPage() const { +@@ -440,9 +440,8 @@ bool Extension::ShouldDisplayInNewTabPage() const { } bool Extension::ShouldExposeViaManagementAPI() const { @@ -21,3 +21,5 @@ diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc } Extension::ManifestData* Extension::GetManifestData(const std::string& key) +-- +2.25.1 diff --git a/build/patches/Do-not-ignore-download-location-prompt-setting.patch b/build/patches/Do-not-ignore-download-location-prompt-setting.patch index aab52f3b..f2550e16 100644 --- a/build/patches/Do-not-ignore-download-location-prompt-setting.patch +++ b/build/patches/Do-not-ignore-download-location-prompt-setting.patch @@ -36,3 +36,5 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse // Already showing the dialog. if (mDialogModel != null) return; +-- +2.25.1 diff --git a/build/patches/Do-not-link-with-libatomic.patch b/build/patches/Do-not-link-with-libatomic.patch new file mode 100644 index 00000000..6950b29e --- /dev/null +++ b/build/patches/Do-not-link-with-libatomic.patch @@ -0,0 +1,24 @@ +From: uazo +Date: Tue, 11 Jan 2022 13:59:32 +0000 +Subject: Do not link with libatomic + +Compiler has built-in support thus libatomic linking is no more needed +This patch allows building with use_sysroot=false +--- + base/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/BUILD.gn b/base/BUILD.gn +--- a/base/BUILD.gn ++++ b/base/BUILD.gn +@@ -1393,7 +1393,7 @@ component("base") { + if (!use_sysroot && + (is_android || ((is_linux || is_chromeos) && !is_chromecast)) && + host_toolchain != "//build/toolchain/cros:host") { +- libs += [ "atomic" ] ++ #libs += [ "atomic" ] + } + + if (use_allocator_shim) { +-- +2.25.1 diff --git a/build/patches/Do-not-store-passwords-by-default.patch b/build/patches/Do-not-store-passwords-by-default.patch index 9304cdd3..bf875897 100644 --- a/build/patches/Do-not-store-passwords-by-default.patch +++ b/build/patches/Do-not-store-passwords-by-default.patch @@ -22,3 +22,5 @@ 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); +-- +2.25.1 diff --git a/build/patches/DoH-secure-mode-by-default.patch b/build/patches/DoH-secure-mode-by-default.patch index 59e40642..fde42cdd 100644 --- a/build/patches/DoH-secure-mode-by-default.patch +++ b/build/patches/DoH-secure-mode-by-default.patch @@ -41,3 +41,5 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/ parental_controls_checked_ = true; } +-- +2.25.1 diff --git a/build/patches/Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch b/build/patches/Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch index db4fffc7..87d64659 100644 --- a/build/patches/Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch +++ b/build/patches/Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/external_intents/android/external_intents_features.cc b/ static jlong JNI_ExternalIntentsFeatures_GetFeature(JNIEnv* env, jint ordinal) { return reinterpret_cast(kFeaturesExposedToJava[ordinal]); +-- +2.25.1 diff --git a/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch b/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch index 2d392764..fce5e647 100644 --- a/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch +++ b/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch @@ -10,7 +10,7 @@ Subject: Enable SPPI for devices with enough memory 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 -@@ -922,11 +922,7 @@ const base::Feature kShow10_10ObsoleteInfobar{ +@@ -958,11 +958,7 @@ const base::Feature kShow10_10ObsoleteInfobar{ // browser_features, as they are only used on the browser side. const base::Feature kSitePerProcess { "SitePerProcess", @@ -34,3 +34,5 @@ diff --git a/components/site_isolation/features.cc b/components/site_isolation/f const char kStrictSiteIsolationMemoryThresholdParamName[] = "strict_site_isolation_threshold_mb"; const char kPartialSiteIsolationMemoryThresholdParamName[] = +-- +2.25.1 diff --git a/build/patches/Enable-darken-websites-checkbox-in-themes.patch b/build/patches/Enable-darken-websites-checkbox-in-themes.patch index 03e141a1..35974eaf 100644 --- a/build/patches/Enable-darken-websites-checkbox-in-themes.patch +++ b/build/patches/Enable-darken-websites-checkbox-in-themes.patch @@ -11,7 +11,7 @@ Unexpire #darken-websites-checkbox-in-themes-setting 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 -@@ -965,7 +965,7 @@ +@@ -988,7 +988,7 @@ { "name": "darken-websites-checkbox-in-themes-setting", "owners": [ "lazzzis@google.com", "twellington" ], @@ -23,7 +23,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 -@@ -571,7 +571,7 @@ const base::Feature kContextualSearchTranslations{ +@@ -579,7 +579,7 @@ const base::Feature kContextualSearchTranslations{ "ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kDarkenWebsitesCheckboxInThemesSetting{ @@ -32,3 +32,5 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse const base::Feature kQuickActionSearchWidgetAndroidDinoVariant{ "QuickActionSearchWidgetAndroidDinoVariant", +-- +2.25.1 diff --git a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch index 6290bdeb..b7a70b3b 100644 --- a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch +++ b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch @@ -42,7 +42,7 @@ Excerpt from https://github.com/bromite/bromite/issues/226 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 -@@ -351,6 +351,10 @@ config("compiler") { +@@ -354,6 +354,10 @@ config("compiler") { } } @@ -51,5 +51,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn + } + # Linker warnings. - if (fatal_linker_warnings && !is_apple && current_os != "aix") { - ldflags += [ "-Wl,--fatal-warnings" ] + if (fatal_linker_warnings && !is_apple && current_os != "aix" && + current_os != "zos") { +-- +2.25.1 diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 79764d70..97f3c87e 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -15,7 +15,7 @@ See also: https://github.com/bromite/bromite/issues/547 android_webview/browser/aw_contents.cc | 1 + chrome/android/BUILD.gn | 1 + .../settings/PasswordSettings.java | 82 ++++++++++++++++++- - .../chromium/chrome/browser/tab/TabImpl.java | 51 ++++++++++++ + .../chromium/chrome/browser/tab/TabImpl.java | 50 +++++++++++ .../browser/tab/TabViewAndroidDelegate.java | 14 ++++ chrome/browser/BUILD.gn | 8 ++ chrome/browser/android/tab_android.cc | 27 ++++++ @@ -30,10 +30,10 @@ See also: https://github.com/bromite/bromite/issues/547 .../renderer/password_autofill_agent.cc | 5 +- .../autofill/core/common/autofill_prefs.cc | 8 ++ .../autofill/core/common/autofill_prefs.h | 2 + - .../embedder_support/view/ContentView.java | 48 +++++++++++ + .../embedder_support/view/ContentView.java | 46 +++++++++++ .../chromium/ui/base/ViewAndroidDelegate.java | 8 ++ weblayer/browser/tab_impl.cc | 3 +- - 21 files changed, 332 insertions(+), 15 deletions(-) + 21 files changed, 329 insertions(+), 15 deletions(-) diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc --- a/android_webview/browser/aw_contents.cc @@ -49,7 +49,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -419,6 +419,7 @@ android_library("chrome_java") { +@@ -426,6 +426,7 @@ android_library("chrome_java") { "//chrome/browser/xsurface:java", "//components/autofill/android:autofill_java", "//components/autofill_assistant/browser:proto_java", @@ -185,13 +185,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage 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 -@@ -75,6 +75,18 @@ import org.chromium.url.GURL; +@@ -75,6 +75,17 @@ import org.chromium.url.GURL; import java.nio.ByteBuffer; +import android.os.Build; +import android.util.SparseArray; -+import org.chromium.base.annotations.VerifiesOnO; +import org.chromium.ui.base.EventOffsetHandler; +import android.view.ViewStructure; +import android.view.autofill.AutofillValue; @@ -204,7 +203,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. -@@ -218,6 +230,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -218,6 +229,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { /** Whether or not the user manually changed the user agent. */ private boolean mUserForcedUserAgent; @@ -213,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Creates an instance of a {@link TabImpl}. * -@@ -768,6 +782,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -768,6 +781,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { for (TabObserver observer : mObservers) observer.onDestroyed(this); mObservers.clear(); @@ -225,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1359,6 +1378,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -1359,6 +1377,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { return tabsPtrArray; } @@ -242,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Initializes the {@link WebContents}. Completes the browser content components initialization * around a native WebContents pointer. -@@ -1408,6 +1437,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -1408,6 +1436,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { mDelegateFactory.createContextMenuPopulatorFactory(this), this)); mWebContents.notifyRendererPreferenceUpdate(); @@ -270,7 +269,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav TabHelpers.initWebContentsHelpers(this); notifyContentChanged(); } finally { -@@ -1771,5 +1821,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -1772,5 +1821,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title); void loadOriginalImage(long nativeTabAndroid); boolean handleNonNavigationAboutURL(GURL url); @@ -309,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2393,6 +2393,14 @@ static_library("browser") { +@@ -2406,6 +2406,14 @@ static_library("browser") { "//ui/webui/resources/cr_components/most_visited:mojom", "//ui/webui/resources/js/browser_command:mojo_bindings", ] @@ -380,7 +379,7 @@ diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_a diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrome/browser/android/tab_web_contents_delegate_android.cc --- a/chrome/browser/android/tab_web_contents_delegate_android.cc +++ b/chrome/browser/android/tab_web_contents_delegate_android.cc -@@ -176,7 +176,8 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( +@@ -175,7 +175,8 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated( portal_contents, autofill::ChromeAutofillClient::FromWebContents(portal_contents), g_browser_process->GetApplicationLocale(), @@ -393,7 +392,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom 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 -@@ -576,6 +576,12 @@ CHAR_LIMIT guidelines: +@@ -582,6 +582,12 @@ CHAR_LIMIT guidelines: Save passwords @@ -409,17 +408,17 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro 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 -@@ -141,6 +141,9 @@ - #include "chrome/browser/ui/android/context_menu_helper.h" +@@ -143,6 +143,9 @@ #include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h" #include "chrome/browser/video_tutorials/video_tutorial_tab_helper.h" + #include "content/public/common/content_features.h" +#include "components/android_autofill/browser/android_autofill_manager.h" +#include "components/android_autofill/browser/autofill_provider.h" +#include "components/android_autofill/browser/autofill_provider_android.h" #else #include "chrome/browser/accuracy_tips/accuracy_service_factory.h" #include "chrome/browser/banners/app_banner_manager_desktop.h" -@@ -265,7 +268,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -272,7 +275,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents, autofill::ChromeAutofillClient::FromWebContents(web_contents), g_browser_process->GetApplicationLocale(), @@ -695,7 +694,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory 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 -@@ -728,7 +728,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange( +@@ -731,7 +731,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange( void PasswordAutofillAgent::TrackAutofilledElement( const blink::WebFormControlElement& element) { @@ -747,12 +746,11 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java --- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java +++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java -@@ -36,6 +36,12 @@ import org.chromium.content_public.browser.WebContentsAccessibility; +@@ -36,6 +36,11 @@ import org.chromium.content_public.browser.WebContentsAccessibility; import org.chromium.ui.base.EventForwarder; import org.chromium.ui.base.EventOffsetHandler; +import org.chromium.base.Log; -+import org.chromium.base.annotations.VerifiesOnO; +import android.util.SparseArray; +import android.view.autofill.AutofillValue; +import org.chromium.ui.base.ViewAndroidDelegate; @@ -760,7 +758,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component /** * The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes * the various {@link View} functionality to it. -@@ -82,6 +88,8 @@ public class ContentView extends FrameLayout +@@ -82,6 +87,8 @@ public class ContentView extends FrameLayout */ public static ContentView createContentView(Context context, @Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) { @@ -769,7 +767,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return new ContentViewApi23(context, eventOffsetHandler, webContents); } -@@ -549,4 +557,44 @@ public class ContentView extends FrameLayout +@@ -549,4 +556,43 @@ public class ContentView extends FrameLayout if (wcax != null) wcax.onProvideVirtualStructure(structure, false); } } @@ -777,7 +775,6 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component + /** + * API level 26 implementation that includes autofill. + */ -+ @VerifiesOnO + public static class ContentViewWithAutofill extends ContentViewApi23 { + private ViewAndroidDelegate viewAndroidDelegate; + @@ -840,7 +837,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java b diff --git a/weblayer/browser/tab_impl.cc b/weblayer/browser/tab_impl.cc --- a/weblayer/browser/tab_impl.cc +++ b/weblayer/browser/tab_impl.cc -@@ -1403,7 +1403,8 @@ void TabImpl::InitializeAutofillDriver() { +@@ -1395,7 +1395,8 @@ void TabImpl::InitializeAutofillDriver() { autofill::ContentAutofillDriverFactory::CreateForWebContentsAndDelegate( web_contents, AutofillClientImpl::FromWebContents(web_contents), i18n::GetApplicationLocale(), enable_autofill_download_manager, @@ -850,3 +847,5 @@ diff --git a/weblayer/browser/tab_impl.cc b/weblayer/browser/tab_impl.cc } #endif // defined(OS_ANDROID) +-- +2.25.1 diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index 11a8c55c..6ad87f46 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -13,7 +13,7 @@ PartitionNelAndReportingByNetworkIsolationKey diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -96,30 +96,30 @@ const base::Feature kSplitCacheByIncludeCredentials{ +@@ -99,30 +99,30 @@ const base::Feature kSplitCacheByIncludeCredentials{ "SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kSplitCacheByNetworkIsolationKey{ @@ -51,3 +51,5 @@ diff --git a/net/base/features.cc b/net/base/features.cc const base::Feature kExpectCTPruning{"ExpectCTPruning", base::FEATURE_ENABLED_BY_DEFAULT}; +-- +2.25.1 diff --git a/build/patches/Enable-prefetch-privacy-changes-by-default.patch b/build/patches/Enable-prefetch-privacy-changes-by-default.patch index 900af13c..4d602332 100644 --- a/build/patches/Enable-prefetch-privacy-changes-by-default.patch +++ b/build/patches/Enable-prefetch-privacy-changes-by-default.patch @@ -9,7 +9,7 @@ Subject: Enable prefetch-privacy-changes by default 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 -@@ -416,7 +416,7 @@ const base::Feature kComputePressure{"ComputePressure", +@@ -422,7 +422,7 @@ const base::Feature kComputePressure{"ComputePressure", // Prefetch request properties are updated to be privacy-preserving. See // crbug.com/988956. const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges", @@ -18,3 +18,5 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea // Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this // format in the image decode cache. See crbug.com/919627 for details on the +-- +2.25.1 diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index 8a07ede1..32896d06 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -27,7 +27,7 @@ See also: https://github.com/bromite/bromite/issues/1062 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 -@@ -717,6 +717,7 @@ chrome_java_resources = [ +@@ -711,6 +711,7 @@ chrome_java_resources = [ "java/res/layout/share_sheet_content.xml", "java/res/layout/share_sheet_item.xml", "java/res/layout/sharing_device_picker.xml", @@ -38,7 +38,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 -@@ -1048,6 +1048,7 @@ chrome_java_sources = [ +@@ -1037,6 +1037,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java", "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMetrics.java", "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java", @@ -171,8 +171,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity; +import org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity; import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData; + import org.chromium.chrome.browser.tasks.tab_management.PriceTrackingUtilities; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager; - import org.chromium.chrome.browser.util.AfterStartupTaskUtils; @@ -409,6 +410,8 @@ public class ProcessInitializationHandler { deferredStartupHandler.addDeferredTask( () -> IncognitoTabLauncher.updateComponentEnabledState()); @@ -304,8 +304,8 @@ new file mode 100644 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 -@@ -5563,6 +5563,10 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(sharing_hub::kDesktopScreenshots)}, +@@ -5654,6 +5654,10 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(share::kSharingDesktopScreenshotsEdit)}, #endif + {"shared-intent-ui", flag_descriptions::kSharedIntentUIName, @@ -318,7 +318,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -2335,6 +2335,11 @@ const char kSharingDesktopScreenshotsDescription[] = +@@ -2280,6 +2280,11 @@ const char kSharingDesktopScreenshotsDescription[] = "Enables taking" " screenshots from the desktop sharing hub."; @@ -333,9 +333,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 -@@ -1340,6 +1340,9 @@ extern const char kSharedClipboardUIDescription[]; - extern const char kSharingDesktopScreenshotsName[]; - extern const char kSharingDesktopScreenshotsDescription[]; +@@ -1316,6 +1316,9 @@ extern const char kSharingDesktopScreenshotsDescription[]; + extern const char kSharingDesktopScreenshotsEditName[]; + extern const char kSharingDesktopScreenshotsEditDescription[]; +extern const char kSharedIntentUIName[]; +extern const char kSharedIntentUIDescription[]; @@ -346,7 +346,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -270,6 +270,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -273,6 +273,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kServiceManagerForDownload, &kShareButtonInTopToolbar, &kSharedClipboardUI, @@ -354,7 +354,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kSharingHubLinkToggle, &kSingleTouchSelect, &kSpannableInlineAutocomplete, -@@ -657,6 +658,9 @@ const base::Feature kSearchEnginePromoExistingDevice{ +@@ -662,6 +663,9 @@ const base::Feature kSearchEnginePromoExistingDevice{ const base::Feature kSearchEnginePromoNewDevice{ "SearchEnginePromo.NewDevice", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -378,7 +378,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -488,6 +488,7 @@ public abstract class ChromeFeatureList { +@@ -493,6 +493,7 @@ public abstract class ChromeFeatureList { public static final String SHARE_USAGE_RANKING = "ShareUsageRanking"; public static final String SHARE_USAGE_RANKING_FIXED_MORE = "ShareUsageRankingFixedMore"; public static final String SHARED_CLIPBOARD_UI = "SharedClipboardUI"; @@ -389,7 +389,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 -@@ -4572,6 +4572,19 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -409,3 +409,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Submit %1$s123 on %2$sZoe's Macbook? +-- +2.25.1 diff --git a/build/patches/Enable-user-agent-freeze-by-default.patch b/build/patches/Enable-user-agent-freeze-by-default.patch index 0c78182b..37f27d8c 100644 --- a/build/patches/Enable-user-agent-freeze-by-default.patch +++ b/build/patches/Enable-user-agent-freeze-by-default.patch @@ -9,7 +9,7 @@ Subject: Enable user-agent freeze by default 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 -@@ -86,7 +86,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{ +@@ -99,7 +99,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{ // Freezes the user-agent as part of https://github.com/WICG/ua-client-hints. const base::Feature kReduceUserAgent{"ReduceUserAgent", @@ -18,3 +18,5 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea // Enables the frequency capping for detecting overlay popups. Overlay-popups // are the interstitials that pop up and block the main content of the page. +-- +2.25.1 diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 7797617f..7ef91005 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -93,7 +93,7 @@ See also: components/user_scripts/README.md .../user_scripts/common/script_constants.h | 33 + components/user_scripts/common/url_pattern.cc | 803 ++++++++++++++++++ components/user_scripts/common/url_pattern.h | 302 +++++++ - .../user_scripts/common/url_pattern_set.cc | 334 ++++++++ + .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 161 ++++ components/user_scripts/common/user_script.cc | 317 +++++++ components/user_scripts/common/user_script.h | 403 +++++++++ @@ -133,7 +133,7 @@ See also: components/user_scripts/README.md .../renderer/web_ui_injection_host.h | 28 + .../strings/userscripts_strings.grdp | 55 ++ tools/gritsettings/resource_ids.spec | 6 + - 111 files changed, 9579 insertions(+), 2 deletions(-) + 111 files changed, 9580 insertions(+), 2 deletions(-) create mode 100644 components/user_scripts/README.md create mode 100755 components/user_scripts/android/BUILD.gn create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml @@ -225,7 +225,7 @@ See also: components/user_scripts/README.md diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -252,6 +252,10 @@ android_resources("chrome_app_java_resources") { +@@ -253,6 +253,10 @@ android_resources("chrome_app_java_resources") { "//third_party/androidx:androidx_preference_preference_java", "//third_party/androidx:androidx_recyclerview_recyclerview_java", ] @@ -236,7 +236,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn } if (enable_vr) { -@@ -524,6 +528,7 @@ android_library("chrome_java") { +@@ -532,6 +536,7 @@ android_library("chrome_java") { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -285,7 +285,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 -@@ -112,6 +112,8 @@ import java.util.Date; +@@ -113,6 +113,8 @@ import java.util.Date; import java.util.List; import java.util.Locale; @@ -322,7 +322,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 -@@ -3491,6 +3491,11 @@ static_library("browser") { +@@ -3515,6 +3515,11 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -333,11 +333,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn + ] } else { #!is_android - sources += [ + if (!is_chromeos_lacros) { 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 -@@ -151,6 +151,7 @@ +@@ -149,6 +149,7 @@ #include "components/translate/core/browser/translate_ranker_impl.h" #include "components/translate/core/common/translate_util.h" #include "components/ui_devtools/switches.h" @@ -345,7 +345,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #include "components/version_info/version_info.h" #include "components/viz/common/features.h" #include "components/viz/common/switches.h" -@@ -6528,6 +6529,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6535,6 +6536,10 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kUserDataSnapshot)}, #endif @@ -359,7 +359,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -4659,7 +4659,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -4662,7 +4662,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( chrome::mojom::DynamicParams dynamic_params = { profile->GetPrefs()->GetBoolean(prefs::kForceGoogleSafeSearch), profile->GetPrefs()->GetInteger(prefs::kForceYouTubeRestrict), @@ -372,7 +372,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch 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 -@@ -5393,6 +5393,11 @@ const char kUserDataSnapshotDescription[] = +@@ -5382,6 +5382,11 @@ const char kUserDataSnapshotDescription[] = "update and restoring them after a version rollback."; #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) @@ -387,7 +387,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -3132,6 +3132,9 @@ extern const char kUserDataSnapshotName[]; +@@ -3134,6 +3134,9 @@ extern const char kUserDataSnapshotName[]; extern const char kUserDataSnapshotDescription[]; #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) @@ -400,7 +400,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -237,6 +237,7 @@ +@@ -235,6 +235,7 @@ #include "components/ntp_tiles/popular_sites_impl.h" #include "components/permissions/contexts/geolocation_permission_context_android.h" #include "components/query_tiles/tile_service_prefs.h" @@ -408,7 +408,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #else // defined(OS_ANDROID) #include "chrome/browser/cart/cart_service.h" #include "chrome/browser/device_api/device_service_impl.h" -@@ -1197,6 +1198,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1214,6 +1215,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, translate::TranslatePrefs::RegisterProfilePrefs(registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -430,7 +430,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 -@@ -216,6 +216,8 @@ +@@ -217,6 +217,8 @@ #include "chrome/browser/lacros/cert_db_initializer_factory.h" #endif @@ -439,7 +439,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc namespace chrome { void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) { -@@ -516,6 +518,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -517,6 +519,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -450,16 +450,16 @@ 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 -@@ -117,6 +117,8 @@ +@@ -118,6 +118,8 @@ #include "extensions/common/manifest.h" #endif +#include "components/user_scripts/browser/userscripts_browser_client.h" + #if BUILDFLAG(ENABLE_SESSION_SERVICE) + #include "chrome/browser/sessions/app_session_service_factory.h" #include "chrome/browser/sessions/session_service_factory.h" - #endif -@@ -1539,6 +1541,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, +@@ -1538,6 +1540,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, } #endif @@ -534,7 +534,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" -@@ -678,6 +679,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -681,6 +682,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIVersionHost) return &NewWebUI; @@ -576,7 +576,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 -@@ -171,6 +171,7 @@ static_library("renderer") { +@@ -172,6 +172,7 @@ static_library("renderer") { "//components/feed:feature_list", "//components/feed/content/renderer:feed_renderer", "//components/history_clusters/core", @@ -587,7 +587,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 -@@ -254,6 +254,9 @@ +@@ -253,6 +253,9 @@ #include "chrome/renderer/supervised_user/supervised_user_error_page_controller_delegate_impl.h" #endif @@ -595,9 +595,9 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer +#include "components/user_scripts/renderer/user_scripts_renderer_client.h" + using autofill::AutofillAgent; - using autofill::AutofillAssistantAgent; using autofill::PasswordAutofillAgent; -@@ -419,6 +422,12 @@ void ChromeContentRendererClient::RenderThreadStarted() { + using autofill::PasswordGenerationAgent; +@@ -425,6 +428,12 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(extensions::kExtensionScheme)); #endif @@ -610,7 +610,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_SPELLCHECK) if (!spellcheck_) InitSpellCheck(); -@@ -555,6 +564,13 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -561,6 +570,13 @@ void ChromeContentRendererClient::RenderFrameCreated( render_frame, registry); #endif @@ -624,7 +624,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PLUGINS) new PepperHelper(render_frame); #endif -@@ -1546,7 +1562,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1547,7 +1563,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. @@ -639,7 +639,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1555,7 +1578,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1556,7 +1579,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. @@ -654,7 +654,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1564,7 +1594,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1565,7 +1595,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. @@ -2498,7 +2498,7 @@ new file mode 100755 + +#include "file_task_runner.h" + -+#include "base/sequenced_task_runner.h" ++#include "base/task/sequenced_task_runner.h" +#include "base/task/lazy_thread_pool_task_runner.h" +#include "base/task/task_traits.h" + @@ -5919,7 +5919,7 @@ diff --git a/components/user_scripts/common/url_pattern_set.cc b/components/user new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern_set.cc -@@ -0,0 +1,334 @@ +@@ -0,0 +1,335 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -6117,7 +6117,8 @@ new file mode 100755 + if (origin.is_empty()) + return false; + const url::Origin real_origin = url::Origin::Create(origin); -+ DCHECK(real_origin.IsSameOriginWith(url::Origin::Create(origin.GetOrigin()))); ++ DCHECK(real_origin.IsSameOriginWith(url::Origin::Create( ++ origin.DeprecatedGetOriginAsURL()))); + URLPattern origin_pattern(valid_schemes); + // Origin adding could fail if |origin| does not match |valid_schemes|. + if (origin_pattern.Parse(origin.spec()) != @@ -8840,7 +8841,7 @@ new file mode 100755 + FROM_HERE, + base::BindOnce(&ScriptInjectionManager::RFOHelper::RunIdle, + weak_factory_.GetWeakPtr()), -+ base::TimeDelta::FromMilliseconds(kScriptIdleTimeoutInMs)); ++ base::Milliseconds(kScriptIdleTimeoutInMs)); + + ExtensionFrameHelper::Get(render_frame()) + ->ScheduleAtDocumentIdle( @@ -10621,7 +10622,7 @@ new file mode 100755 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 -@@ -585,6 +585,12 @@ +@@ -589,6 +589,12 @@ "components/autofill/core/browser/autofill_address_rewriter_resources.grd":{ "includes": [3720] }, @@ -10634,3 +10635,5 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ # END components/ section. # START ios/ section. +-- +2.25.1 diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch index 96e1a0f9..371d85e9 100644 --- a/build/patches/Hardening-against-incognito-mode-detection.patch +++ b/build/patches/Hardening-against-incognito-mode-detection.patch @@ -18,3 +18,5 @@ diff --git a/storage/browser/quota/quota_settings.cc b/storage/browser/quota/quo // Skews |value| by +/- |percent|. int64_t RandomizeByPercent(int64_t value, int percent) { +-- +2.25.1 diff --git a/build/patches/Hide-passwords-manager-link.patch b/build/patches/Hide-passwords-manager-link.patch index 4b2ad634..06e04e2d 100644 --- a/build/patches/Hide-passwords-manager-link.patch +++ b/build/patches/Hide-passwords-manager-link.patch @@ -27,3 +27,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage PreferenceCategory profileCategory = new PreferenceCategory(getStyledContext()); profileCategory.setKey(PREF_KEY_CATEGORY_EXCEPTIONS); +-- +2.25.1 diff --git a/build/patches/Hide-send-reports-checkbox.patch b/build/patches/Hide-send-reports-checkbox.patch index 38713d47..71bf2b6b 100644 --- a/build/patches/Hide-send-reports-checkbox.patch +++ b/build/patches/Hide-send-reports-checkbox.patch @@ -18,3 +18,5 @@ diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/j callback.onResult(mOwnedState)); +-- +2.25.1 diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch index 91e03a63..7b8a809f 100644 --- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch +++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch @@ -1,8 +1,8 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 27 Oct 2019 10:18:39 +0100 -Subject: Increase number of autocomplete matches from 5 to 10 +Subject: Increase number of autocomplete matches to 10 -Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703 +Patch adapted from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703 --- components/omnibox/browser/autocomplete_result.cc | 3 ++- components/omnibox/browser/omnibox_field_trial.cc | 6 +++--- @@ -11,12 +11,12 @@ Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc --- a/components/omnibox/browser/autocomplete_result.cc +++ b/components/omnibox/browser/autocomplete_result.cc -@@ -68,7 +68,8 @@ struct MatchGURLHash { +@@ -69,7 +69,8 @@ struct MatchGURLHash { // static size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) { #if (defined(OS_ANDROID)) -- constexpr size_t kDefaultMaxAutocompleteMatches = 5; -+ // changed from 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc +- constexpr size_t kDefaultMaxAutocompleteMatches = 8; ++ // changed from 8, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc + constexpr size_t kDefaultMaxAutocompleteMatches = 10; constexpr size_t kDefaultMaxZeroSuggestMatches = 15; #elif defined(OS_IOS) // !defined(OS_ANDROID) @@ -45,3 +45,5 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni return default_max_matches_per_provider; } +-- +2.25.1 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 1b4a3ea2..c7d80494 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 @@ -39,9 +39,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h" +#include "extensions/video_bg_play.h" #include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h" - #include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h" #include "third_party/blink/renderer/core/page/scrolling/text_fragment_handler.h" -@@ -342,6 +343,8 @@ + #include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h" +@@ -341,6 +342,8 @@ #include "third_party/blink/renderer/platform/wtf/text/string_buffer.h" #include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h" @@ -50,7 +50,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(); -@@ -6521,6 +6524,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) { +@@ -6491,6 +6494,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) { val ? AllowState::kAllow : AllowState::kDeny; } @@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink void Document::FinishedParsing() { DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing()); DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading); -@@ -6579,6 +6637,10 @@ void Document::FinishedParsing() { +@@ -6549,6 +6607,10 @@ void Document::FinishedParsing() { if (frame->IsMainFrame() && ShouldMarkFontPerformance()) FontPerformance::MarkDomContentLoaded(); @@ -126,7 +126,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 -@@ -1776,6 +1776,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -1767,6 +1767,9 @@ class CORE_EXPORT Document : public ContainerNode, void AddAXContext(AXContext*); void RemoveAXContext(AXContext*); @@ -161,7 +161,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc --- a/third_party/blink/renderer/core/html/html_script_element.cc +++ b/third_party/blink/renderer/core/html/html_script_element.cc -@@ -169,6 +169,11 @@ void HTMLScriptElement::setTextContent(const String& string) { +@@ -174,6 +174,11 @@ void HTMLScriptElement::setTextContent(const String& string) { script_text_internal_slot_ = ParkableString(string.Impl()); } @@ -184,3 +184,5 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_ void setAsync(bool); bool async() const; +-- +2.25.1 diff --git a/build/patches/JIT-less-toggle.patch b/build/patches/JIT-less-toggle.patch index ff364807..dd82914e 100644 --- a/build/patches/JIT-less-toggle.patch +++ b/build/patches/JIT-less-toggle.patch @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import android.os.Build; import android.content.SharedPreferences; import android.os.Bundle; -@@ -83,6 +84,7 @@ public class PrivacySettings +@@ -82,6 +83,7 @@ public class PrivacySettings private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions"; private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search"; public static final String PREF_AUTOFILL_ASSISTANT = "autofill_assistant"; @@ -44,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private ChromeSwitchPreference mSearchSuggestions; private @Nullable ChromeSwitchPreference mAutofillAssistant; private @Nullable Preference mContextualSearch; -@@ -242,6 +244,10 @@ public class PrivacySettings +@@ -216,6 +218,10 @@ public class PrivacySettings .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -55,22 +55,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } else if (PREF_AUTOFILL_ASSISTANT.equals(key)) { mSharedPreferencesManager.writeBoolean( ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue); -@@ -325,6 +331,11 @@ public class PrivacySettings - prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED)); - } +@@ -273,6 +279,11 @@ public class PrivacySettings + Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX); + if (privacySandboxPreference != null) { + ChromeSwitchPreference forceNoJit = + (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT); + forceNoJit.setOnPreferenceChangeListener(this); + forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate); + - updateIncognitoReauthPreference(); - } - + privacySandboxPreference.setSummary( + PrivacySandboxSettingsFragment.getStatusString(getContext())); + } 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 -@@ -946,6 +946,13 @@ Privacy Sandbox trials are still in active development and are available in sele +@@ -952,6 +952,13 @@ Privacy Sandbox trials are still in active development and are available in sele Please verify that this is a valid provider or try again later @@ -118,3 +118,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Device + } + } } +-- +2.25.1 diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch index 9fbfb1cf..609f87cf 100644 --- a/build/patches/Keep-empty-tabs-between-sessions.patch +++ b/build/patches/Keep-empty-tabs-between-sessions.patch @@ -40,3 +40,5 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/C if (isTabUrlContentScheme(getUrl().getSpec())) { return false; } +-- +2.25.1 diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index 257e9a45..87af5a1d 100644 --- a/build/patches/Logcat-crash-reports-UI.patch +++ b/build/patches/Logcat-crash-reports-UI.patch @@ -138,7 +138,7 @@ diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.h b/chro diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc --- a/chrome/browser/net/chrome_network_delegate.cc +++ b/chrome/browser/net/chrome_network_delegate.cc -@@ -131,6 +131,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) { +@@ -132,6 +132,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) { if (external_storage_path.IsParent(path)) return true; @@ -862,3 +862,5 @@ diff --git a/components/upload_list/upload_list.h b/components/upload_list/uploa protected: virtual ~UploadList(); +-- +2.25.1 diff --git a/build/patches/Make-HTTPS-only-mode-the-default.patch b/build/patches/Make-HTTPS-only-mode-the-default.patch new file mode 100644 index 00000000..10601e57 --- /dev/null +++ b/build/patches/Make-HTTPS-only-mode-the-default.patch @@ -0,0 +1,21 @@ +From: qua3k +Date: Mon, 18 Oct 2021 17:18:52 -0400 +Subject: Make HTTPS-only mode the default + +--- + chrome/browser/ui/browser_ui_prefs.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +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 +@@ -162,6 +162,6 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { + #endif + + registry->RegisterBooleanPref( +- prefs::kHttpsOnlyModeEnabled, false, ++ prefs::kHttpsOnlyModeEnabled, true, + user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); + } +-- +2.25.1 diff --git a/build/patches/Make-all-favicon-requests-on-demand.patch b/build/patches/Make-all-favicon-requests-on-demand.patch index 28560ed9..c9653a4f 100644 --- a/build/patches/Make-all-favicon-requests-on-demand.patch +++ b/build/patches/Make-all-favicon-requests-on-demand.patch @@ -49,3 +49,5 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co } bool FaviconDatabase::SetFaviconsOutOfDateBetween(base::Time begin, +-- +2.25.1 diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index 3d7aedb7..23710bff 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -33,7 +33,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 -@@ -1267,7 +1267,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1275,7 +1275,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -174,7 +174,7 @@ diff --git a/components/bookmarks/browser/features.cc b/components/bookmarks/bro 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 -@@ -190,9 +190,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -188,9 +188,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( prefs::kSafeBrowsingSawInterstitialScoutReporting, false); registry->RegisterBooleanPref( @@ -186,3 +186,5 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref(prefs::kSafeBrowsingEnhanced, false); registry->RegisterBooleanPref(prefs::kSafeBrowsingProceedAnywayDisabled, +-- +2.25.1 diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch index fbc3344b..24df4f97 100644 --- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch +++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch @@ -47,8 +47,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting +import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager; -@@ -47,6 +48,13 @@ import org.chromium.components.user_prefs.UserPrefs; + import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthSettingSwitchPreference; +@@ -46,6 +47,13 @@ import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; @@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting /** * Fragment to keep track of the all the privacy related preferences. */ -@@ -70,6 +78,18 @@ public class PrivacySettings +@@ -69,6 +77,18 @@ public class PrivacySettings private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; @@ -79,9 +79,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile()); + private ManagedPreferenceDelegate mManagedPreferenceDelegate; + private IncognitoLockSettings mIncognitoLockSettings; - @Override -@@ -108,6 +128,29 @@ public class PrivacySettings +@@ -111,6 +131,29 @@ public class PrivacySettings mManagedPreferenceDelegate = createManagedPreferenceDelegate(); @@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting ChromeSwitchPreference canMakePaymentPref = (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); canMakePaymentPref.setOnPreferenceChangeListener(this); -@@ -197,6 +240,11 @@ public class PrivacySettings +@@ -171,6 +214,11 @@ public class PrivacySettings } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) { UserPrefs.get(Profile.getLastUsedRegularProfile()) .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); @@ -123,9 +123,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } else if (PREF_NETWORK_PREDICTIONS.equals(key)) { PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled( (boolean) newValue); -@@ -219,6 +267,16 @@ public class PrivacySettings +@@ -198,7 +246,7 @@ public class PrivacySettings + * Updates the preferences. + */ + public void updatePreferences() { +- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile()); ++ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED)); - public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled"; + ChromeSwitchPreference canMakePaymentPref = + (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); +@@ -252,6 +300,16 @@ public class PrivacySettings + }; + } + /** + * This checks whether Autofill Assistant is enabled and was shown at least once (only then @@ -138,17 +147,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + } + @Override - public void onResume() { - super.onResume(); -@@ -229,7 +287,7 @@ public class PrivacySettings - * Updates the preferences. - */ - public void updatePreferences() { -- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile()); -+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED)); - - ChromeSwitchPreference canMakePaymentPref = - (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + menu.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 @@ -163,3 +163,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Search engine +-- +2.25.1 diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index 55ef8ef4..904d91e4 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -56,7 +56,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2316,6 +2316,7 @@ static_library("browser") { +@@ -2329,6 +2329,7 @@ static_library("browser") { "//services/device/public/cpp:device_features", "//services/device/public/cpp/serial:switches", "//services/device/public/cpp/usb", @@ -67,7 +67,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 -@@ -186,6 +186,7 @@ +@@ -184,6 +184,7 @@ #include "services/media_session/public/cpp/features.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" @@ -75,7 +75,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #include "storage/browser/quota/quota_features.h" #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/forcedark/forcedark_switches.h" -@@ -2824,6 +2825,20 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2853,6 +2854,20 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebrtcUseMinMaxVEADimensionsName, flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)}, @@ -99,7 +99,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 -@@ -223,6 +223,7 @@ source_set("browser") { +@@ -222,6 +222,7 @@ source_set("browser") { "//third_party/libyuv", "//third_party/re2", "//third_party/sqlite", @@ -110,7 +110,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -212,6 +212,8 @@ +@@ -214,6 +214,8 @@ #include "services/tracing/public/cpp/system_tracing_service.h" #endif @@ -119,7 +119,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #if defined(OS_WIN) #include "base/win/scoped_com_initializer.h" #include "base/win/windows_version.h" -@@ -3413,6 +3415,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3377,6 +3379,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBreakpad, switches::kDisableDatabases, switches::kDisableFileSystem, @@ -143,7 +143,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn 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 -@@ -38,6 +38,8 @@ +@@ -39,6 +39,8 @@ #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" @@ -152,7 +152,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. #if defined(OS_ANDROID) #include "base/android/build_info.h" #endif -@@ -540,6 +542,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -547,6 +549,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( if (!command_line.HasSwitch(switches::kDisableYUVImageDecoding) && base::FeatureList::IsEnabled( blink::features::kDecodeLossyWebPImagesToYUV)) { @@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/time/time.h" #include "cc/input/overscroll_behavior.h" #include "cc/input/scroll_snap_data.h" -@@ -2148,6 +2149,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2141,6 +2142,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #if DCHECK_IS_ON() AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */); #endif @@ -217,7 +217,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 -@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -454,6 +454,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -228,7 +228,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; -@@ -2081,6 +2085,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2073,6 +2077,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -241,7 +241,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 -@@ -2114,6 +2114,11 @@ DOMRectList* Element::getClientRects() { +@@ -2119,6 +2119,11 @@ DOMRectList* Element::getClientRects() { DCHECK(element_layout_object); GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom( quads, *element_layout_object); @@ -253,7 +253,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ return MakeGarbageCollected(quads); } -@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const { +@@ -2136,6 +2141,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const { DCHECK(element_layout_object); GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result, *element_layout_object); @@ -343,7 +343,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h" #include "third_party/blink/renderer/platform/graphics/stroke_data.h" #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h" -@@ -2311,6 +2312,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -2332,6 +2333,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -377,7 +377,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering 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 -@@ -1645,7 +1645,9 @@ component("platform") { +@@ -1646,7 +1646,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -388,7 +388,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", -@@ -1712,6 +1714,7 @@ component("platform") { +@@ -1714,6 +1716,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc -@@ -689,4 +689,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) { +@@ -685,4 +685,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) { RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable); } @@ -632,7 +632,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 -@@ -1039,6 +1039,15 @@ +@@ -1041,6 +1041,15 @@ origin_trial_allows_third_party: true, status: "experimental", }, @@ -709,3 +709,5 @@ new file mode 100644 +} + +#endif // THIRD_PARTY_UNGOOGLED_FINGERPRINTING_SWITCHES_H_ +-- +2.25.1 diff --git a/build/patches/Never-fetch-popular-sites.patch b/build/patches/Never-fetch-popular-sites.patch index 5ec1238b..eb65d53a 100644 --- a/build/patches/Never-fetch-popular-sites.patch +++ b/build/patches/Never-fetch-popular-sites.patch @@ -17,7 +17,7 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p GURL GetPopularSitesURL(const std::string& directory, const std::string& country, -@@ -275,7 +274,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download, +@@ -276,7 +275,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download, DCHECK(!callback_); callback_ = std::move(callback); @@ -31,7 +31,7 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p prefs_->GetInt64(prefs::kPopularSitesLastDownloadPref)); const base::TimeDelta time_since_last_download = base::Time::Now() - last_download_time; -@@ -292,7 +296,7 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download, +@@ -293,7 +297,7 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download, (time_since_last_download > redownload_interval) || url_changed) { FetchPopularSites(); return true; @@ -40,3 +40,5 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p return false; } +-- +2.25.1 diff --git a/build/patches/Never-use-HTTP-probes-for-connection-detection.patch b/build/patches/Never-use-HTTP-probes-for-connection-detection.patch index c404655b..37829b04 100644 --- a/build/patches/Never-use-HTTP-probes-for-connection-detection.patch +++ b/build/patches/Never-use-HTTP-probes-for-connection-detection.patch @@ -21,3 +21,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit } } +-- +2.25.1 diff --git a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch b/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch index 068e133c..fe5fda71 100644 --- a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch +++ b/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch @@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -366,6 +366,8 @@ std::vector ChromeAutocompleteProviderClient::GetBuiltinURLs() { +@@ -272,6 +272,8 @@ std::vector ChromeAutocompleteProviderClient::GetBuiltinURLs() { std::vector ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { std::vector builtins_to_provide; @@ -18,3 +18,5 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc builtins_to_provide.push_back( base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL)); #if !defined(OS_ANDROID) +-- +2.25.1 diff --git a/build/patches/Open-YouTube-links-in-Bromite.patch b/build/patches/Open-YouTube-links-in-Bromite.patch index 9726157b..94433850 100644 --- a/build/patches/Open-YouTube-links-in-Bromite.patch +++ b/build/patches/Open-YouTube-links-in-Bromite.patch @@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -1280,6 +1280,12 @@ public class ExternalNavigationHandler { +@@ -1281,6 +1281,12 @@ public class ExternalNavigationHandler { OverrideUrlLoadingAsyncActionType.UI_GATING_BROWSER_NAVIGATION); } @@ -22,3 +22,5 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component // This should come after file intents, but before any returns of // OVERRIDE_WITH_EXTERNAL_INTENT. if (externalIntentRequestsDisabledForUrl(params)) { +-- +2.25.1 diff --git a/build/patches/Override-UA-client-hint-for-model.patch b/build/patches/Override-UA-client-hint-for-model.patch index 5e7c433f..8b40fb26 100644 --- a/build/patches/Override-UA-client-hint-for-model.patch +++ b/build/patches/Override-UA-client-hint-for-model.patch @@ -29,7 +29,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.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 -@@ -311,7 +311,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{ +@@ -322,7 +322,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{ // Controls whether Client Hints are guarded by Permissions Policy. const base::Feature kFeaturePolicyForClientHints{ @@ -38,3 +38,5 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c // Enables fixes for matching src: local() for web fonts correctly against full // font name or postscript name. Rolling out behind a flag, as enabling this +-- +2.25.1 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 8f34855a..6b0fe6fb 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 @@ -87,3 +87,5 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque // Only add default Accept-Language if the request didn't have it // specified. std::string accept_language = +-- +2.25.1 diff --git a/build/patches/Reintroduce-override_build_timestamp.patch b/build/patches/Reintroduce-override_build_timestamp.patch index a437144e..c5cc2ca5 100644 --- a/build/patches/Reintroduce-override_build_timestamp.patch +++ b/build/patches/Reintroduce-override_build_timestamp.patch @@ -14,7 +14,7 @@ Use (overriden) build timestamp for chrome_version_id diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -3734,8 +3734,13 @@ action("build_date") { +@@ -3747,8 +3747,13 @@ action("build_date") { args = [ rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir), @@ -32,15 +32,17 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn diff --git a/build_overrides/build.gni b/build_overrides/build.gni --- a/build_overrides/build.gni +++ b/build_overrides/build.gni -@@ -57,6 +57,11 @@ declare_args() { - # due to 4GiB file size limit, see https://crbug.com/648948. - # Set this flag to true to skip the assertion. - ignore_elf32_limitations = false -+ +@@ -34,6 +34,11 @@ declare_args() { + # //third_party/robolectric . + limit_android_deps = false + + # Override this value to give a specific build date. + # See //base/build_time.cc and //build/write_build_date_header.py for more + # details; expected format is Unix Epoch time in seconds. + override_build_timestamp = "N/A" - } - - if (host_os == "mac" || is_apple) { ++ + # Allows googletest to pretty-print various absl types. Disabled for nacl due + # to lack of toolchain support. + gtest_enable_absl_printers = !is_nacl +-- +2.25.1 diff --git a/build/patches/Remove-EV-certificates.patch b/build/patches/Remove-EV-certificates.patch index f861b138..7f1df37b 100644 --- a/build/patches/Remove-EV-certificates.patch +++ b/build/patches/Remove-EV-certificates.patch @@ -79,3 +79,5 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h // AddEVCA adds an EV CA to the list of known EV CAs with the given policy. // |policy| is expressed as a string of dotted numbers. It returns true on +-- +2.25.1 diff --git a/build/patches/Remove-SMS-integration.patch b/build/patches/Remove-SMS-integration.patch index a270882d..8888a4d8 100644 --- a/build/patches/Remove-SMS-integration.patch +++ b/build/patches/Remove-SMS-integration.patch @@ -369,3 +369,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Wr return super.registerReceiver(receiver, filter); } +-- +2.25.1 diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 56134274..8079ed9d 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -33,16 +33,14 @@ Parts of this patch were developed by csagan5, uazo and others. .../browser/gcore/GoogleApiClientHelper.java | 82 +-- .../instantapps/InstantAppsHandler.java | 57 +- .../browser/omaha/UpdateStatusProvider.java | 10 +- - .../inline/FakeAppUpdateManagerWrapper.java | 60 +- - .../inline/InlineUpdateControllerFactory.java | 16 - - .../inline/PlayInlineUpdateController.java | 226 +------- .../modules/chrome_feature_modules.gni | 3 - chrome/browser/BUILD.gn | 2 - chrome/browser/language/android/BUILD.gn | 2 - - .../language/AppLanguagePromoDialog.java | 13 - + .../language/AppLanguagePromoDialog.java | 23 - .../AppLanguagePreferenceDelegate.java | 8 - .../language/settings/LanguageSettings.java | 6 - .../prefetch/prefetch_service_factory.cc | 16 - + .../browser/password_manager/android/BUILD.gn | 2 - .../push_messaging_service_factory.cc | 8 +- chrome/browser/ui/BUILD.gn | 3 - .../webui/chrome_web_ui_controller_factory.cc | 3 - @@ -95,7 +93,7 @@ Parts of this patch were developed by csagan5, uazo and others. third_party/android_deps/BUILD.gn | 540 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- - 74 files changed, 66 insertions(+), 2580 deletions(-) + 72 files changed, 63 insertions(+), 2293 deletions(-) delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java @@ -124,7 +122,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest. diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -304,20 +304,10 @@ android_library("chrome_java") { +@@ -309,20 +309,10 @@ android_library("chrome_java") { ":chrome_public_apk_template_resources", ":update_proto_java", ":usage_stats_proto_java", @@ -145,7 +143,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/android/modules/image_editor/provider:java", "//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/webapk/libs/client:client_java", -@@ -571,7 +561,6 @@ android_library("chrome_java") { +@@ -579,7 +569,6 @@ android_library("chrome_java") { "//third_party/android_data_chart:android_data_chart_java", "//third_party/android_deps:android_support_v7_appcompat_java", "//third_party/android_deps:chromium_play_services_availability_java", @@ -153,7 +151,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/android_deps:com_google_code_findbugs_jsr305_java", "//third_party/android_deps:com_google_guava_listenablefuture_java", "//third_party/android_deps:dagger_java", -@@ -894,11 +883,6 @@ junit_binary("chrome_junit_tests") { +@@ -904,11 +893,6 @@ junit_binary("chrome_junit_tests") { ":chrome_java", ":chrome_public_android_manifest", ":delegate_public_impl_java", @@ -165,7 +163,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -1260,14 +1244,6 @@ android_library("chrome_test_java") { +@@ -1273,14 +1257,6 @@ android_library("chrome_test_java") { ":chrome_test_util_java", ":chrome_test_util_jni", ":delegate_public_impl_java", @@ -180,7 +178,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base/test:test_support_java", -@@ -2314,7 +2290,6 @@ android_library("browser_java_test_support") { +@@ -2331,7 +2307,6 @@ android_library("browser_java_test_support") { ] deps = [ ":chrome_java", @@ -188,7 +186,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:jni_java", -@@ -2459,9 +2434,7 @@ android_library("base_monochrome_module_java") { +@@ -2478,9 +2453,7 @@ android_library("base_monochrome_module_java") { android_library("base_module_java") { sources = [ "../browser/attribution_reporting/android/java/src/org/chromium/chrome/browser/attribution_reporting/AttributionReportingProvider.java", @@ -198,7 +196,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java", "java/src/org/chromium/chrome/browser/DeferredStartupHandler.java", "java/src/org/chromium/chrome/browser/base/DexFixer.java", -@@ -2472,8 +2445,6 @@ android_library("base_module_java") { +@@ -2491,8 +2464,6 @@ android_library("base_module_java") { "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", @@ -207,7 +205,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", -@@ -2500,16 +2471,10 @@ android_library("base_module_java") { +@@ -2519,16 +2490,10 @@ android_library("base_module_java") { "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java", "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java", "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java", @@ -224,7 +222,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", -@@ -2522,7 +2487,6 @@ android_library("base_module_java") { +@@ -2541,7 +2506,6 @@ android_library("base_module_java") { "//components/media_router/browser/android:cast_options_provider_java", "//components/minidump_uploader:minidump_uploader_java", "//components/module_installer/android:module_installer_java", @@ -232,7 +230,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/androidx:androidx_fragment_fragment_java", -@@ -2544,7 +2508,6 @@ android_library("base_module_java") { +@@ -2563,7 +2527,6 @@ android_library("base_module_java") { # Deps to pull services into base module. # TODO(crbug.com/1126301): Consider moving these to the chrome module to # reduce base dex size. @@ -251,7 +249,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", -@@ -1025,10 +1024,6 @@ chrome_java_sources = [ +@@ -1014,10 +1013,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/searchwidget/SearchType.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java", "java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java", @@ -312,7 +310,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro - - @@ -812,16 +810,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java -@@ -19,8 +19,6 @@ import androidx.annotation.NonNull; +@@ -17,8 +17,6 @@ import androidx.annotation.IntDef; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import androidx.annotation.VisibleForTesting; -import com.google.android.gms.common.GooglePlayServicesUtil; - - import org.chromium.base.ActivityState; - import org.chromium.base.ApplicationStatus; - import org.chromium.base.ApplicationStatus.ActivityStateListener; -@@ -456,13 +454,7 @@ public class UpdateStatusProvider implements ActivityStateListener { + import org.chromium.base.BuildInfo; + import org.chromium.base.Callback; + import org.chromium.base.ContextUtils; +@@ -328,13 +326,7 @@ public class UpdateStatusProvider { } private boolean isGooglePlayStoreAvailable(Context context) { @@ -836,452 +834,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta } private long getSize(StatFs statFs) { -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java -@@ -11,11 +11,6 @@ import android.os.Message; - - import androidx.annotation.IntDef; - --import com.google.android.play.core.appupdate.AppUpdateInfo; --import com.google.android.play.core.appupdate.testing.FakeAppUpdateManager; --import com.google.android.play.core.install.model.AppUpdateType; --import com.google.android.play.core.tasks.Task; -- - import org.chromium.base.ContextUtils; - import org.chromium.base.task.PostTask; - import org.chromium.chrome.browser.app.ChromeActivity; -@@ -31,7 +26,7 @@ import java.lang.ref.WeakReference; - * wrapper isn't meant to be used for a full integration test, but simulating all of the possible - * error cases is a bit easier to do here. - */ --public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager { -+public class FakeAppUpdateManagerWrapper { - private static final int RESULT_IN_APP_UPDATE_FAILED = 1; - private static final int STEP_DELAY_MS = 5000; - private static final int TOAST_DURATION_MS = 2000; -@@ -108,15 +103,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager { - switch (event) { - case Event.UPDATE_AVAILABLE: - w.toast("Making app update available."); -- w.setUpdateAvailable(10000 /* Figure out a better version? */); - return; - case Event.USER_ACCEPTS_UPDATE: - w.toast("User accepts update."); -- w.userAcceptsUpdate(); - return; - case Event.USER_REJECTS_UPDATE: - w.toast("User rejects update."); -- w.userRejectsUpdate(); - return; - case Event.TRIGGER_DOWNLOAD: - w.toast("Triggering download."); -@@ -124,27 +116,21 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager { - return; - case Event.DOWNLOAD_STARTS: - w.toast("Download has started."); -- w.downloadStarts(); - return; - case Event.DOWNLOAD_FAILS: - w.toast("Triggering download failure."); -- w.downloadFails(); - return; - case Event.USER_CANCELS_DOWNLOAD: - w.toast("Triggering cancellation of download."); -- w.userCancelsDownload(); - return; - case Event.DOWNLOAD_COMPLETES: - w.toast("Download completes."); -- w.downloadCompletes(); - return; - case Event.INSTALL_FAILS: - w.toast("Triggering install failure."); -- w.installFails(); - return; - case Event.INSTALL_COMPLETES: - w.toast("Triggering install completion."); -- w.installCompletes(); - return; - default: - w.toast("Unknown event."); -@@ -159,56 +145,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager { - * @param endState at which point should the inline update flow end. - */ - FakeAppUpdateManagerWrapper(@Type int endState) { -- super(ContextUtils.getApplicationContext()); - mType = endState; - mEventHandler = new EventHandler(this); - - if (mType != Type.NONE) execute(Event.UPDATE_AVAILABLE); - } - -- // FakeAppUpdateManager implementation. -- @Override -- public boolean startUpdateFlowForResult(AppUpdateInfo appUpdateInfo, -- @AppUpdateType int appUpdateType, Activity activity, int requestCode) { -- toast("Starting update flow."); -- // TODO(dtrainor): Simulate exceptions being thrown or returning false from the super call. -- boolean success = -- super.startUpdateFlowForResult(appUpdateInfo, appUpdateType, activity, requestCode); -- if (!success) return false; -- -- assert activity instanceof ChromeActivity : "Unexpected triggering activity."; -- -- final int resultCode; -- if (mType == Type.FAIL_DIALOG_CANCEL) { -- resultCode = Activity.RESULT_CANCELED; -- } else if (mType == Type.FAIL_DIALOG_UPDATE_FAILED) { -- resultCode = RESULT_IN_APP_UPDATE_FAILED; -- } else { -- resultCode = Activity.RESULT_OK; -- } -- -- PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT, () -> { -- triggerDialogResponse((ChromeActivity) activity, requestCode, resultCode); -- }, STEP_DELAY_MS); -- -- return true; -- } -- -- @Override -- public Task completeUpdate() { -- toast("Completing update."); -- Task result = super.completeUpdate(); -- -- if (mType == Type.FAIL_INSTALL) { -- postDelayedEvent(Event.INSTALL_FAILS); -- } else { -- postDelayedEvent(Event.INSTALL_COMPLETES); -- // This doesn't actually restart Chrome in this case. -- } -- -- return result; -- } -- - private void triggerDialogResponse(ChromeActivity activity, int requestCode, int resultCode) { - if (resultCode == Activity.RESULT_OK) { - execute(Event.USER_ACCEPTS_UPDATE); -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java -@@ -4,8 +4,6 @@ - - package org.chromium.chrome.browser.omaha.inline; - --import com.google.android.play.core.appupdate.AppUpdateManagerFactory; -- - import org.chromium.base.ContextUtils; - import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.omaha.UpdateConfigs; -@@ -20,20 +18,6 @@ public class InlineUpdateControllerFactory { - public static InlineUpdateController create(Runnable callback) { - @FakeAppUpdateManagerWrapper.Type - int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState(); -- if (mockInlineEndState != FakeAppUpdateManagerWrapper.Type.NO_SIMULATION) { -- // The config requires to run through a test controller, using the -- // PlayInlineUpdateController, but with a fake Google Play backend that automatically -- // goes through a scenario flow. -- return new PlayInlineUpdateController( -- callback, new FakeAppUpdateManagerWrapper(mockInlineEndState)); -- } -- -- if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) { -- // The application configuration requires to use the real Google Play backend for inline -- // updates. -- return new PlayInlineUpdateController( -- callback, AppUpdateManagerFactory.create(ContextUtils.getApplicationContext())); -- } - - // No test scenario was in place, and the inline flow has not been enabled, so use a - // controller with no functionality. -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java -@@ -10,15 +10,6 @@ import android.content.IntentSender.SendIntentException; - import androidx.annotation.IntDef; - import androidx.annotation.Nullable; - --import com.google.android.play.core.appupdate.AppUpdateInfo; --import com.google.android.play.core.appupdate.AppUpdateManager; --import com.google.android.play.core.install.InstallState; --import com.google.android.play.core.install.InstallStateUpdatedListener; --import com.google.android.play.core.install.model.AppUpdateType; --import com.google.android.play.core.install.model.InstallErrorCode; --import com.google.android.play.core.install.model.InstallStatus; --import com.google.android.play.core.install.model.UpdateAvailability; -- - import org.chromium.base.Log; - import org.chromium.base.metrics.RecordHistogram; - import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState; -@@ -32,7 +23,7 @@ import java.lang.annotation.RetentionPolicy; - * in the foreground. - */ - public class PlayInlineUpdateController -- implements InlineUpdateController, InstallStateUpdatedListener { -+ implements InlineUpdateController { - /** - * Converts Play's InstallErrorCode enum to a stable monotomically incrementing Chrome enum. - * This is used for metric stability. -@@ -127,26 +118,9 @@ public class PlayInlineUpdateController - private static final int RESULT_IN_APP_UPDATE_FAILED = 1; - private static final int REQUEST_CODE = 8123; - -- private final Runnable mCallback; -- private final AppUpdateManager mAppUpdateManager; -- - private boolean mEnabled; - private @Nullable @UpdateState Integer mUpdateState; - -- private AppUpdateInfo mAppUpdateInfo; -- private @Nullable @UpdateAvailability Integer mUpdateAvailability; -- private @Nullable @InstallStatus Integer mInstallStatus; -- -- /** -- * Builds an instance of {@link PlayInlineUpdateController}. -- * @param callback The {@link Runnable} to notify when an inline update state change occurs. -- */ -- PlayInlineUpdateController(Runnable callback, AppUpdateManager appUpdateManager) { -- mCallback = callback; -- mAppUpdateManager = appUpdateManager; -- setEnabled(true); -- } -- - // InlineUpdateController implementation. - @Override - public void setEnabled(boolean enabled) { -@@ -155,10 +129,8 @@ public class PlayInlineUpdateController - - if (mEnabled) { - mUpdateState = UpdateState.NONE; -- mAppUpdateManager.registerListener(this); - pullCurrentState(); - } else { -- mAppUpdateManager.unregisterListener(this); - } - } - -@@ -169,220 +141,26 @@ public class PlayInlineUpdateController - - @Override - public void startUpdate(Activity activity) { -- try { -- boolean success = mAppUpdateManager.startUpdateFlowForResult( -- mAppUpdateInfo, AppUpdateType.FLEXIBLE, activity, REQUEST_CODE); -- Log.i(TAG, "startUpdateFlowForResult() returned " + success); -- -- if (!success) recordCallFailure(CallFailure.START_FAILED); -- } catch (SendIntentException exception) { -- mInstallStatus = InstallStatus.FAILED; -- Log.i(TAG, "startUpdateFlowForResult() threw an exception."); -- recordCallFailure(CallFailure.START_EXCEPTION); -- } -- // TODO(dtrainor): Use success. - } - - @Override - public void completeUpdate() { -- mAppUpdateManager.completeUpdate() -- .addOnSuccessListener(unused -> { -- Log.i(TAG, "completeUpdate() success."); -- pushStatus(); -- }) -- .addOnFailureListener(exception -> { -- Log.i(TAG, "completeUpdate() failed."); -- recordCallFailure(CallFailure.COMPLETE_FAILED); -- mInstallStatus = InstallStatus.FAILED; -- pushStatus(); -- }); -- } -- -- // InstallStateUpdatedListener implementation. -- @Override -- public void onStateUpdate(InstallState state) { -- Log.i(TAG, -- "onStateUpdate(" + state.installStatus() + ", " + state.installErrorCode() + ")"); -- -- if (state.installStatus() != mInstallStatus) { -- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.StateChange.Error." -- + installStatusToEnumSuffix(state.installStatus()), -- installErrorCodeToMetrics(state.installErrorCode()), -- InstallErrorCodeMetrics.NUM_ENTRIES); -- } -- -- mInstallStatus = state.installStatus(); -- pushStatus(); - } - - private void pullCurrentState() { -- mAppUpdateManager.getAppUpdateInfo() -- .addOnSuccessListener(info -> { -- mAppUpdateInfo = info; -- mUpdateAvailability = info.updateAvailability(); -- mInstallStatus = info.installStatus(); -- Log.i(TAG, -- "pullCurrentState(" + mUpdateAvailability + ", " + mInstallStatus -- + ") success."); -- recordOnAppUpdateInfo(info); -- pushStatus(); -- }) -- .addOnFailureListener(exception -> { -- mAppUpdateInfo = null; -- mUpdateAvailability = UpdateAvailability.UNKNOWN; -- mInstallStatus = InstallStatus.UNKNOWN; -- Log.i(TAG, "pullCurrentState() failed."); -- recordCallFailure(CallFailure.QUERY_FAILED); -- pushStatus(); -- }); - } - - private void pushStatus() { -- if (!mEnabled || mUpdateAvailability == null || mInstallStatus == null) return; -- -- @UpdateState -- int newState = toUpdateState(mUpdateAvailability, mInstallStatus); -- if (mUpdateState != null && mUpdateState == newState) return; -- -- Log.i(TAG, "Pushing inline update state to " + newState); -- mUpdateState = newState; -- mCallback.run(); - } - - private static @UpdateState int toUpdateState( -- @UpdateAvailability int updateAvailability, @InstallStatus int installStatus) { -+ int updateAvailability, int installStatus) { - @UpdateState - int newStatus = UpdateState.NONE; - -- // Note, use InstallStatus first then UpdateAvailability if InstallStatus doesn't indicate -- // a currently active install. -- switch (installStatus) { -- case InstallStatus.PENDING: -- // Intentional fall through. -- case InstallStatus.DOWNLOADING: -- newStatus = UpdateState.INLINE_UPDATE_DOWNLOADING; -- break; -- case InstallStatus.DOWNLOADED: -- newStatus = UpdateState.INLINE_UPDATE_READY; -- break; -- case InstallStatus.FAILED: -- newStatus = UpdateState.INLINE_UPDATE_FAILED; -- break; -- } -- -- if (newStatus == UpdateState.NONE) { -- switch (updateAvailability) { -- case UpdateAvailability.UPDATE_AVAILABLE: -- newStatus = UpdateState.INLINE_UPDATE_AVAILABLE; -- break; -- } -- } -- - return newStatus; - } - -- private static String installStatusToEnumSuffix(@InstallStatus int status) { -- switch (status) { -- case InstallStatus.UNKNOWN: -- return "Unknown"; -- case InstallStatus.REQUIRES_UI_INTENT: -- return "RequiresUiIntent"; -- case InstallStatus.PENDING: -- return "Pending"; -- case InstallStatus.DOWNLOADING: -- return "Downloading"; -- case InstallStatus.DOWNLOADED: -- return "Downloaded"; -- case InstallStatus.INSTALLING: -- return "Installing"; -- case InstallStatus.INSTALLED: -- return "Installed"; -- case InstallStatus.FAILED: -- return "Failed"; -- case InstallStatus.CANCELED: -- return "Canceled"; -- default: -- return "Untracked"; -- } -- } -- -- private static @InstallErrorCodeMetrics int installErrorCodeToMetrics( -- @InstallErrorCode int error) { -- switch (error) { -- case InstallErrorCode.NO_ERROR: -- return InstallErrorCodeMetrics.NO_ERROR; -- case InstallErrorCode.NO_ERROR_PARTIALLY_ALLOWED: -- return InstallErrorCodeMetrics.NO_ERROR_PARTIALLY_ALLOWED; -- case InstallErrorCode.ERROR_UNKNOWN: -- return InstallErrorCodeMetrics.ERROR_UNKNOWN; -- case InstallErrorCode.ERROR_API_NOT_AVAILABLE: -- return InstallErrorCodeMetrics.ERROR_API_NOT_AVAILABLE; -- case InstallErrorCode.ERROR_INVALID_REQUEST: -- return InstallErrorCodeMetrics.ERROR_INVALID_REQUEST; -- case InstallErrorCode.ERROR_INSTALL_UNAVAILABLE: -- return InstallErrorCodeMetrics.ERROR_INSTALL_UNAVAILABLE; -- case InstallErrorCode.ERROR_INSTALL_NOT_ALLOWED: -- return InstallErrorCodeMetrics.ERROR_INSTALL_NOT_ALLOWED; -- case InstallErrorCode.ERROR_DOWNLOAD_NOT_PRESENT: -- return InstallErrorCodeMetrics.ERROR_DOWNLOAD_NOT_PRESENT; -- case InstallErrorCode.ERROR_INTERNAL_ERROR: -- return InstallErrorCodeMetrics.ERROR_INTERNAL_ERROR; -- default: -- return InstallErrorCodeMetrics.ERROR_UNTRACKED; -- } -- } -- -- private static @UpdateAvailabilityMetric int updateAvailabilityToMetrics( -- @UpdateAvailability int updateAvailability) { -- switch (updateAvailability) { -- case UpdateAvailability.UNKNOWN: -- return UpdateAvailabilityMetric.UNKNOWN; -- case UpdateAvailability.UPDATE_NOT_AVAILABLE: -- return UpdateAvailabilityMetric.UPDATE_NOT_AVAILABLE; -- case UpdateAvailability.UPDATE_AVAILABLE: -- return UpdateAvailabilityMetric.UPDATE_AVAILABLE; -- case UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS: -- return UpdateAvailabilityMetric.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS; -- default: -- return UpdateAvailabilityMetric.UNTRACKED; -- } -- } -- -- private static @InstallStatusMetric int installStatusToMetrics( -- @InstallStatus int installStatus) { -- switch (installStatus) { -- case InstallStatus.UNKNOWN: -- return InstallStatusMetric.UNKNOWN; -- case InstallStatus.REQUIRES_UI_INTENT: -- return InstallStatusMetric.REQUIRES_UI_INTENT; -- case InstallStatus.PENDING: -- return InstallStatusMetric.PENDING; -- case InstallStatus.DOWNLOADING: -- return InstallStatusMetric.DOWNLOADING; -- case InstallStatus.DOWNLOADED: -- return InstallStatusMetric.DOWNLOADED; -- case InstallStatus.INSTALLING: -- return InstallStatusMetric.INSTALLING; -- case InstallStatus.INSTALLED: -- return InstallStatusMetric.INSTALLED; -- case InstallStatus.FAILED: -- return InstallStatusMetric.FAILED; -- case InstallStatus.CANCELED: -- return InstallStatusMetric.CANCELED; -- default: -- return InstallStatusMetric.UNTRACKED; -- } -- } -- -- private static void recordOnAppUpdateInfo(AppUpdateInfo info) { -- RecordHistogram.recordEnumeratedHistogram( -- "GoogleUpdate.Inline.AppUpdateInfo.UpdateAvailability", -- updateAvailabilityToMetrics(info.updateAvailability()), -- UpdateAvailabilityMetric.NUM_ENTRIES); -- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.AppUpdateInfo.InstallStatus", -- installStatusToMetrics(info.installStatus()), InstallStatusMetric.NUM_ENTRIES); -- } -- - private static void recordCallFailure(@CallFailure int failure) { - RecordHistogram.recordEnumeratedHistogram( - "GoogleUpdate.Inline.CallFailure", failure, CallFailure.NUM_ENTRIES); diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni --- a/chrome/android/modules/chrome_feature_modules.gni +++ b/chrome/android/modules/chrome_feature_modules.gni @@ -1305,7 +857,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -6501,8 +6501,6 @@ static_library("browser") { +@@ -6594,8 +6594,6 @@ static_library("browser") { "offline_pages/offliner_helper.h", "offline_pages/offliner_user_data.cc", "offline_pages/offliner_user_data.h", @@ -1334,7 +886,20 @@ 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 -@@ -459,19 +459,6 @@ public class AppLanguagePromoDialog { +@@ -451,12 +451,6 @@ public class AppLanguagePromoDialog { + + mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView); + +- // Only show the modal if the selected language is not installed. +- if (!LanguageSplitInstaller.getInstance().isLanguageSplitInstalled( +- selectedLanguage.getCode())) { +- mModalDialogManager.showDialog(mLoadingModal, ModalDialogManager.ModalDialogType.APP); +- } +- + boolean isSelectedCurrentUI = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode()); + if (!isSelectedCurrentUI) { + // Only record isTopLanguage if the app language has changed. +@@ -464,23 +458,6 @@ public class AppLanguagePromoDialog { } AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage( selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode()); @@ -1342,12 +907,16 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse - // Create call back for after language split install completes. - AppLocaleUtils.setAppLanguagePref(selectedLanguage.getCode(), (success) -> { - if (success) { -- mRestartAction.restart(); +- if (!isSelectedCurrentUI) { +- // Only restart if the new language is different than the current UI. +- mRestartAction.restart(); +- } - } else { +- // The loading language modal will always already be shown if a download fails. - CharSequence failedText = mActivity.getResources().getString( - R.string.languages_split_failed, selectedLanguage.getDisplayName()); - messageView.setText(failedText); -- mConfirmModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT, +- mLoadingModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT, - mActivity.getText(R.string.ok).toString()); - } - }); @@ -1428,6 +997,25 @@ diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey()); } +diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn +--- a/chrome/browser/password_manager/android/BUILD.gn ++++ b/chrome/browser/password_manager/android/BUILD.gn +@@ -50,7 +50,6 @@ android_library("java") { + ":android_backend_java_enums", + ":java_resources", + ":settings_interface_java", +- "$google_play_services_package:google_play_services_basement_java", + "//base:base_java", + "//chrome/browser/device_reauth/android:java", + "//chrome/browser/flags:java", +@@ -117,7 +116,6 @@ junit_binary("password_manager_junit_tests") { + deps = [ + ":android_backend_java_enums", + ":java", +- "$google_play_services_package:google_play_services_basement_java", + "//base:base_java", + "//base:base_java_test_support", + "//base:base_junit_test_support", diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc --- a/chrome/browser/push_messaging/push_messaging_service_factory.cc +++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc @@ -1477,7 +1065,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/image_editor/image_editor_ui.h" #include "chrome/browser/ui/webui/internals/internals_ui.h" #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h" -@@ -629,8 +628,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -632,8 +631,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIFlocInternalsHost) return &NewWebUI; @@ -1489,7 +1077,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn --- a/chrome/test/android/BUILD.gn +++ b/chrome/test/android/BUILD.gn -@@ -268,8 +268,6 @@ android_library("chrome_java_test_support") { +@@ -307,8 +307,6 @@ android_library("chrome_java_test_support") { ] deps = [ @@ -3802,7 +3390,7 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi "java/src/org/chromium/components/signin/AccountRestrictionPatternReceiver.java", "java/src/org/chromium/components/signin/AccountUtils.java", "java/src/org/chromium/components/signin/AccountsChangeObserver.java", -@@ -136,7 +133,6 @@ java_library("junit") { +@@ -137,7 +134,6 @@ java_library("junit") { deps = [ ":java", ":signin_java_test_support", @@ -3892,7 +3480,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc --- a/content/browser/push_messaging/push_messaging_manager.cc +++ b/content/browser/push_messaging/push_messaging_manager.cc -@@ -755,7 +755,7 @@ void PushMessagingManager::GetSubscriptionInfo( +@@ -790,7 +790,7 @@ void PushMessagingManager::GetSubscriptionInfo( } PushMessagingService* PushMessagingManager::GetService() { @@ -3918,7 +3506,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn 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 -@@ -939,7 +939,7 @@ const base::Feature kWebAssemblyTrapHandler { +@@ -972,7 +972,7 @@ const base::Feature kWebAssemblyTrapHandler { // Controls whether the WebAuthentication API is enabled: // https://w3c.github.io/webauthn const base::Feature kWebAuth{"WebAuthentication", @@ -3930,7 +3518,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -2869,10 +2869,6 @@ if (is_android) { +@@ -2868,10 +2868,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3944,7 +3532,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/device/BUILD.gn b/device/BUILD.gn --- a/device/BUILD.gn +++ b/device/BUILD.gn -@@ -446,9 +446,6 @@ if (is_android) { +@@ -447,9 +447,6 @@ if (is_android) { "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java", ] deps = [ @@ -3970,7 +3558,7 @@ diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_jav diff --git a/services/BUILD.gn b/services/BUILD.gn --- a/services/BUILD.gn +++ b/services/BUILD.gn -@@ -110,11 +110,6 @@ if (is_android) { +@@ -114,11 +114,6 @@ if (is_android) { "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java", ] deps = [ @@ -3982,7 +3570,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -143,10 +138,6 @@ if (is_android) { +@@ -147,10 +142,6 @@ if (is_android) { "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", ] deps = [ @@ -4251,8 +3839,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_material_material_java") { aar_path = -@@ -1267,60 +1062,6 @@ if (!limit_android_deps) { - ignore_proguard_configs = true +@@ -1269,60 +1064,6 @@ if (!limit_android_deps) { + proguard_configs = [ "material_design.flags" ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -4312,7 +3900,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_google_guava_guava_android_java") { jar_path = "libs/com_google_guava_guava_android/guava-31.0-android.jar" -@@ -1458,19 +1199,6 @@ if (!limit_android_deps) { +@@ -1471,19 +1212,6 @@ if (!limit_android_deps) { bypass_platform_checks = true } @@ -4332,7 +3920,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("org_robolectric_utils_java") { jar_path = "libs/org_robolectric_utils/utils-4.3.1.jar" -@@ -1847,272 +1575,6 @@ if (!limit_android_deps) { +@@ -1860,272 +1588,6 @@ if (!limit_android_deps) { deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] } @@ -4649,3 +4237,5 @@ diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServices + return 16; // API_UNAVAILABLE } } +-- +2.25.1 diff --git a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch index 7beae250..e2930b10 100644 --- a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch +++ b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch @@ -9,7 +9,7 @@ Subject: Remove blocklisted URLs upon bookmark creation diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -141,6 +141,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor; +@@ -140,6 +140,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor; import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController; import org.chromium.chrome.browser.night_mode.WebContentsDarkModeMessageController; import org.chromium.chrome.browser.ntp.NewTabPageUma; @@ -17,8 +17,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv +import org.chromium.chrome.browser.suggestions.mostvisited.MostVisitedSites; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.indicator.OfflineIndicatorController; - import org.chromium.chrome.browser.omaha.UpdateInfoBarController; -@@ -241,6 +243,8 @@ import org.chromium.ui.widget.Toast; + import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; +@@ -242,6 +244,8 @@ import org.chromium.ui.widget.Toast; import org.chromium.url.GURL; import org.chromium.webapk.lib.client.WebApkNavigationClient; @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; -@@ -290,6 +294,7 @@ public abstract class ChromeActivity +@@ -291,6 +295,7 @@ public abstract class ChromeActivity private UmaSessionStats mUmaSessionStats; private ContextReporter mContextReporter; @@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv private boolean mPartnerBrowserRefreshNeeded; -@@ -1438,6 +1443,11 @@ public abstract class ChromeActivity +@@ -1451,6 +1456,11 @@ public abstract class ChromeActivity mCompositorViewHolderSupplier.set(null); } @@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv onDestroyInternal(); if (mDidAddPolicyChangeListener) { -@@ -1763,6 +1773,13 @@ public abstract class ChromeActivity +@@ -1783,6 +1793,13 @@ public abstract class ChromeActivity // Defense in depth against the UI being erroneously enabled. BookmarkBridge bridge = mBookmarkBridgeSupplier.get(); @@ -61,3 +61,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv if (bridge == null || !bridge.isEditBookmarksEnabled()) { assert false; return; +-- +2.25.1 diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index a8b3ab24..5e21e7df 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.patch @@ -13,7 +13,7 @@ Subject: Remove help menu item 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 -@@ -142,9 +142,6 @@ +@@ -139,9 +139,6 @@ @@ -26,7 +26,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/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 -@@ -364,9 +364,6 @@ public class KeyboardShortcuts { +@@ -362,9 +362,6 @@ public class KeyboardShortcuts { case KeyEvent.KEYCODE_BUTTON_START: if (currentTab != null && currentTab.canGoForward()) currentTab.goForward(); return true; @@ -39,7 +39,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 -@@ -2329,16 +2329,6 @@ public abstract class ChromeActivity +@@ -2359,16 +2359,6 @@ public abstract class ChromeActivity final Tab currentTab = getActivityTab(); @@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -524,7 +524,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity QueryTileUtils.isQueryTilesEnabledOnNTP()); deferredStartupHandler.addDeferredTask( () +-- +2.25.1 diff --git a/build/patches/Remove-signin-and-data-saver-integrations.patch b/build/patches/Remove-signin-and-data-saver-integrations.patch index e80cb537..30d3c6af 100644 --- a/build/patches/Remove-signin-and-data-saver-integrations.patch +++ b/build/patches/Remove-signin-and-data-saver-integrations.patch @@ -33,20 +33,19 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions() .../chrome/browser/ChromeTabbedActivity.java | 16 -- .../chrome/browser/app/ChromeActivity.java | 75 -------- .../AutofillAssistantPreferenceFragment.java | 12 -- - .../bookmarks/BookmarkItemsAdapter.java | 50 +---- - .../bookmarks/BookmarkPromoHeader.java | 180 +----------------- + .../bookmarks/BookmarkItemsAdapter.java | 47 +---- + .../bookmarks/BookmarkPromoHeader.java | 182 +----------------- .../ClearBrowsingDataFragmentBasic.java | 5 +- .../contextualsearch/ContextualSearchUma.java | 5 - .../browser/customtabs/CustomTabActivity.java | 3 - .../DataReductionPreferenceFragment.java | 24 +-- - .../browser/firstrun/FirstRunActivity.java | 41 +--- - .../firstrun/FirstRunFlowSequencer.java | 50 +---- + .../browser/firstrun/FirstRunActivity.java | 39 ---- + .../firstrun/FirstRunFlowSequencer.java | 51 +---- .../firstrun/LightweightFirstRunActivity.java | 6 +- - .../firstrun/ToSAndUMAFirstRunFragment.java | 11 -- .../history/HistoryContentManager.java | 10 +- .../init/ChromeBrowserInitializer.java | 2 - .../init/ProcessInitializationHandler.java | 4 - - .../chrome/browser/ntp/RecentTabsManager.java | 70 +------ + .../chrome/browser/ntp/RecentTabsManager.java | 72 +------ .../browser/ntp/RecentTabsRowAdapter.java | 6 - .../browser/omaha/RequestGenerator.java | 3 - .../PasswordManagerLauncher.java | 15 +- @@ -61,25 +60,27 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions() .../tabbed_mode/TabbedRootUiCoordinator.java | 22 +-- .../tasks/ReturnToChromeExperimentsUtil.java | 9 +- chrome/browser/BUILD.gn | 10 - + .../browser/firstrun/MobileFreProgress.java | 4 +- + .../res/layout/privacy_review_msbb_step.xml | 8 - .../identity_services_provider_android.cc | 9 - .../services/IdentityServicesProvider.java | 14 -- - ...onfirmImportSyncDataDialogCoordinator.java | 7 +- - .../ui/ConfirmSyncDataStateMachine.java | 16 +- - .../signin/ui/SignOutDialogFragment.java | 13 -- - .../signin/ui/SigninPromoController.java | 15 +- - .../AccountPickerDelegateImpl.java | 18 -- - .../signin/ui/fre/SigninFirstRunMediator.java | 32 +--- chrome/browser/sync/sync_service_factory.cc | 12 +- + ...onfirmImportSyncDataDialogCoordinator.java | 7 +- + .../signin/ConfirmSyncDataStateMachine.java | 16 +- + .../ui/signin/SignOutDialogFragment.java | 13 -- + .../ui/signin/SigninPromoController.java | 15 +- + .../AccountPickerDelegateImpl.java | 24 --- + .../ui/signin/fre/SigninFirstRunMediator.java | 39 +--- .../strings/android_chrome_strings.grd | 18 -- - .../signin/SystemAccountManagerDelegate.java | 35 +--- + .../signin/SystemAccountManagerDelegate.java | 25 +-- .../net/HttpNegotiateAuthenticator.java | 88 +-------- .../chromoting/base/OAuthTokenFetcher.java | 2 - - 55 files changed, 52 insertions(+), 1287 deletions(-) + 56 files changed, 54 insertions(+), 1289 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -3822,7 +3822,6 @@ generate_jni("chrome_jni_headers") { +@@ -3845,7 +3845,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/infobar/SavePasswordInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/SearchGeolocationDisclosureInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/SurveyInfoBar.java", @@ -114,15 +115,15 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/infobar/TextViewEllipsizerSafe.java", "java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/UpdatePasswordInfoBar.java", -@@ -830,7 +826,6 @@ chrome_java_sources = [ +@@ -829,7 +825,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java", - "java/src/org/chromium/chrome/browser/ntp/SnapScrollHelper.java", + "java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java", "java/src/org/chromium/chrome/browser/ntp/TitleUtil.java", - "java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java", "java/src/org/chromium/chrome/browser/ntp/cards/promo/enhanced_protection/EnhancedProtectionPromoController.java", "java/src/org/chromium/chrome/browser/ntp/cards/promo/enhanced_protection/EnhancedProtectionPromoUtils.java", "java/src/org/chromium/chrome/browser/ntp/search/SearchBoxChipDelegate.java", -@@ -913,8 +908,6 @@ chrome_java_sources = [ +@@ -901,8 +896,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksShim.java", "java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java", "java/src/org/chromium/chrome/browser/password_manager/AccountChooserDialog.java", @@ -131,7 +132,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/password_manager/Credential.java", "java/src/org/chromium/chrome/browser/password_manager/CredentialLeakDialogBridge.java", "java/src/org/chromium/chrome/browser/password_manager/GooglePasswordManagerUIProvider.java", -@@ -1056,16 +1049,6 @@ chrome_java_sources = [ +@@ -1045,16 +1038,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMetrics.java", "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java", "java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java", @@ -148,7 +149,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java", "java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java", "java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java", -@@ -1102,29 +1085,6 @@ chrome_java_sources = [ +@@ -1090,29 +1073,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java", "java/src/org/chromium/chrome/browser/survey/SurveyController.java", "java/src/org/chromium/chrome/browser/survey/SurveyHttpClientBridge.java", @@ -189,7 +190,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.tabmodel.TabModel; import org.chromium.components.signin.identitymanager.ConsentLevel; import org.chromium.components.sync.ModelType; -@@ -188,9 +187,7 @@ public class PriceTrackingUtilities { +@@ -211,9 +210,7 @@ public class PriceTrackingUtilities { } private static boolean isOpenTabsSyncEnabled() { @@ -203,7 +204,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser 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 -@@ -953,10 +953,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider, FeedBubbleDe +@@ -934,10 +934,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider, FeedBubbleDe @Override public boolean isSignedIn() { @@ -218,26 +219,26 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java --- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java +++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java -@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate; +@@ -36,18 +36,13 @@ import org.chromium.chrome.browser.feed.sections.SectionType; + import org.chromium.chrome.browser.feed.sections.ViewVisibility; + import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; - import org.chromium.chrome.browser.ntp.NewTabPageLayout; - import org.chromium.chrome.browser.ntp.SnapScrollHelper; -import org.chromium.chrome.browser.ntp.cards.SignInPromo; import org.chromium.chrome.browser.ntp.cards.promo.enhanced_protection.EnhancedProtectionPromoController.EnhancedProtectionPromoStateListener; - import org.chromium.chrome.browser.ntp.snippets.OnSectionHeaderSelectedListener; - import org.chromium.chrome.browser.ntp.snippets.SectionHeaderListProperties; -@@ -53,10 +52,6 @@ import org.chromium.chrome.browser.preferences.Pref; + import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; -import org.chromium.chrome.browser.signin.services.SigninManager; --import org.chromium.chrome.browser.signin.ui.PersonalizedSigninPromoView; --import org.chromium.chrome.browser.signin.ui.SigninPromoController; import org.chromium.chrome.browser.suggestions.SuggestionsMetrics; + import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate; +-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView; +-import org.chromium.chrome.browser.ui.signin.SigninPromoController; import org.chromium.chrome.browser.xsurface.FeedLaunchReliabilityLogger; - import org.chromium.chrome.features.start_surface.StartSurfaceConfiguration; -@@ -201,7 +196,6 @@ public class FeedSurfaceMediator + import org.chromium.components.browser_ui.widget.listmenu.ListMenu; + import org.chromium.components.browser_ui.widget.listmenu.ListMenuItemProperties; +@@ -132,7 +127,6 @@ public class FeedSurfaceMediator /** * The {@link SignInPromo} for the Feed. * TODO(huayinz): Update content and visibility through a ModelChangeProcessor. @@ -245,7 +246,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private class FeedSignInPromo extends SignInPromo { FeedSignInPromo(SigninManager signinManager) { super(signinManager); -@@ -222,7 +216,7 @@ public class FeedSurfaceMediator +@@ -153,7 +147,7 @@ public class FeedSurfaceMediator maybeUpdateSignInPromo(); } @@ -254,7 +255,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private void maybeUpdateSignInPromo() { // Only call #setupPromoViewFromCache() if SignInPromo is visible to avoid potentially // blocking the UI thread for several seconds if the accounts cache is not populated -@@ -244,7 +238,7 @@ public class FeedSurfaceMediator +@@ -175,7 +169,7 @@ public class FeedSurfaceMediator super.onDismissPromo(); mCoordinator.updateHeaderViews(false, null); } @@ -263,15 +264,15 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ @VisibleForTesting static void setPrefForTest(PrefChangeRegistrar prefChangeRegistrar, PrefService prefService) { -@@ -259,7 +253,6 @@ public class FeedSurfaceMediator +@@ -190,7 +184,6 @@ public class FeedSurfaceMediator private final Context mContext; private final @Nullable SnapScrollHelper mSnapScrollHelper; private final PrefChangeRegistrar mPrefChangeRegistrar; - private final SigninManager mSigninManager; private final PropertyModel mSectionHeaderModel; + private final FeedActionDelegate mActionDelegate; - private final NativePageNavigationDelegate mPageNavigationDelegate; -@@ -268,7 +261,6 @@ public class FeedSurfaceMediator +@@ -198,7 +191,6 @@ public class FeedSurfaceMediator private final ObserverList mScrollListeners = new ObserverList<>(); private ContentChangedListener mStreamContentChangedListener; private MemoryPressureCallback mMemoryPressureCallback; @@ -279,24 +280,24 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private RecyclerViewAnimationFinishDetector mRecyclerViewAnimationFinishDetector = new RecyclerViewAnimationFinishDetector(); private @Nullable View mEnhancedProtectionPromo; -@@ -320,8 +312,6 @@ public class FeedSurfaceMediator +@@ -239,8 +231,6 @@ public class FeedSurfaceMediator mCoordinator = coordinator; mContext = context; mSnapScrollHelper = snapScrollHelper; - mSigninManager = IdentityServicesProvider.get().getSigninManager( - Profile.getLastUsedRegularProfile()); - mPageNavigationDelegate = pageNavigationDelegate; + mActionDelegate = actionDelegate; if (sTestPrefChangeRegistar != null) { -@@ -481,7 +471,6 @@ public class FeedSurfaceMediator - mFeedMenuModel = buildMenuItems(); +@@ -397,7 +387,6 @@ public class FeedSurfaceMediator + mFeedMenuModel = buildMenuItems(); - mCoordinator.initializeBubbleTriggering(); -- mSigninManager.getIdentityManager().addObserver(this); + mCoordinator.initializeBubbleTriggering(); +- mSigninManager.getIdentityManager().addObserver(this); - mSectionHeaderModel.set( - SectionHeaderListProperties.MENU_MODEL_LIST_KEY, mFeedMenuModel); -@@ -533,8 +522,6 @@ public class FeedSurfaceMediator + mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, mFeedMenuModel); + mSectionHeaderModel.set( +@@ -437,8 +426,6 @@ public class FeedSurfaceMediator }; mCoordinator.getRecyclerView().addOnScrollListener(mStreamScrollListener); @@ -305,7 +306,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ mMemoryPressureCallback = pressure -> mCoordinator.getRecyclerView().getRecycledViewPool().clear(); MemoryPressureListener.addCallback(mMemoryPressureCallback); -@@ -700,47 +687,6 @@ public class FeedSurfaceMediator +@@ -603,47 +590,6 @@ public class FeedSurfaceMediator } } @@ -353,7 +354,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private void updatePromoCardPadding(View promoCard) { MarginLayoutParams layoutParams = promoCard.getLayoutParams() == null ? new MarginLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) -@@ -763,11 +709,6 @@ public class FeedSurfaceMediator +@@ -666,11 +612,6 @@ public class FeedSurfaceMediator MemoryPressureListener.removeCallback(mMemoryPressureCallback); mMemoryPressureCallback = null; @@ -365,7 +366,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ unbindStream(); for (Stream s : mTabToStreamMap.values()) { s.removeOnContentChangedListener(mStreamContentChangedListener); -@@ -778,7 +719,6 @@ public class FeedSurfaceMediator +@@ -681,7 +622,6 @@ public class FeedSurfaceMediator mPrefChangeRegistrar.removeObserver(Pref.ARTICLES_LIST_VISIBLE); TemplateUrlServiceFactory.get().removeObserver(this); @@ -373,7 +374,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ PropertyListModel headerList = mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY); -@@ -863,9 +803,6 @@ public class FeedSurfaceMediator +@@ -766,9 +706,6 @@ public class FeedSurfaceMediator // Update toggleswitch item, which is last item in list. mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, buildMenuItems()); @@ -383,7 +384,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ if (mEnhancedProtectionPromo != null) { updatePromoCardPadding(mEnhancedProtectionPromo); } -@@ -898,7 +835,7 @@ public class FeedSurfaceMediator +@@ -801,7 +738,7 @@ public class FeedSurfaceMediator } private boolean isSignedIn() { @@ -392,7 +393,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ } /** -@@ -946,35 +883,6 @@ public class FeedSurfaceMediator +@@ -849,35 +786,6 @@ public class FeedSurfaceMediator private ModelList buildMenuItems() { ModelList itemList = new ModelList(); @@ -428,7 +429,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ return itemList; } -@@ -1176,11 +1084,6 @@ public class FeedSurfaceMediator +@@ -1082,11 +990,6 @@ public class FeedSurfaceMediator updateSectionHeader(); } @@ -574,14 +575,14 @@ 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/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java --- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java -@@ -36,7 +36,6 @@ import org.chromium.chrome.browser.policy.PolicyAuditor; +@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.password_manager.GooglePasswordManagerUIProvi + import org.chromium.chrome.browser.policy.PolicyAuditor; import org.chromium.chrome.browser.rlz.RevenueStats; - import org.chromium.chrome.browser.signin.ui.GoogleActivityController; import org.chromium.chrome.browser.survey.SurveyController; -import org.chromium.chrome.browser.sync.TrustedVaultClient; import org.chromium.chrome.browser.tab.Tab; + import org.chromium.chrome.browser.ui.signin.GoogleActivityController; import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient; - import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate; @@ -288,13 +287,6 @@ public abstract class AppHooks { return ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED; } @@ -594,8 +595,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b - } - /** - * Returns a new {@link SurfaceRenderer} if the xsurface implementation is included in the - * apk. Otherwise null is returned. + * This is deprecated, and should not be called. Use FeedHooks instead. + */ 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 @@ -634,7 +635,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct } private void setupCompositorContentPreNativeForPhone() { -@@ -1811,15 +1804,6 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -308,9 +304,6 @@ public abstract class ChromeActivity private boolean mRemoveWindowBackgroundDone; protected AccessibilityVisibilityHandler mAccessibilityVisibilityHandler; @@ -688,7 +689,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv // The PictureInPictureController is initialized lazily https://crbug.com/729738. private PictureInPictureController mPictureInPictureController; -@@ -1067,60 +1060,6 @@ public abstract class ChromeActivity +@@ -1076,60 +1069,6 @@ public abstract class ChromeActivity return StatusBarColorController.UNDEFINED_STATUS_BAR_COLOR; } @@ -749,7 +750,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv @Override public void onResumeWithNative() { super.onResumeWithNative(); -@@ -1223,14 +1162,6 @@ public abstract class ChromeActivity +@@ -1232,14 +1171,6 @@ public abstract class ChromeActivity if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) { if (mGSAAccountChangeListener != null) mGSAAccountChangeListener.disconnect(); } @@ -764,7 +765,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv super.onStopWithNative(); } -@@ -1325,11 +1256,6 @@ public abstract class ChromeActivity +@@ -1329,11 +1260,6 @@ public abstract class ChromeActivity FontSizePrefs.getInstance().recordUserFontPrefOnStartup(); }); @@ -776,7 +777,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv // GSA connection is not needed on low-end devices because Icing is disabled. if (!SysUtils.isLowEndDevice()) { if (isActivityFinishingOrDestroyed()) return; -@@ -1344,7 +1270,6 @@ public abstract class ChromeActivity +@@ -1348,7 +1274,6 @@ public abstract class ChromeActivity GSAAccountChangeListener.create(AppHooks.get().createGsaHelper()); } mGSAAccountChangeListener.connect(); @@ -830,16 +831,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assist diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java -@@ -27,8 +27,6 @@ import org.chromium.chrome.browser.feature_engagement.TrackerFactory; - import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkMeta; +@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkMeta; import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkType; import org.chromium.chrome.browser.profiles.Profile; --import org.chromium.chrome.browser.signin.ui.PersonalizedSigninPromoView; + import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory; -import org.chromium.chrome.browser.sync.SyncService; + import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView; + import org.chromium.chrome.browser.ui.signin.SigninPromoController.SyncPromoState; import org.chromium.components.bookmarks.BookmarkId; - import org.chromium.components.bookmarks.BookmarkType; - import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool; -@@ -48,7 +46,7 @@ import java.util.List; +@@ -50,7 +49,7 @@ import java.util.List; * BaseAdapter for {@link RecyclerView}. It manages bookmarks to list there. */ class BookmarkItemsAdapter extends DragReorderableListAdapter @@ -848,7 +848,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm private static final int MAXIMUM_NUMBER_OF_SEARCH_RESULTS = 500; private static final String EMPTY_QUERY = null; -@@ -60,10 +58,8 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -62,10 +61,8 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter @ViewType private int mPromoHeaderType = ViewType.INVALID; private BookmarkDelegate mDelegate; @@ -856,10 +856,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm private String mSearchText; private BookmarkId mCurrentFolder; - private SyncService mSyncService; + private CommerceSubscriptionsServiceFactory mCommerceSubscriptionsServiceFactory; // Keep track of the currently highlighted bookmark - used for "show in folder" action. - private BookmarkId mHighlightedBookmark; -@@ -116,8 +112,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -119,8 +116,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter BookmarkItemsAdapter(Context context) { super(context); @@ -868,7 +868,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm mImageFetcher = ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE, -@@ -213,9 +207,9 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -219,9 +214,9 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter case ViewType.PERSONALIZED_SIGNIN_PROMO: // fall through case ViewType.PERSONALIZED_SYNC_PROMO: @@ -880,7 +880,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm case ViewType.SECTION_HEADER: return createSectionHeaderViewHolder(parent, viewType); case ViewType.FOLDER: -@@ -243,10 +237,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -252,10 +247,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter public void onBindViewHolder(ViewHolder holder, int position) { if (holder.getItemViewType() == ViewType.PERSONALIZED_SIGNIN_PROMO || holder.getItemViewType() == ViewType.PERSONALIZED_SYNC_PROMO) { @@ -891,7 +891,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } else if (holder.getItemViewType() == ViewType.SECTION_HEADER) { bindSectionHeaderViewHolder(holder.itemView, getItemByPosition(position)); } else if (BookmarkListEntry.isBookmarkEntry(holder.getItemViewType())) { -@@ -304,7 +294,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -313,7 +304,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter case ViewType.PERSONALIZED_SIGNIN_PROMO: // fall through case ViewType.PERSONALIZED_SYNC_PROMO: @@ -899,7 +899,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm break; default: // Other view holders don't have special recycling code. -@@ -330,7 +319,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -339,7 +329,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter updateHeader(!topLevelFoldersShowing()); }; @@ -907,7 +907,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm populateTopLevelFoldersList(); mElements = new ArrayList<>(); -@@ -345,8 +333,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -354,8 +343,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter mDelegate.getModel().removeObserver(mBookmarkModelObserver); mDelegate.getSelectionDelegate().removeObserver(this); mDelegate = null; @@ -916,7 +916,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } @Override -@@ -437,18 +423,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -448,18 +435,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter setOrder(mElements); } @@ -935,22 +935,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Updates mPromoHeaderType. Makes sure that the 0th index of mElements is consistent with the * promo header. This 0th index is null iff there is a promo header. -@@ -468,23 +442,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter - return; +@@ -480,22 +455,7 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter } else if (currentUIState == BookmarkUIState.STATE_SEARCHING) { mPromoHeaderType = ViewType.INVALID; -- } else { + } else { - switch (mPromoHeaderManager.getPromoState()) { -- case BookmarkPromoHeader.PromoState.PROMO_NONE: -- mPromoHeaderType = ViewType.INVALID; +- case SyncPromoState.NO_PROMO: + mPromoHeaderType = ViewType.INVALID; - break; -- case BookmarkPromoHeader.PromoState.PROMO_SIGNIN_PERSONALIZED: +- case SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE: - mPromoHeaderType = ViewType.PERSONALIZED_SIGNIN_PROMO; - break; -- case BookmarkPromoHeader.PromoState.PROMO_SYNC_PERSONALIZED: +- case SyncPromoState.PROMO_FOR_SIGNED_IN_STATE: - mPromoHeaderType = ViewType.PERSONALIZED_SYNC_PROMO; - break; -- case BookmarkPromoHeader.PromoState.PROMO_SYNC: +- case SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE: - mPromoHeaderType = ViewType.SYNC_PROMO; - break; - default: @@ -959,7 +958,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } boolean willShowPromo = hasPromoHeader(); -@@ -607,7 +564,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter +@@ -618,7 +578,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter @VisibleForTesting void simulateSignInForTests() { @@ -970,7 +969,7 @@ 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/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java -@@ -19,20 +19,6 @@ import org.chromium.chrome.R; +@@ -18,42 +18,23 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; @@ -980,29 +979,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm -import org.chromium.chrome.browser.signin.services.ProfileDataCache; -import org.chromium.chrome.browser.signin.services.SigninManager; -import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver; --import org.chromium.chrome.browser.signin.ui.PersonalizedSigninPromoView; --import org.chromium.chrome.browser.signin.ui.SigninPromoController; -import org.chromium.chrome.browser.sync.SyncService; +-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView; +-import org.chromium.chrome.browser.ui.signin.SigninPromoController; + import org.chromium.chrome.browser.ui.signin.SigninPromoController.SyncPromoState; -import org.chromium.components.signin.AccountManagerFacade; -import org.chromium.components.signin.AccountManagerFacadeProvider; -import org.chromium.components.signin.AccountsChangeObserver; -import org.chromium.components.signin.identitymanager.ConsentLevel; -import org.chromium.components.signin.metrics.SigninAccessPoint; ++ - import java.lang.annotation.Retention; - import java.lang.annotation.RetentionPolicy; -@@ -41,8 +27,7 @@ import java.lang.annotation.RetentionPolicy; + /** * Class that manages all the logic and UI behind the signin promo header in the bookmark * content UI. The header is shown only on certain situations, (e.g., not signed in). */ -class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignInStateObserver, - ProfileDataCache.Observer, AccountsChangeObserver { +class BookmarkPromoHeader { - /** - * Specifies the various states in which the Bookmarks promo can be. - */ -@@ -62,14 +47,9 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI - private static @Nullable @PromoState Integer sPromoStateForTests; + // TODO(kkimlabs): Figure out the optimal number based on UMA data. + private static final int MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT = 10; + + private static @Nullable @SyncPromoState Integer sPromoStateForTests; private final Context mContext; - private final SigninManager mSignInManager; @@ -1011,12 +1009,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - private @Nullable ProfileDataCache mProfileDataCache; - private final @Nullable SigninPromoController mSigninPromoController; - private @PromoState int mPromoState = PromoState.PROMO_NONE; + private @SyncPromoState int mPromoState = SyncPromoState.NO_PROMO; - private final @Nullable SyncService mSyncService; /** * Initializes the class. Note that this will start listening to signin related events and -@@ -78,42 +58,12 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI +@@ -62,42 +43,12 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI BookmarkPromoHeader(Context context, Runnable promoHeaderChangeAction) { mContext = context; mPromoHeaderChangeAction = promoHeaderChangeAction; @@ -1059,7 +1057,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } /** -@@ -124,58 +74,11 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI +@@ -108,58 +59,11 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI return mPromoState; } @@ -1118,29 +1116,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm + return false; } - private @PromoState int calculatePromoState() { -@@ -183,89 +86,10 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI + private @SyncPromoState int calculatePromoState() { +@@ -167,90 +71,10 @@ class BookmarkPromoHeader implements SyncService.SyncStateChangedListener, SignI return sPromoStateForTests; } - if (mSyncService == null) { - // |mSyncService| will remain null until the next browser startup, so no sense in - // offering any promo. -- return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } - - if (!mSyncService.isSyncAllowedByPlatform()) { -- return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } - - if (!mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SYNC)) { - if (!shouldShowBookmarkSigninPromo()) { -- return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } - - return mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SIGNIN) -- ? PromoState.PROMO_SYNC_PERSONALIZED -- : PromoState.PROMO_SIGNIN_PERSONALIZED; +- ? SyncPromoState.PROMO_FOR_SIGNED_IN_STATE +- : SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE; - } - - boolean impressionLimitNotReached = @@ -1148,24 +1146,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT) - < MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT; - if (!mSyncService.isSyncRequested() && impressionLimitNotReached) { -- return PromoState.PROMO_SYNC; +- return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE; - } - return PromoState.PROMO_NONE; + return SyncPromoState.NO_PROMO; } - private void updatePromoState() { -- final @PromoState int newState = calculatePromoState(); +- final @SyncPromoState int newState = calculatePromoState(); - if (newState == mPromoState) return; - - // PROMO_SYNC state and it's impression counts is not tracked by SigninPromoController. - final boolean hasSyncPromoStateChangedtoShown = -- (mPromoState == PromoState.PROMO_NONE || mPromoState == PromoState.PROMO_SYNC) -- && (newState == PromoState.PROMO_SIGNIN_PERSONALIZED -- || newState == PromoState.PROMO_SYNC_PERSONALIZED); +- (mPromoState == SyncPromoState.NO_PROMO +- || mPromoState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE) +- && (newState == SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE +- || newState == SyncPromoState.PROMO_FOR_SIGNED_IN_STATE); - if (mSigninPromoController != null && hasSyncPromoStateChangedtoShown) { - mSigninPromoController.increasePromoShowCount(); - } -- if (newState == PromoState.PROMO_SYNC) { +- if (newState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE) { - SharedPreferencesManager.getInstance().incrementInt( - ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT); - } @@ -1264,7 +1263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.flags.AllCachedFieldTrialParameters; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.fonts.FontPreloader; -@@ -142,8 +141,6 @@ public class CustomTabActivity extends BaseCustomTabActivity { +@@ -136,8 +135,6 @@ public class CustomTabActivity extends BaseCustomTabActivity { @Override public void finishNativeInitialization() { @@ -1317,14 +1316,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/s 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 -@@ -29,14 +29,10 @@ import org.chromium.base.supplier.BooleanSupplier; +@@ -29,13 +29,9 @@ import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.customtabs.CustomTabActivity; -import org.chromium.chrome.browser.datareduction.DataReductionPromoUtils; -import org.chromium.chrome.browser.datareduction.DataReductionProxyUma; import org.chromium.chrome.browser.fonts.FontPreloader; - import org.chromium.chrome.browser.lifecycle.NativeInitObserver; import org.chromium.chrome.browser.metrics.UmaUtils; -import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; @@ -1332,36 +1330,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial; import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.ui.base.LocalizationUtils; -@@ -104,14 +100,13 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa - */ - @VisibleForTesting - @IntDef({MobileFreProgress.STARTED, MobileFreProgress.WELCOME_SHOWN, -- MobileFreProgress.DATA_SAVER_SHOWN, MobileFreProgress.SYNC_CONSENT_SHOWN, -+ MobileFreProgress.SYNC_CONSENT_SHOWN, - MobileFreProgress.COMPLETED_SYNC, MobileFreProgress.COMPLETED_NOT_SYNC, - MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN, MobileFreProgress.MAX}) - @Retention(RetentionPolicy.SOURCE) - public @interface MobileFreProgress { - int STARTED = 0; - int WELCOME_SHOWN = 1; -- int DATA_SAVER_SHOWN = 2; - int SYNC_CONSENT_SHOWN = 3; - int COMPLETED_SYNC = 4; - int COMPLETED_NOT_SYNC = 5; -@@ -164,7 +159,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa - private void createPageSequence() { +@@ -141,7 +137,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa FREMobileIdentityConsistencyFieldTrial.createFirstRunTrial(); + BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage(); if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) { -- mPages.add(new FirstRunPage<>(SigninFirstRunFragment.class, () -> true)); +- mPages.add(new FirstRunPage<>(SigninFirstRunFragment.class, showWelcomePage)); } else { - BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage(); // TODO(crbug.com/1111490): Revisit during post-MVP. -@@ -210,20 +204,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa + // There's an edge case where we accept the welcome page in the main app, abort the FRE, +@@ -186,21 +181,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa BooleanSupplier showSyncConsent = () -> mFreProperties.getBoolean(SHOW_SYNC_CONSENT_PAGE); boolean notifyAdapter = false; -- // An optional sign-in page. -- if (FREMobileIdentityConsistencyFieldTrial.isEnabled() && showSyncConsent.getAsBoolean()) { +- // An optional sign-in page, the visibility of this page will be decided on the fly +- // according to the situation. +- if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) { - mPages.add(new FirstRunPage<>(SyncConsentFirstRunFragment.class, showSyncConsent)); - mFreProgressStates.add(MobileFreProgress.SYNC_CONSENT_SHOWN); - notifyAdapter = true; @@ -1377,12 +1360,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR // An optional page to select a default search engine. if (showSearchEnginePromo.getAsBoolean()) { -@@ -233,13 +213,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -210,13 +190,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa notifyAdapter = true; } - // An optional sign-in page. -- if (!FREMobileIdentityConsistencyFieldTrial.isEnabled() && showSyncConsent.getAsBoolean()) { +- if (!FREMobileIdentityConsistencyFieldTrial.isEnabled()) { - mPages.add(new FirstRunPage<>(SyncConsentFirstRunFragment.class, showSyncConsent)); - mFreProgressStates.add(MobileFreProgress.SYNC_CONSENT_SHOWN); - notifyAdapter = true; @@ -1391,9 +1374,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR if (notifyAdapter && mPagerAdapter != null) { mPagerAdapter.notifyDataSetChanged(); } -@@ -514,18 +487,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -490,18 +463,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa FirstRunFlowSequencer.markFlowAsCompleted( - mResultSignInAccountName, mResultShowSignInSettings); + mResultSyncConsentAccountName, mResultShowAdvancedSyncSettings); - if (DataReductionPromoUtils.getDisplayedFreOrSecondRunPromo()) { - if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) { @@ -1413,32 +1396,37 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java -@@ -60,31 +60,7 @@ public abstract class FirstRunFlowSequencer { - public static class FirstRunFlowSequencerDelegate { - /** @return true if the sync consent promo page should be shown. */ - boolean shouldShowSyncConsentPage(Activity activity, List accounts) { -- // We show the sync consent page if sync is allowed, and not signed in, and -- // - "skip the first use hints" is not set, or -- // - "skip the first use hints" is set, but there is at least one account. +@@ -62,35 +62,13 @@ public abstract class FirstRunFlowSequencer { + /** Returns true if the sync consent promo page should be shown. */ + boolean shouldShowSyncConsentPage( + Activity activity, List accounts, @Status int childAccountStatus) { +- if (ChildAccountStatus.isChild(childAccountStatus)) { +- // Always show the sync consent page for child account. +- return true; +- } - final IdentityManager identityManager = - IdentityServicesProvider.get().getIdentityManager( - Profile.getLastUsedRegularProfile()); -- final boolean isSignedInWithSync = identityManager.hasPrimaryAccount(ConsentLevel.SYNC); -- final boolean shouldShowSyncConsentPreMICe = isSyncAllowed() && !isSignedInWithSync -- && (!shouldSkipFirstUseHints(activity) || !accounts.isEmpty()); -- -- if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) { -- final boolean isSignedInWithoutSync = -- identityManager.hasPrimaryAccount(ConsentLevel.SIGNIN); -- return shouldShowSyncConsentPreMICe && isSignedInWithoutSync; -- } else { -- return shouldShowSyncConsentPreMICe; +- if (identityManager.hasPrimaryAccount(ConsentLevel.SYNC) || !isSyncAllowed()) { +- // No need to show the sync consent page if users already consented to sync or +- // if sync is not allowed. +- return false; - } -- } -- -- /** @return true if the Data Reduction promo page should be shown. */ -- @VisibleForTesting -- public boolean shouldShowDataReductionPage() { +- if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) { +- // Show the sync consent page only to the signed-in users. +- return identityManager.hasPrimaryAccount(ConsentLevel.SIGNIN); +- } else { +- // We show the sync consent page if sync is allowed, and not signed in, and +- // - "skip the first use hints" is not set, or +- // - "skip the first use hints" is set, but there is at least one account. +- return !shouldSkipFirstUseHints(activity) || !accounts.isEmpty(); +- } ++ return false; + } + + /** @return true if the Data Reduction promo page should be shown. */ + @VisibleForTesting + public boolean shouldShowDataReductionPage() { - return !DataReductionProxySettings.getInstance().isDataReductionProxyManaged() - && DataReductionProxySettings.getInstance() - .isDataReductionProxyFREPromoAllowed(); @@ -1446,7 +1434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR } /** @return true if the Search Engine promo page should be shown. */ -@@ -99,10 +75,7 @@ public abstract class FirstRunFlowSequencer { +@@ -105,10 +83,7 @@ public abstract class FirstRunFlowSequencer { /** @return true if Sync is allowed for the current user. */ @VisibleForTesting protected boolean isSyncAllowed() { @@ -1458,7 +1446,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR } /** @return true if first use hints should be skipped. */ -@@ -158,7 +131,7 @@ public abstract class FirstRunFlowSequencer { +@@ -168,7 +143,7 @@ public abstract class FirstRunFlowSequencer { } protected boolean shouldShowDataReductionPage() { @@ -1467,18 +1455,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR } @VisibleForTesting -@@ -172,7 +145,6 @@ public abstract class FirstRunFlowSequencer { +@@ -182,7 +157,6 @@ public abstract class FirstRunFlowSequencer { @VisibleForTesting protected void setFirstRunFlowSignInComplete() { - FirstRunSignInProcessor.setFirstRunFlowSignInComplete(true); } - @VisibleForTesting -@@ -183,13 +155,6 @@ public abstract class FirstRunFlowSequencer { + private void initializeSharedState( +@@ -192,13 +166,6 @@ public abstract class FirstRunFlowSequencer { } - void processFreEnvironmentPreNative() { + private void processFreEnvironmentPreNative() { - Bundle freProperties = new Bundle(); - freProperties.putInt(SyncConsentFirstRunFragment.CHILD_ACCOUNT_STATUS, mChildAccountStatus); - @@ -1489,7 +1477,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR } /** -@@ -198,12 +163,6 @@ public abstract class FirstRunFlowSequencer { +@@ -207,12 +174,6 @@ public abstract class FirstRunFlowSequencer { * @param freProperties Resulting FRE properties bundle. */ public void updateFirstRunProperties(Bundle freProperties) { @@ -1502,13 +1490,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR } /** -@@ -217,9 +176,6 @@ public abstract class FirstRunFlowSequencer { +@@ -227,10 +188,6 @@ public abstract class FirstRunFlowSequencer { if (!FirstRunUtils.isFirstRunEulaAccepted()) { FirstRunUtils.setEulaAccepted(); } - - // Mark the FRE flow as complete and set the sign-in flow preferences if necessary. -- FirstRunSignInProcessor.finalizeFirstRunFlowState(signInAccountName, showSignInSettings); +- FirstRunSignInProcessor.finalizeFirstRunFlowState( +- syncConsentAccountName, showAdvancedSyncSettings); } /** @@ -1528,37 +1517,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/Lightw } }; mFirstRunFlowSequencer.start(); -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java -@@ -26,7 +26,6 @@ import org.chromium.base.metrics.RecordHistogram; - import org.chromium.chrome.R; - import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; - import org.chromium.chrome.browser.version.ChromeVersionInfo; --import org.chromium.components.signin.ChildAccountStatus; - import org.chromium.ui.text.NoUnderlineClickableSpan; - import org.chromium.ui.text.SpanApplier; - import org.chromium.ui.text.SpanApplier.SpanInfo; -@@ -105,19 +104,9 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - - final CharSequence tosText; - Bundle freProperties = getPageDelegate().getProperties(); -- @ChildAccountStatus.Status -- int childAccountStatus = freProperties.getInt( -- SyncConsentFirstRunFragment.CHILD_ACCOUNT_STATUS, ChildAccountStatus.NOT_CHILD); -- if (childAccountStatus == ChildAccountStatus.REGULAR_CHILD) { -- tosText = SpanApplier.applySpans(getString(R.string.fre_tos_and_privacy_child_account), -- new SpanInfo("", "", clickableGoogleTermsSpan), -- new SpanInfo("", "", clickableChromeAdditionalTermsSpan), -- new SpanInfo("", "", clickableFamilyLinkPrivacySpan)); -- } else { - tosText = SpanApplier.applySpans(getString(R.string.fre_tos), - new SpanInfo("", "", clickableGoogleTermsSpan), - new SpanInfo("", "", clickableChromeAdditionalTermsSpan)); -- } - mTosAndPrivacy.setText(tosText); - - // If this page should be skipped, it can be one of the following cases: diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java @@ -1594,7 +1552,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/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 -@@ -34,7 +34,6 @@ import org.chromium.chrome.browser.crash.LogcatExtractionRunnable; +@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.crash.LogcatExtractionRunnable; import org.chromium.chrome.browser.download.DownloadManagerService; import org.chromium.chrome.browser.flags.ChromeSwitches; import org.chromium.chrome.browser.language.GlobalAppLocaleController; @@ -1602,7 +1560,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; import org.chromium.components.crash.browser.ChildProcessCrashObserver; -@@ -338,7 +337,6 @@ public class ChromeBrowserInitializer { +@@ -339,7 +338,6 @@ public class ChromeBrowserInitializer { LibraryPrefetcher.asyncPrefetchLibrariesToMemory(); getBrowserStartupController().startBrowserProcessesSync( LibraryProcessType.PROCESS_BROWSER, /*singleProcess=*/false); @@ -1627,8 +1585,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity; -import org.chromium.chrome.browser.signin.SigninCheckerProvider; import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData; + import org.chromium.chrome.browser.tasks.tab_management.PriceTrackingUtilities; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager; - import org.chromium.chrome.browser.util.AfterStartupTaskUtils; @@ -219,7 +217,6 @@ public class ProcessInitializationHandler { * Performs the post native initialization. */ @@ -1648,7 +1606,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java -@@ -16,14 +16,10 @@ import org.chromium.chrome.browser.invalidation.SessionsInvalidationManager; +@@ -15,17 +15,13 @@ import org.chromium.chrome.browser.invalidation.SessionsInvalidationManager; import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession; import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionTab; import org.chromium.chrome.browser.profiles.Profile; @@ -1657,13 +1615,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM -import org.chromium.chrome.browser.signin.services.ProfileDataCache; import org.chromium.chrome.browser.signin.services.SigninManager; import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver; - import org.chromium.chrome.browser.signin.ui.PersonalizedSigninPromoView; --import org.chromium.chrome.browser.signin.ui.SigninPromoController; -import org.chromium.chrome.browser.sync.SyncService; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.ui.favicon.FaviconHelper; import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback; -@@ -42,8 +38,8 @@ import java.util.List; + import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView; +-import org.chromium.chrome.browser.ui.signin.SigninPromoController; + import org.chromium.chrome.browser.ui.signin.SigninPromoController.SyncPromoState; + import org.chromium.components.signin.AccountManagerFacadeProvider; + import org.chromium.components.signin.AccountsChangeObserver; +@@ -40,8 +36,8 @@ import java.util.List; /** * Provides the domain logic and data for RecentTabsPage and RecentTabsRowAdapter. */ @@ -1674,7 +1635,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM /** * Implement this to receive updates when the page contents change. */ -@@ -78,15 +74,9 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -67,15 +63,9 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, private List mRecentlyClosedTabs; private RecentTabsPagePrefs mPrefs; private RecentlyClosedTabManager mRecentlyClosedTabManager; @@ -1690,7 +1651,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM /** * Create an RecentTabsManager to be used with RecentTabsPage and RecentTabsRowAdapter. * -@@ -106,12 +96,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -95,12 +85,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, mRecentlyClosedTabManager = sRecentlyClosedTabManagerForTests != null ? sRecentlyClosedTabManagerForTests : new RecentlyClosedBridge(profile); @@ -1703,7 +1664,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM mRecentlyClosedTabManager.setTabsUpdatedRunnable(() -> { updateRecentlyClosedTabs(); -@@ -133,14 +117,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -122,14 +106,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, */ public void destroy() { mIsDestroyed = true; @@ -1718,7 +1679,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM AccountManagerFacadeProvider.getInstance().removeObserver(this); mFaviconHelper.destroy(); -@@ -169,13 +145,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -158,13 +134,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, } private void registerObservers() { @@ -1732,44 +1693,45 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM AccountManagerFacadeProvider.getInstance().addObserver(this); } -@@ -371,26 +340,7 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -360,26 +329,7 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, } - private @PromoState int calculatePromoState() { + private @SyncPromoState int calculatePromoState() { - if (!mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SYNC)) { - if (!mSignInManager.isSignInAllowed()) { -- return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } - if (mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SIGNIN)) { -- return PromoState.PROMO_SYNC_PERSONALIZED; +- return SyncPromoState.PROMO_FOR_SIGNED_IN_STATE; - } -- return PromoState.PROMO_SIGNIN_PERSONALIZED; +- return SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE; - } - - if (mSyncService == null) { - // |mSyncService| will remain null until the next browser startup, so no sense in - // offering any promo. - return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } - - if (mSyncService.isSyncRequested() && !mForeignSessions.isEmpty()) { -- return PromoState.PROMO_NONE; +- return SyncPromoState.NO_PROMO; - } -- return PromoState.PROMO_SYNC; +- return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE; ++ return SyncPromoState.NO_PROMO; } private void updatePromoState() { -@@ -401,9 +351,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, - (mPromoState == PromoState.PROMO_NONE || mPromoState == PromoState.PROMO_SYNC) - && (newState == PromoState.PROMO_SIGNIN_PERSONALIZED - || newState == PromoState.PROMO_SYNC_PERSONALIZED); +@@ -391,9 +341,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, + || mPromoState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE) + && (newState == SyncPromoState.PROMO_FOR_SIGNED_IN_STATE + || newState == SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE); - if (hasSyncPromoStateChangedtoShown) { - mSigninPromoController.increasePromoShowCount(); - } mPromoState = newState; } -@@ -411,7 +358,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -401,7 +348,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, * Sets up the sync promo view. */ void setUpSyncPromoView(PersonalizedSigninPromoView view) { @@ -1777,7 +1739,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM } // SignInStateObserver implementation. -@@ -431,18 +377,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -421,18 +367,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, update(); } @@ -1807,7 +1769,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsR import org.chromium.chrome.browser.ui.favicon.FaviconHelper.DefaultFaviconHelper; import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback; import org.chromium.chrome.browser.ui.favicon.FaviconUtils; -@@ -445,8 +444,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter { +@@ -454,8 +453,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter { convertView = layoutInflater.inflate( R.layout.personalized_signin_promo_view_recent_tabs, parent, false); } @@ -1816,7 +1778,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsR return convertView; } } -@@ -487,9 +484,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter { +@@ -472,9 +469,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter { @Override View getChildView( int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { @@ -1950,7 +1912,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage mTrustedVaultOptIn.setSummary(R.string.android_trusted_vault_opt_in_sub_label); mTrustedVaultOptIn.setOnPreferenceClickListener(preference -> { - assert SyncService.get() != null; -- CoreAccountInfo accountInfo = SyncService.get().getAuthenticatedAccountInfo(); +- CoreAccountInfo accountInfo = SyncService.get().getAccountInfo(); - assert accountInfo != null; - SyncSettingsUtils.openTrustedVaultOptInDialog( - this, accountInfo, REQUEST_CODE_TRUSTED_VAULT_OPT_IN); @@ -1976,7 +1938,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -29,8 +29,6 @@ import org.chromium.chrome.browser.profiles.Profile; +@@ -28,8 +28,6 @@ import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; @@ -1985,7 +1947,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; import org.chromium.components.browser_ui.settings.SettingsLauncher; -@@ -51,7 +49,6 @@ public class PrivacySettings +@@ -50,7 +48,6 @@ public class PrivacySettings private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; private static final String PREF_SECURE_DNS = "secure_dns"; private static final String PREF_DO_NOT_TRACK = "do_not_track"; @@ -1993,7 +1955,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; private static final String PREF_PRIVACY_REVIEW = "privacy_review"; -@@ -118,36 +115,9 @@ public class PrivacySettings +@@ -121,36 +118,9 @@ public class PrivacySettings Preference secureDnsPref = findPreference(PREF_SECURE_DNS); secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled()); @@ -2027,9 +1989,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting - new SpanApplier.SpanInfo("", "", servicesLink)); - } - - private void setUpIncognitoReauthPreference() { - IncognitoReauthSettingSwitchPreference incognitoReauthPreference = - (IncognitoReauthSettingSwitchPreference) findPreference(PREF_INCOGNITO_LOCK); + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + String key = preference.getKey(); 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 @@ -2311,15 +2273,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java -@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity; - import org.chromium.chrome.browser.settings.SettingsLauncherImpl; +@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; + import org.chromium.chrome.browser.share.link_to_text.LinkToTextCoordinator; import org.chromium.chrome.browser.share.share_sheet.ShareSheetCoordinator; import org.chromium.chrome.browser.share.share_sheet.ShareSheetPropertyModelBuilder; -import org.chromium.chrome.browser.sync.SyncService; import org.chromium.chrome.browser.tab.SadTab; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; -@@ -84,7 +83,7 @@ public class ShareDelegateImpl implements ShareDelegate { +@@ -86,7 +85,7 @@ public class ShareDelegateImpl implements ShareDelegate { if (mShareStartTime == 0L) { mShareStartTime = System.currentTimeMillis(); } @@ -2376,24 +2338,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_ 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 -@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; +@@ -41,7 +41,6 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.chrome.browser.continuous_search.ContinuousSearchContainerCoordinator; import org.chromium.chrome.browser.continuous_search.ContinuousSearchContainerCoordinator.HeightObserver; -import org.chromium.chrome.browser.datareduction.DataReductionPromoScreen; - import org.chromium.chrome.browser.feed.shared.FeedFeatures; + import org.chromium.chrome.browser.feed.FeedFeatures; import org.chromium.chrome.browser.feed.webfeed.WebFeedFollowIntroController; import org.chromium.chrome.browser.findinpage.FindToolbarObserver; -@@ -78,8 +77,6 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; +@@ -77,7 +76,6 @@ import org.chromium.chrome.browser.read_later.ReadLaterIPHController; + import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.link_to_text.LinkToTextIPHController; - import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; -import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; --import org.chromium.chrome.browser.signin.ui.SigninPromoUtil; import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator; import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsService; import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory; -@@ -887,23 +884,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -98,7 +96,6 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; + import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; + import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoUtils; + import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +-import org.chromium.chrome.browser.ui.signin.SigninPromoUtil; + import org.chromium.chrome.browser.ui.system.StatusBarColorController.StatusBarColorProvider; + import org.chromium.chrome.browser.ui.tablet.emptybackground.EmptyBackgroundViewWrapper; + import org.chromium.chrome.browser.version.ChromeVersionInfo; +@@ -896,23 +893,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo() { @@ -2421,7 +2390,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/tasks/ReturnToChromeExperimentsUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeExperimentsUtil.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeExperimentsUtil.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeExperimentsUtil.java -@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; +@@ -36,7 +36,6 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.segmentation_platform.SegmentationPlatformServiceFactory; @@ -2429,7 +2398,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabModel; -@@ -52,7 +51,6 @@ import org.chromium.components.embedder_support.util.UrlConstants; +@@ -49,7 +48,6 @@ import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.optimization_guide.proto.ModelsProto.OptimizationTarget; import org.chromium.components.segmentation_platform.SegmentationPlatformService; @@ -2437,7 +2406,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.common.ResourceRequestBody; import org.chromium.ui.base.DeviceFormFactor; -@@ -533,13 +531,8 @@ public final class ReturnToChromeExperimentsUtil { +@@ -524,13 +522,8 @@ public final class ReturnToChromeExperimentsUtil { * Caches the status of whether the primary account is synced. */ public static void cachePrimaryAccountSyncStatus() { @@ -2455,7 +2424,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2889,8 +2889,6 @@ static_library("browser") { +@@ -2904,8 +2904,6 @@ static_library("browser") { "android/signin/fre_mobile_identity_consistency_field_trial.h", "android/signin/signin_bridge.cc", "android/signin/signin_bridge.h", @@ -2464,7 +2433,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "android/signin/signin_metrics_utils.cc", "android/signin/unified_consent_service_bridge.cc", "android/signin/web_signin_bridge.cc", -@@ -3255,8 +3253,6 @@ static_library("browser") { +@@ -3278,8 +3276,6 @@ static_library("browser") { "sharing/sms/sms_fetch_request_handler.h", "shell_integration_android.cc", "signin/identity_services_provider_android.cc", @@ -2473,7 +2442,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "ssl/chrome_security_state_client.cc", "ssl/chrome_security_state_client.h", "ssl/chrome_security_state_model_delegate.cc", -@@ -3271,8 +3267,6 @@ static_library("browser") { +@@ -3294,8 +3290,6 @@ static_library("browser") { "sync/glue/synced_window_delegate_android.h", "sync/glue/synced_window_delegates_getter_android.cc", "sync/glue/synced_window_delegates_getter_android.h", @@ -2482,7 +2451,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "sync/sync_service_android_bridge.cc", "sync/sync_service_android_bridge.h", "sync/trusted_vault_client_android.cc", -@@ -6143,10 +6137,6 @@ static_library("browser") { +@@ -6236,10 +6230,6 @@ static_library("browser") { "signin/logout_tab_helper.h", "signin/process_dice_header_delegate_impl.cc", "signin/process_dice_header_delegate_impl.h", @@ -2493,6 +2462,45 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn ] if (is_win) { sources += [ +diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java +--- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java ++++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java +@@ -17,7 +17,7 @@ import java.lang.annotation.RetentionPolicy; + @IntDef({ + MobileFreProgress.STARTED, + MobileFreProgress.WELCOME_SHOWN, +- MobileFreProgress.DATA_SAVER_SHOWN, ++ MobileFreProgress.DATA_SAVER_SHOWN_DISABLED, + MobileFreProgress.SYNC_CONSENT_SHOWN, + MobileFreProgress.SYNC_CONSENT_ACCEPTED, + MobileFreProgress.SYNC_CONSENT_DISMISSED, +@@ -33,7 +33,7 @@ import java.lang.annotation.RetentionPolicy; + public @interface MobileFreProgress { + int STARTED = 0; + int WELCOME_SHOWN = 1; +- int DATA_SAVER_SHOWN = 2; ++ int DATA_SAVER_SHOWN_DISABLED = 2; + int SYNC_CONSENT_SHOWN = 3; + /** The user clicked on the continue button to continue with sync consent. */ + int SYNC_CONSENT_ACCEPTED = 4; +diff --git a/chrome/browser/privacy_review/android/java/res/layout/privacy_review_msbb_step.xml b/chrome/browser/privacy_review/android/java/res/layout/privacy_review_msbb_step.xml +--- a/chrome/browser/privacy_review/android/java/res/layout/privacy_review_msbb_step.xml ++++ b/chrome/browser/privacy_review/android/java/res/layout/privacy_review_msbb_step.xml +@@ -26,14 +26,6 @@ + android:src="@drawable/privacy_review_msbb_image" + android:importantForAccessibility="no" /> + +- +- + mOnSignInErrorCallback; -@@ -61,8 +60,6 @@ public class AccountPickerDelegateImpl implements WebSigninBridge.Listener, Acco - mCurrentTab = currentTab; - mWebSigninBridgeFactory = webSigninBridgeFactory; - mContinueUrl = continueUrl; -- mSigninManager = IdentityServicesProvider.get().getSigninManager( -- Profile.getLastUsedRegularProfile()); - mIdentityManager = IdentityServicesProvider.get().getIdentityManager( - Profile.getLastUsedRegularProfile()); - } -@@ -87,26 +84,11 @@ public class AccountPickerDelegateImpl implements WebSigninBridge.Listener, Acco - // if user retries the sign-in from the error screen, we need to sign out the user - // first before signing in again. - destroyWebSigninBridge(); -- // TODO(https://crbug.com/1133752): Revise sign-out reason -- mSigninManager.signOut(SignoutReason.ABORT_SIGNIN); - } - mOnSignInErrorCallback = onSignInErrorCallback; - AccountInfoServiceProvider.get().getAccountInfoByEmail(accountEmail).then(accountInfo -> { - mWebSigninBridge = mWebSigninBridgeFactory.create( - Profile.getLastUsedRegularProfile(), accountInfo, this); -- mSigninManager.signin(AccountUtils.createAccountFromName(accountEmail), -- new SigninManager.SignInCallback() { -- @Override -- public void onSignInComplete() { -- // After the sign-in is finished in Chrome, we still need to wait for -- // WebSigninBridge to be called to redirect to the continue url. -- } -- -- @Override -- public void onSignInAborted() { -- AccountPickerDelegateImpl.this.destroyWebSigninBridge(); -- } -- }); - }); - } - -diff --git a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/fre/SigninFirstRunMediator.java b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/fre/SigninFirstRunMediator.java ---- a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/fre/SigninFirstRunMediator.java -+++ b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/fre/SigninFirstRunMediator.java -@@ -72,11 +72,7 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache - void onNativeAndPolicyLoaded(boolean hasPolicies) { - mModel.set(SigninFirstRunProperties.ARE_NATIVE_AND_POLICY_LOADED, true); - mModel.set(SigninFirstRunProperties.FRE_POLICY, hasPolicies ? new FrePolicy() : null); -- final boolean isSigninSupported = ExternalAuthUtils.getInstance().canUseGooglePlayServices() -- && !IdentityServicesProvider.get() -- .getSigninManager(Profile.getLastUsedRegularProfile()) -- .isSigninDisabledByPolicy(); -- mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED, isSigninSupported); -+ mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED, false); - } - - /** Implements {@link ProfileDataCache.Observer}. */ -@@ -134,21 +130,6 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache - mListener.acceptTermsOfService(); - return; - } -- final SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( -- Profile.getLastUsedRegularProfile()); -- signinManager.onFirstRunCheckDone(); -- signinManager.signin( -- AccountUtils.createAccountFromName(mSelectedAccountName), new SignInCallback() { -- @Override -- public void onSignInComplete() { -- mListener.acceptTermsOfService(); -- } -- -- @Override -- public void onSignInAborted() { -- // TODO(crbug/1248090): Handle the sign-in error here -- } -- }); - } - - /** -@@ -157,16 +138,7 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache - private void onDismissClicked() { - assert mModel.get(SigninFirstRunProperties.ARE_NATIVE_AND_POLICY_LOADED) - : "The dismiss button shouldn't be visible before the native is not initialized!"; -- if (IdentityServicesProvider.get() -- .getIdentityManager(Profile.getLastUsedRegularProfile()) -- .hasPrimaryAccount(ConsentLevel.SIGNIN)) { -- IdentityServicesProvider.get() -- .getSigninManager(Profile.getLastUsedRegularProfile()) -- .signOut(SignoutReason.ABORT_SIGNIN, mListener::acceptTermsOfService, -- /* forceWipeUserData= */ false); -- } else { - mListener.acceptTermsOfService(); -- } - } - - private void setSelectedAccountName(String accountName) { -@@ -205,4 +177,4 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache - mModel.set(SigninFirstRunProperties.IS_SELECTED_ACCOUNT_SUPERVISED, false); - } - } --} -\ No newline at end of file -+} diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/sync_service_factory.cc --- a/chrome/browser/sync/sync_service_factory.cc +++ b/chrome/browser/sync/sync_service_factory.cc @@ -2811,6 +2591,237 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/s -SyncServiceFactory::GetDefaultFactory() { - return base::BindRepeating(&BuildSyncService); -} +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java +@@ -13,7 +13,6 @@ import androidx.annotation.MainThread; + + import org.chromium.base.metrics.RecordUserAction; + import org.chromium.chrome.browser.profiles.Profile; +-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; + import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils; + import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; + import org.chromium.ui.modaldialog.DialogDismissalCause; +@@ -80,11 +79,7 @@ public class ConfirmImportSyncDataDialogCoordinator { + mKeepSeparateOption = + mConfirmImportSyncDataView.findViewById(R.id.sync_keep_separate_choice); + +- boolean isCurrentAccountManaged = +- IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .getManagementDomain() +- != null; ++ boolean isCurrentAccountManaged = false; + mModel = new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS) + .with(ModalDialogProperties.CANCEL_ON_TOUCH_OUTSIDE, true) + .with(ModalDialogProperties.POSITIVE_BUTTON_TEXT, +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java +@@ -175,9 +175,6 @@ public class ConfirmSyncDataStateMachine implements ConfirmImportSyncDataDialogC + } + + private void requestNewAccountManagementStatus() { +- IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .isAccountManaged(mNewAccountName, this::setIsNewAccountManaged); + } + + private void setIsNewAccountManaged(Boolean isManaged) { +@@ -193,17 +190,8 @@ public class ConfirmSyncDataStateMachine implements ConfirmImportSyncDataDialogC + assert mNewAccountManaged != null; + assert mState == State.AFTER_NEW_ACCOUNT_DIALOG; + +- if (mNewAccountManaged) { +- // Show 'logging into managed account' dialog +- // This will call back into onConfirm on success. +- mDelegate.showSignInToManagedAccountDialog(this, +- IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .extractDomainName(mNewAccountName)); +- } else { +- mDelegate.dismissAllDialogs(); +- progress(); +- } ++ mDelegate.dismissAllDialogs(); ++ progress(); + } + + private void showProgressDialog() { +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogFragment.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogFragment.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogFragment.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogFragment.java +@@ -19,7 +19,6 @@ import org.chromium.base.metrics.RecordHistogram; + import org.chromium.chrome.browser.profiles.Profile; + import org.chromium.chrome.browser.profiles.ProfileAccountManagementMetrics; + import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; +-import org.chromium.chrome.browser.signin.services.SigninManager; + import org.chromium.chrome.browser.signin.services.SigninMetricsUtils; + import org.chromium.components.signin.GAIAServiceType; + +@@ -67,12 +66,6 @@ public class SignOutDialogFragment + mGaiaServiceType = + getArguments().getInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType); + } +- String domain = IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .getManagementDomain(); +- if (domain != null) { +- return createDialogForManagedAccount(domain); +- } + + return createDialog(); + } +@@ -108,12 +101,6 @@ public class SignOutDialogFragment + if (which == AlertDialog.BUTTON_POSITIVE) { + SigninMetricsUtils.logProfileAccountManagementMenu( + ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT, mGaiaServiceType); +- SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( +- Profile.getLastUsedRegularProfile()); +- if (signinManager.getManagementDomain() == null) { +- RecordHistogram.recordBooleanHistogram( +- "Signin.UserRequestedWipeDataOnSignout", mWipeUserData.isChecked()); +- } + SignOutDialogListener targetFragment = (SignOutDialogListener) getTargetFragment(); + targetFragment.onSignOutClicked(mWipeUserData != null && mWipeUserData.isChecked()); + } +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SigninPromoController.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SigninPromoController.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SigninPromoController.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SigninPromoController.java +@@ -128,20 +128,7 @@ public class SigninPromoController { + * @param accessPoint The access point for which the impression limit is being checked. + */ + public static boolean canShowSyncPromo(@AccessPoint int accessPoint) { +- switch (accessPoint) { +- case SigninAccessPoint.BOOKMARK_MANAGER: +- return canShowBookmarkPromo(); +- case SigninAccessPoint.NTP_CONTENT_SUGGESTIONS: +- return canShowNTPPromo(); +- case SigninAccessPoint.RECENT_TABS: +- // There is no impression limit or dismiss button in Recent Tabs promo. +- return true; +- case SigninAccessPoint.SETTINGS: +- return canShowSettingsPromo(); +- default: +- assert false : "Unexpected value for access point: " + accessPoint; +- return false; +- } ++ return false; + } + + /** +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/AccountPickerDelegateImpl.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/AccountPickerDelegateImpl.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/AccountPickerDelegateImpl.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/AccountPickerDelegateImpl.java +@@ -28,7 +28,6 @@ public class AccountPickerDelegateImpl implements AccountPickerDelegate { + private final Tab mCurrentTab; + private final WebSigninBridge.Factory mWebSigninBridgeFactory; + private final String mContinueUrl; +- private final SigninManager mSigninManager; + private final IdentityManager mIdentityManager; + private @Nullable WebSigninBridge mWebSigninBridge; + +@@ -43,8 +42,6 @@ public class AccountPickerDelegateImpl implements AccountPickerDelegate { + mCurrentTab = currentTab; + mWebSigninBridgeFactory = webSigninBridgeFactory; + mContinueUrl = continueUrl; +- mSigninManager = IdentityServicesProvider.get().getSigninManager( +- Profile.getLastUsedRegularProfile()); + mIdentityManager = IdentityServicesProvider.get().getIdentityManager( + Profile.getLastUsedRegularProfile()); + } +@@ -62,28 +59,7 @@ public class AccountPickerDelegateImpl implements AccountPickerDelegate { + // if user retries the sign-in from the error screen, we need to sign out the user + // first before signing in again. + destroyWebSigninBridge(); +- // TODO(https://crbug.com/1133752): Revise sign-out reason +- mSigninManager.signOut(SignoutReason.ABORT_SIGNIN); + } +- AccountInfoServiceProvider.get().getAccountInfoByEmail(accountEmail).then(accountInfo -> { +- mWebSigninBridge = +- mWebSigninBridgeFactory.create(Profile.getLastUsedRegularProfile(), accountInfo, +- createWebSigninBridgeListener( +- mCurrentTab, mContinueUrl, onSignInErrorCallback)); +- mSigninManager.signin(AccountUtils.createAccountFromName(accountEmail), +- new SigninManager.SignInCallback() { +- @Override +- public void onSignInComplete() { +- // After the sign-in is finished in Chrome, we still need to wait for +- // WebSigninBridge to be called to redirect to the continue url. +- } +- +- @Override +- public void onSignInAborted() { +- AccountPickerDelegateImpl.this.destroyWebSigninBridge(); +- } +- }); +- }); + } + + @Override +diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java +--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java ++++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java +@@ -80,11 +80,7 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache + void onNativeAndPolicyLoaded(boolean hasPolicies) { + mModel.set(SigninFirstRunProperties.ARE_NATIVE_AND_POLICY_LOADED, true); + mModel.set(SigninFirstRunProperties.FRE_POLICY, hasPolicies ? new FrePolicy() : null); +- final boolean isSigninSupported = ExternalAuthUtils.getInstance().canUseGooglePlayServices() +- && !IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .isSigninDisabledByPolicy(); +- mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED, isSigninSupported); ++ mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED, false); + } + + /** Implements {@link ProfileDataCache.Observer}. */ +@@ -140,27 +136,6 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache + TextUtils.equals(mDefaultAccountName, mSelectedAccountName) + ? MobileFreProgress.WELCOME_SIGNIN_WITH_DEFAULT_ACCOUNT + : MobileFreProgress.WELCOME_SIGNIN_WITH_NON_DEFAULT_ACCOUNT); +- if (IdentityServicesProvider.get() +- .getIdentityManager(Profile.getLastUsedRegularProfile()) +- .hasPrimaryAccount(ConsentLevel.SIGNIN)) { +- mDelegate.acceptTermsOfService(); +- return; +- } +- final SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( +- Profile.getLastUsedRegularProfile()); +- signinManager.onFirstRunCheckDone(); +- signinManager.signin( +- AccountUtils.createAccountFromName(mSelectedAccountName), new SignInCallback() { +- @Override +- public void onSignInComplete() { +- mDelegate.acceptTermsOfService(); +- } +- +- @Override +- public void onSignInAborted() { +- // TODO(crbug/1248090): Handle the sign-in error here +- } +- }); + } + + /** +@@ -169,17 +144,7 @@ class SigninFirstRunMediator implements AccountsChangeObserver, ProfileDataCache + private void onDismissClicked() { + assert mModel.get(SigninFirstRunProperties.ARE_NATIVE_AND_POLICY_LOADED) + : "The dismiss button shouldn't be visible before the native is not initialized!"; +- mDelegate.recordFreProgressHistogram(MobileFreProgress.WELCOME_DISMISS); +- if (IdentityServicesProvider.get() +- .getIdentityManager(Profile.getLastUsedRegularProfile()) +- .hasPrimaryAccount(ConsentLevel.SIGNIN)) { +- IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .signOut(SignoutReason.ABORT_SIGNIN, mDelegate::acceptTermsOfService, +- /* forceWipeUserData= */ false); +- } else { +- mDelegate.acceptTermsOfService(); +- } ++ mDelegate.acceptTermsOfService(); + } + + private void setSelectedAccountName(String accountName) { 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 @@ -2849,7 +2860,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java --- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java +++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java -@@ -131,13 +131,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -130,13 +130,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { } protected boolean hasFeatures(Account account, String[] features) { @@ -2863,19 +2874,10 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s return false; } -@@ -178,32 +171,10 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -177,25 +170,9 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { public void updateCredentials( Account account, Activity activity, final Callback callback) { ThreadUtils.assertOnUiThread(); -- if (!hasManageAccountsPermission()) { -- if (callback != null) { -- ThreadUtils.postOnUiThread(callback.bind(false)); -- } -- return; -+ if (callback != null) { -+ ThreadUtils.postOnUiThread(callback.bind(false)); - } -- - AccountManagerCallback realCallback = future -> { - Bundle bundle = null; - try { @@ -2887,15 +2889,15 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s - } - boolean success = - bundle != null && bundle.getString(AccountManager.KEY_ACCOUNT_TYPE) != null; -- if (callback != null) { + if (callback != null) { - callback.onResult(success); -- } ++ callback.onResult(false); + } - }; - // Android 4.4 throws NullPointerException if null is passed - Bundle emptyOptions = new Bundle(); - mAccountManager.updateCredentials( - account, "android", emptyOptions, activity, realCallback, null); -+ return; } @Nullable @@ -3023,3 +3025,5 @@ diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFe } private void fetchImpl(final String expiredToken) { +-- +2.25.1 diff --git a/build/patches/Remove-weblayer-dependency-on-Play-Services.patch b/build/patches/Remove-weblayer-dependency-on-Play-Services.patch index 95c50909..cbf068cf 100644 --- a/build/patches/Remove-weblayer-dependency-on-Play-Services.patch +++ b/build/patches/Remove-weblayer-dependency-on-Play-Services.patch @@ -33,3 +33,5 @@ diff --git a/weblayer/shell/android/BUILD.gn b/weblayer/shell/android/BUILD.gn "//base:base_java", "//components/strictmode/android:java", "//third_party/android_deps:android_support_v4_java", +-- +2.25.1 diff --git a/build/patches/Replace-DoH-probe-domain-with-RIPE-domain.patch b/build/patches/Replace-DoH-probe-domain-with-RIPE-domain.patch index 403abffa..ae65124b 100644 --- a/build/patches/Replace-DoH-probe-domain-with-RIPE-domain.patch +++ b/build/patches/Replace-DoH-probe-domain-with-RIPE-domain.patch @@ -32,3 +32,5 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc const net::BackoffEntry::Policy kProbeBackoffPolicy = { // Apply exponential backoff rules after the first error. +-- +2.25.1 diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch index c9d5d13a..e2bc65bd 100644 --- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch @@ -20,7 +20,7 @@ Disable search-ready omnibox by default 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 -@@ -3380,8 +3380,8 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3435,8 +3435,8 @@ const FeatureEntry kFeatureEntries[] = { #if defined(USE_AURA) {"overscroll-history-navigation", flag_descriptions::kOverscrollHistoryNavigationName, @@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc {"pull-to-refresh", flag_descriptions::kPullToRefreshName, flag_descriptions::kPullToRefreshDescription, kOsAura, MULTI_VALUE_TYPE(kPullToRefreshChoices)}, -@@ -7748,6 +7748,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7785,6 +7785,9 @@ const FeatureEntry kFeatureEntries[] = { // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag // Histograms" in tools/metrics/histograms/README.md (run the // AboutFlagsHistogramTest unit test to verify this process). @@ -43,7 +43,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -2355,6 +2355,11 @@ +@@ -2378,6 +2378,11 @@ // with neural net palm detection. "expiry_milestone": 90 }, @@ -58,7 +58,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 -@@ -3525,6 +3525,11 @@ const char kSecurePaymentConfirmationAndroidName[] = +@@ -3493,6 +3493,11 @@ const char kSecurePaymentConfirmationAndroidName[] = const char kSecurePaymentConfirmationAndroidDescription[] = "Enables Secure Payment Confirmation on Android."; @@ -73,7 +73,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -2020,6 +2020,9 @@ extern const char kScrollCaptureDescription[]; +@@ -2008,6 +2008,9 @@ extern const char kScrollCaptureDescription[]; extern const char kSecurePaymentConfirmationAndroidName[]; extern const char kSecurePaymentConfirmationAndroidDescription[]; @@ -86,7 +86,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -258,6 +258,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReachedCodeProfiler, &kReaderModeInCCT, &kReengagementNotification, @@ -94,7 +94,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kRelatedSearches, &kRelatedSearchesAlternateUx, &kRelatedSearchesInBar, -@@ -698,6 +699,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{ +@@ -703,6 +704,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{ const base::Feature kRelatedSearchesUi{"RelatedSearchesUi", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -118,7 +118,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -399,6 +399,7 @@ public abstract class ChromeFeatureList { +@@ -403,6 +403,7 @@ public abstract class ChromeFeatureList { public static final String MODAL_PERMISSION_DIALOG_VIEW = "ModalPermissionDialogView"; public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid"; public static final String NEW_WINDOW_APP_MENU = "NewWindowAppMenu"; @@ -160,3 +160,5 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mEnableAdaptiveSuggestionsCount = ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT); +-- +2.25.1 diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index 9f15a731..04ea41e3 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -12,7 +12,6 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad. .../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++ .../NativePageNavigationDelegateImpl.java | 4 +- .../chrome/browser/ntp/NewTabPageLayout.java | 30 ++++++++- - .../suggestions/SuggestionsConfig.java | 4 +- .../SuggestionsNavigationDelegate.java | 17 +++++ chrome/browser/about_flags.cc | 3 + chrome/browser/flag_descriptions.cc | 3 + @@ -22,16 +21,16 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad. .../browser/flags/ChromeFeatureList.java | 1 + components/ntp_snippets/features.cc | 6 +- .../variations/fieldtrial_testing_config.json | 18 +++++ - 18 files changed, 201 insertions(+), 6 deletions(-) + 17 files changed, 198 insertions(+), 5 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 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 -@@ -680,6 +680,7 @@ chrome_java_resources = [ - "java/res/layout/new_tab_page_multi_feed_header.xml", - "java/res/layout/new_tab_page_section_tab.xml", +@@ -674,6 +674,7 @@ chrome_java_resources = [ + "java/res/layout/new_tab_page_incognito.xml", + "java/res/layout/new_tab_page_layout.xml", "java/res/layout/new_tab_page_tile_grid_placeholder.xml", + "java/res/layout/ntp_shortcuts.xml", "java/res/layout/optional_toolbar_button.xml", @@ -207,15 +206,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat 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 -@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer; - import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection; +@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection import org.chromium.chrome.browser.explore_sites.ExploreSitesBridge; + import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate; 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.native_page.ContextMenuManager; -@@ -118,6 +119,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -119,6 +120,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer private UiConfig mUiConfig; private CallbackController mCallbackController = new CallbackController(); @@ -224,7 +223,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. -@@ -283,6 +286,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -253,6 +256,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer mNoSearchLogoSpacer = findViewById(R.id.no_search_logo_spacer); initializeSearchBoxBackground(); @@ -232,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL initializeSearchBoxTextView(); initializeVoiceSearchButton(); initializeLensButton(); -@@ -596,10 +600,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -566,10 +570,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer * Updates the padding for the tile grid based on what is shown above it. */ private void updateTileGridPadding() { @@ -251,7 +250,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL mSiteSectionViewHolder.getItemView().setPadding( 0, paddingTop, 0, mSiteSectionViewHolder.getItemView().getPaddingBottom()); } -@@ -987,6 +997,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -957,6 +967,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer return iphCommandBuilder; } @@ -274,26 +273,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL /** * Makes the Search Box and Logo as wide as Most Visited. */ -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java -@@ -51,7 +51,9 @@ public final class SuggestionsConfig { - // The scroll to load feature does not work well for users who require accessibility mode. - if (ChromeAccessibilityUtil.get().isAccessibilityEnabled()) return false; - -- return ChromeFeatureList.isEnabled(ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD); -+ return ChromeFeatureList.isEnabled(ChromeFeatureList.SIMPLIFIED_NTP) -+ && ChromeFeatureList.isEnabled( -+ ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD); - } - - /** 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 -@@ -16,6 +16,11 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -14,6 +14,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost; + import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.ui.base.PageTransition; - import org.chromium.ui.mojom.WindowOpenDisposition; +import org.chromium.chrome.browser.bookmarks.BookmarkUtils; +import org.chromium.chrome.browser.download.DownloadUtils; @@ -303,8 +288,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug /** * Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods. */ -@@ -35,6 +40,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI - new LoadUrlParams(NEW_TAB_URL_HELP, PageTransition.AUTO_BOOKMARK)); +@@ -25,6 +30,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI + super(activity, profile, host, tabModelSelector, tab); } + public void navigateToBookmarks() { @@ -325,7 +310,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug 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 -@@ -4002,6 +4002,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4069,6 +4069,9 @@ const FeatureEntry kFeatureEntries[] = { SINGLE_VALUE_TYPE_AND_VALUE( switches::kForceShowUpdateMenuItemCustomSummary, "Custom Summary")}, @@ -338,7 +323,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -3573,6 +3573,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle"; +@@ -3541,6 +3541,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle"; const char kSharingHubLinkToggleDescription[] = "Enable the link toggle in the Sharing Hub."; @@ -351,7 +336,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -2041,6 +2041,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[]; +@@ -2029,6 +2029,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[]; extern const char kSmartSuggestionForLargeDownloadsName[]; extern const char kSmartSuggestionForLargeDownloadsDescription[]; @@ -364,7 +349,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -233,6 +233,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -237,6 +237,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kEnhancedProtectionPromoCard, &kExperimentsForAgsa, &kExploreSites, @@ -372,7 +357,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kFocusOmniboxInIncognitoTabIntents, &kGoogleLensSdkIntent, &kHandleMediaIntents, -@@ -664,6 +665,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2", +@@ -669,6 +670,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2", const base::Feature kOfflineMeasurementsBackgroundTask{ "OfflineMeasurementsBackgroundTask", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -396,14 +381,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -389,6 +389,7 @@ public abstract class ChromeFeatureList { - public static final String MARK_HTTP_AS = "MarkHttpAs"; +@@ -391,6 +391,7 @@ public abstract class ChromeFeatureList { + public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked"; public static final String MESSAGES_FOR_ANDROID_CHROME_SURVEY = "MessagesForAndroidChromeSurvey"; + public static final String SIMPLIFIED_NTP = "SimplifiedNTP"; public static final String MESSAGES_FOR_ANDROID_INFRASTRUCTURE = "MessagesForAndroidInfrastructure"; - public static final String MESSAGES_FOR_ANDROID_READER_MODE = "MessagesForAndroidReaderMode"; + public static final String MESSAGES_FOR_ANDROID_PERMISSION_UPDATE = diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc --- a/components/ntp_snippets/features.cc +++ b/components/ntp_snippets/features.cc @@ -429,7 +414,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -3972,6 +3972,24 @@ +@@ -4191,6 +4191,24 @@ ] } ], @@ -454,3 +439,5 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati "HelpAppLauncherSearch": [ { "platforms": [ +-- +2.25.1 diff --git a/build/patches/Restore-classic-new-tab-page.patch b/build/patches/Restore-classic-new-tab-page.patch index 9a5de776..b5551e95 100644 --- a/build/patches/Restore-classic-new-tab-page.patch +++ b/build/patches/Restore-classic-new-tab-page.patch @@ -80,3 +80,5 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc } const GURL url; +-- +2.25.1 diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch index d96e2c76..e1493c7a 100644 --- a/build/patches/Restore-offline-indicator-v2-flag.patch +++ b/build/patches/Restore-offline-indicator-v2-flag.patch @@ -22,3 +22,5 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js }, { "name": "offline-pages-live-page-sharing", +-- +2.25.1 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 782aeed9..e81666e8 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 @@ -13,9 +13,9 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f. 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 -@@ -3432,6 +3432,10 @@ const FeatureEntry kFeatureEntries[] = { - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableHostedAppShimCreation)}, - #endif // OS_MAC +@@ -3481,6 +3481,10 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kEnableVulkanDescription, + kOsWin | kOsLinux | kOsAndroid, FEATURE_VALUE_TYPE(features::kVulkan)}, #if defined(OS_ANDROID) + {switches::kDisablePullToRefreshEffect, + flag_descriptions::kDisablePullToRefreshEffectName, @@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -1160,6 +1160,11 @@ +@@ -1178,6 +1178,11 @@ // enable-javascript-harmony. "expiry_milestone": -1 }, @@ -42,7 +42,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 -@@ -3409,6 +3409,10 @@ const char kReadLaterDescription[] = +@@ -3380,6 +3380,10 @@ const char kReadLaterDescription[] = "Allow users to save tabs for later. Enables a new button and menu for " "accessing tabs saved for later."; @@ -56,7 +56,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -1954,6 +1954,9 @@ extern const char kQueryTilesSegmentationDescription[]; +@@ -1945,6 +1945,9 @@ extern const char kQueryTilesSegmentationDescription[]; extern const char kQueryTilesSwapTrendingName[]; extern const char kQueryTilesSwapTrendingDescription[]; @@ -66,3 +66,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio extern const char kReaderModeHeuristicsName[]; extern const char kReaderModeHeuristicsDescription[]; extern const char kReaderModeHeuristicsMarkup[]; +-- +2.25.1 diff --git a/build/patches/Revert-flags-remove-num-raster-threads.patch b/build/patches/Revert-flags-remove-num-raster-threads.patch index cd9b6c44..bef0ba8b 100644 --- a/build/patches/Revert-flags-remove-num-raster-threads.patch +++ b/build/patches/Revert-flags-remove-num-raster-threads.patch @@ -13,7 +13,7 @@ This reverts commit 2a51528a1737e9038f7f96f29403032a6a845a25. 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 -@@ -319,6 +319,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = { +@@ -330,6 +330,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = { "single-fullscreen,single-on-top,underlay"}, }; @@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = { {flags_ui::kGenericExperimentChoiceDefault, "", ""}, {flag_descriptions::kTouchSelectionStrategyCharacter, -@@ -3644,6 +3653,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3707,6 +3716,9 @@ const FeatureEntry kFeatureEntries[] = { {"enable-use-zoom-for-dsf", flag_descriptions::kEnableUseZoomForDsfName, flag_descriptions::kEnableUseZoomForDsfDescription, kOsAll, MULTI_VALUE_TYPE(kEnableUseZoomForDSFChoices)}, @@ -42,9 +42,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -3945,6 +3945,11 @@ - "owners": [ "jerem", "tiborg" ], - "expiry_milestone": 96 +@@ -3950,6 +3950,11 @@ + "owners": [ "mahmadi", "mfacey" ], + "expiry_milestone": 100 }, + { + "name": "num-raster-threads", @@ -52,12 +52,12 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js + "expiry_milestone": -1 + }, { - "name": "ntp-realbox-pedals", + "name": "ntp-realbox-suggestion-answers", "owners": [ "mahmadi", "mfacey" ], 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 -@@ -1742,6 +1742,14 @@ const char kOmniboxActiveSearchEnginesDescription[] = +@@ -1688,6 +1688,14 @@ const char kOmniboxActiveSearchEnginesDescription[] = "Enables a 'Your Search Engines' section on " "chrome://settings/searchEngines."; @@ -75,7 +75,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -1009,6 +1009,13 @@ extern const char kNotificationsSystemFlagDescription[]; +@@ -979,6 +979,13 @@ extern const char kNotificationsSystemFlagDescription[]; extern const char kOmniboxActiveSearchEnginesName[]; extern const char kOmniboxActiveSearchEnginesDescription[]; @@ -89,3 +89,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio extern const char kOmniboxAdaptiveSuggestionsCountName[]; extern const char kOmniboxAdaptiveSuggestionsCountDescription[]; +-- +2.25.1 diff --git a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch index 0558e839..b1cf6aad 100644 --- a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch +++ b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch @@ -196,7 +196,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 -@@ -586,6 +586,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -614,6 +614,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment int resource = 0; if (mCategory.showSites(SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS)) { resource = R.string.website_settings_add_site_description_automatic_downloads; @@ -205,19 +205,19 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC)) { resource = R.string.website_settings_add_site_description_background_sync; } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) { -@@ -708,6 +710,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment - boolean exception = false; +@@ -736,6 +738,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment + boolean allowSpecifyingExceptions = false; if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) { - exception = true; + allowSpecifyingExceptions = true; + } else if (mCategory.showSites(SiteSettingsCategory.Type.AUTOPLAY)) { -+ exception = true; ++ allowSpecifyingExceptions = true; } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) { - exception = true; + allowSpecifyingExceptions = true; } else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) { diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -119,6 +119,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -121,6 +121,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment return "bluetooth_scanning_permission_list"; case ContentSettingsType.COOKIES: return "cookies_permission_list"; @@ -226,7 +226,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c case ContentSettingsType.IDLE_DETECTION: return "idle_detection_permission_list"; case ContentSettingsType.JAVASCRIPT: -@@ -485,6 +487,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -487,6 +489,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment if (type == ContentSettingsType.ADS) { setUpAdsPreference(preference); @@ -235,7 +235,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (type == ContentSettingsType.SOUND) { setUpSoundPreference(preference); } else if (type == ContentSettingsType.JAVASCRIPT) { -@@ -975,6 +979,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -977,6 +981,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment setupContentSettingsPreference(preference, currentValue, false /* isEmbargoed */); } @@ -480,7 +480,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -134,6 +134,7 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -141,6 +141,7 @@ void PageInfoControllerAndroid::SetPermissionInfo( permissions_to_display.push_back(ContentSettingsType::ADS); permissions_to_display.push_back( ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER); @@ -491,7 +491,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 -@@ -97,6 +97,7 @@ ContentSettingsType kPermissionType[] = { +@@ -98,6 +98,7 @@ ContentSettingsType kPermissionType[] = { ContentSettingsType::ADS, ContentSettingsType::BACKGROUND_SYNC, ContentSettingsType::SOUND, @@ -499,7 +499,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. ContentSettingsType::AUTOMATIC_DOWNLOADS, #if defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_WIN) ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER, -@@ -140,6 +141,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info, +@@ -141,6 +142,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info, return is_subresource_filter_activated; } @@ -605,3 +605,5 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/thir bool IsAutoplayingMutedInternal(bool muted) const; bool IsOrWillBeAutoplayingMutedInternal(bool muted) const; +-- +2.25.1 diff --git a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch index ca7548b1..f3312e48 100644 --- a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch +++ b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch @@ -11,7 +11,7 @@ Avoid displaying info about intrusive ads diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -487,6 +487,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -489,6 +489,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment setUpSoundPreference(preference); } else if (type == ContentSettingsType.JAVASCRIPT) { setUpJavascriptPreference(preference); @@ -20,7 +20,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (type == ContentSettingsType.GEOLOCATION) { setUpLocationPreference(preference); } else if (type == ContentSettingsType.NOTIFICATIONS) { -@@ -813,16 +815,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -815,16 +817,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment private void setUpAdsInformationalBanner() { // Add the informational banner which shows at the top of the UI if ad blocking is // activated on this site. @@ -37,7 +37,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } private SiteSettingsCategory getWarningCategory() { -@@ -984,17 +978,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -986,17 +980,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @Nullable Integer currentValue = mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT); @@ -79,7 +79,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Updates the ads list preference based on whether the site is a candidate for blocking. This * has some custom behavior. -@@ -1010,22 +1022,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1012,22 +1024,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment setupContentSettingsPreference(preference, null, false); return; } @@ -128,3 +128,5 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c setContentSettingException(type, exception); } } else if (type == ContentSettingsType.JAVASCRIPT) { +-- +2.25.1 diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch index 3ca05d34..bebeda29 100644 --- a/build/patches/Site-setting-for-images.patch +++ b/build/patches/Site-setting-for-images.patch @@ -188,7 +188,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 -@@ -600,6 +600,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -628,6 +628,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment browserContextHandle, ContentSettingsType.SOUND) ? R.string.website_settings_add_site_description_sound_block : R.string.website_settings_add_site_description_sound_allow; @@ -197,19 +197,19 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) { if (mRequiresFourStateSetting) { resource = cookieSettingsExceptionShouldBlock() -@@ -714,6 +716,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment - exception = true; +@@ -742,6 +744,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment + allowSpecifyingExceptions = true; } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) { - exception = true; + allowSpecifyingExceptions = true; + } else if (mCategory.showSites(SiteSettingsCategory.Type.IMAGES)) { -+ exception = true; ++ allowSpecifyingExceptions = true; } else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) { - exception = true; + allowSpecifyingExceptions = true; } else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC) diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -123,6 +123,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -125,6 +125,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment return "autoplay_permission_list"; case ContentSettingsType.IDLE_DETECTION: return "idle_detection_permission_list"; @@ -218,7 +218,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c case ContentSettingsType.JAVASCRIPT: return "javascript_permission_list"; case ContentSettingsType.POPUPS: -@@ -495,6 +497,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -497,6 +499,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment setUpJavascriptPreference(preference); } else if (type == ContentSettingsType.COOKIES) { setUpCookiesPreference(preference); @@ -227,7 +227,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (type == ContentSettingsType.GEOLOCATION) { setUpLocationPreference(preference); } else if (type == ContentSettingsType.NOTIFICATIONS) { -@@ -1064,6 +1068,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1066,6 +1070,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment setupContentSettingsPreference(preference, permission, false /* isEmbargoed */); } @@ -357,7 +357,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen JavaScript -@@ -188,6 +191,9 @@ +@@ -194,6 +197,9 @@ Site %1$sgoogle.com added @@ -402,7 +402,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -214,6 +214,10 @@ absl::optional PageInfoControllerAndroid::GetSettingToDisplay( +@@ -221,6 +221,10 @@ absl::optional PageInfoControllerAndroid::GetSettingToDisplay( // audio since last navigation. if (web_contents_->WasEverAudible()) return permission.default_setting; @@ -416,7 +416,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 -@@ -89,9 +89,7 @@ ContentSettingsType kPermissionType[] = { +@@ -90,9 +90,7 @@ ContentSettingsType kPermissionType[] = { ContentSettingsType::SENSORS, ContentSettingsType::NOTIFICATIONS, ContentSettingsType::JAVASCRIPT, @@ -426,7 +426,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. ContentSettingsType::POPUPS, ContentSettingsType::WINDOW_PLACEMENT, ContentSettingsType::ADS, -@@ -146,6 +144,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info, +@@ -147,6 +145,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info, return true; } @@ -488,3 +488,5 @@ diff --git a/components/site_settings_strings.grdp b/components/site_settings_st Insecure content +-- +2.25.1 diff --git a/build/patches/Skip-the-first-run-and-metrics.patch b/build/patches/Skip-the-first-run-and-remove-report-sending.patch similarity index 51% rename from build/patches/Skip-the-first-run-and-metrics.patch rename to build/patches/Skip-the-first-run-and-remove-report-sending.patch index 69bbcb3d..2fa8f596 100644 --- a/build/patches/Skip-the-first-run-and-metrics.patch +++ b/build/patches/Skip-the-first-run-and-remove-report-sending.patch @@ -1,12 +1,12 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 26 Nov 2017 22:51:43 +0100 -Subject: Skip the first run and metrics +Subject: Skip the first run and remove report sending --- - .../org/chromium/chrome/browser/firstrun/FirstRunUtils.java | 3 --- - .../chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java | 6 ------ - .../chromium/chrome/browser/firstrun/FirstRunStatus.java | 6 ++---- - 3 files changed, 2 insertions(+), 13 deletions(-) + .../browser/firstrun/FirstRunUtils.java | 3 --- + .../firstrun/ToSAndUMAFirstRunFragment.java | 23 ------------------- + .../browser/firstrun/FirstRunStatus.java | 6 ++--- + 3 files changed, 2 insertions(+), 30 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java @@ -30,19 +30,68 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java -@@ -85,12 +85,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm +@@ -58,7 +58,6 @@ public class ToSAndUMAFirstRunFragment + private boolean mAllowCrashUpload; + + private Button mAcceptButton; +- private CheckBox mSendReportCheckBox; + private TextView mTosAndPrivacy; + private View mTitle; + private View mProgressSpinner; +@@ -87,22 +86,10 @@ public class ToSAndUMAFirstRunFragment + mProgressSpinner = view.findViewById(R.id.progress_spinner); + mProgressSpinner.setVisibility(View.GONE); + mAcceptButton = (Button) view.findViewById(R.id.terms_accept); +- mSendReportCheckBox = (CheckBox) view.findViewById(R.id.send_report_checkbox); + mTosAndPrivacy = (TextView) view.findViewById(R.id.tos_and_privacy); mAcceptButton.setOnClickListener((v) -> onTosButtonClicked()); -- mSendReportCheckBox.setChecked(getUmaCheckBoxInitialState()); +- mSendReportCheckBox.setChecked(mAllowCrashUpload); +- mSendReportCheckBox.setOnCheckedChangeListener( +- ((compoundButton, isChecked) -> mAllowCrashUpload = isChecked)); - if (!canShowUmaCheckBox()) { +- if (!FREMobileIdentityConsistencyFieldTrial.shouldShowOldFreWithUmaDialog()) { +- mAllowCrashUpload = +- sShowUmaCheckBoxForTesting || ChromeVersionInfo.isOfficialBuild(); +- } - mSendReportCheckBox.setVisibility(View.GONE); - } - -- mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance()); + mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance()); Resources resources = getResources(); - NoUnderlineClickableSpan clickableGoogleTermsSpan = +@@ -192,11 +179,6 @@ public class ToSAndUMAFirstRunFragment + if (!isVisibleToUser) { + // Restore original enabled & visibility states, in case the user returns to the page. + setSpinnerVisible(false); +- } else { +- // On certain versions of Android, the checkbox will appear unchecked upon revisiting +- // the page. Force it to the end state of the drawable animation as a work around. +- // crbug.com/666258 +- mSendReportCheckBox.jumpDrawablesToCurrentState(); + } + } + +@@ -219,7 +201,6 @@ public class ToSAndUMAFirstRunFragment + assert !isWaitingForNativeAndPolicyInit(); + + setSpinnerVisible(false); +- mSendReportCheckBox.setChecked(mAllowCrashUpload); + } + + /** Implements {@link FreUMADialogCoordinator.Listener} */ +@@ -291,10 +272,6 @@ public class ToSAndUMAFirstRunFragment + + mAcceptButton.setVisibility(visibility); + mTosAndPrivacy.setVisibility(visibility); +- // Avoid updating visibility if the UMA check box can't be shown right now. +- if (canShowUmaCheckBox()) { +- mSendReportCheckBox.setVisibility(visibility); +- } + } + + protected View getToSAndPrivacyText() { diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java --- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java +++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java @@ -66,3 +115,5 @@ diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/brows } /** +-- +2.25.1 diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch index b2b3f0ca..b7006293 100644 --- a/build/patches/Switch-to-fstack-protector-strong.patch +++ b/build/patches/Switch-to-fstack-protector-strong.patch @@ -36,3 +36,5 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn } } +-- +2.25.1 diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index 05460998..1ccb60e5 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -321,7 +321,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 -@@ -58,6 +58,10 @@ import org.chromium.ui.widget.Toast; +@@ -60,6 +60,10 @@ import org.chromium.ui.widget.Toast; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -332,7 +332,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -@@ -163,6 +167,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -165,6 +169,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment public static final String BINARY_TOGGLE_KEY = "binary_toggle"; public static final String TRI_STATE_TOGGLE_KEY = "tri_state_toggle"; public static final String FOUR_STATE_COOKIE_TOGGLE_KEY = "four_state_cookie_toggle"; @@ -340,7 +340,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c // Keys for category-specific preferences (toggle, link, button etc.), dynamically shown. public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate"; -@@ -170,6 +175,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -172,6 +177,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more"; private static final String ADD_EXCEPTION_KEY = "add_exception"; public static final String COOKIE_INFO_TEXT_KEY = "cookie_info_text"; @@ -348,7 +348,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c // Keys for Allowed/Blocked preference groups/headers. private static final String ALLOWED_GROUP = "allowed_group"; -@@ -247,7 +253,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -249,7 +255,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment Integer contentSetting = website.site().getContentSetting( browserContextHandle, SiteSettingsCategory.contentSettingsType(i)); if (contentSetting != null) { @@ -360,7 +360,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } return false; -@@ -407,7 +416,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -421,7 +430,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -370,7 +370,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help); help.setIcon(VectorDrawableCompat.create( -@@ -418,7 +428,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -432,7 +442,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_id_site_settings_help) { @@ -382,7 +382,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity( getActivity()); } else { -@@ -497,6 +510,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -525,6 +538,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment WebsitePreferenceBridge.setDefaultContentSetting( browserContextHandle, mCategory.getContentSettingsType(), setting); getInfoForOrigins(); @@ -395,7 +395,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (FOUR_STATE_COOKIE_TOGGLE_KEY.equals(preference.getKey())) { setCookieSettingsPreference((CookieSettingsState) newValue); getInfoForOrigins(); -@@ -594,6 +613,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -622,6 +641,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment assert WebsitePreferenceBridge.isCategoryEnabled( browserContextHandle, ContentSettingsType.AUTO_DARK_WEB_CONTENT); resource = R.string.website_settings_add_site_description_auto_dark_block; @@ -404,7 +404,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } assert resource > 0; return getString(resource); -@@ -634,6 +655,13 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -662,6 +683,13 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES) && mRequiresFourStateSetting) { setting = cookieSettingsExceptionShouldBlock() ? ContentSettingValues.BLOCK : ContentSettingValues.ALLOW; @@ -418,16 +418,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else { setting = (WebsitePreferenceBridge.isCategoryEnabled( browserContextHandle, mCategory.getContentSettingsType())) -@@ -696,6 +724,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -724,6 +752,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment && WebsitePreferenceBridge.isCategoryEnabled( browserContextHandle, ContentSettingsType.AUTO_DARK_WEB_CONTENT)) { - exception = true; + allowSpecifyingExceptions = true; + } else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) { -+ exception = true; ++ allowSpecifyingExceptions = true; } - if (exception) { + if (allowSpecifyingExceptions) { getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(), -@@ -867,7 +897,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -895,7 +925,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment TriStateSiteSettingsPreference triStateToggle = (TriStateSiteSettingsPreference) getPreferenceScreen().findPreference( TRI_STATE_TOGGLE_KEY); @@ -443,7 +443,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (mRequiresFourStateSetting) { FourStateCookieSettingsPreference fourStateCookieToggle = (FourStateCookieSettingsPreference) getPreferenceScreen().findPreference( -@@ -896,6 +933,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -924,6 +961,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment (FourStateCookieSettingsPreference) screen.findPreference( FOUR_STATE_COOKIE_TOGGLE_KEY); // TODO(crbug.com/1104836): Remove the old third-party cookie blocking UI @@ -453,7 +453,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY); Preference notificationsQuietUi = screen.findPreference(NOTIFICATIONS_QUIET_UI_TOGGLE_KEY); Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY); -@@ -907,20 +947,32 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -935,20 +975,32 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment if (mRequiresTriStateSetting) { screen.removePreference(binaryToggle); screen.removePreference(fourStateCookieToggle); @@ -487,7 +487,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (permissionBlockedByOs) { maybeShowOsWarning(screen); -@@ -1035,6 +1087,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -1063,6 +1115,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment triStateToggle.initialize(setting, descriptionIds); } @@ -503,7 +503,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) { binaryToggle.setOnPreferenceChangeListener(this); binaryToggle.setTitle(ContentSettingsResources.getTitle(contentType)); -@@ -1118,9 +1179,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -1146,9 +1207,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment CharSequence[] descriptions = new String[2]; descriptions[0] = @@ -520,7 +520,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -127,6 +127,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -129,6 +129,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment return "popup_permission_list"; case ContentSettingsType.SOUND: return "sound_permission_list"; @@ -529,7 +529,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c case ContentSettingsType.AR: return "ar_permission_list"; case ContentSettingsType.MEDIASTREAM_CAMERA: -@@ -886,11 +888,13 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -888,11 +890,13 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment if (value == null) return; setUpPreferenceCommon(preference, value); @@ -544,7 +544,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c switchPreference.setOnPreferenceChangeListener(this); @ContentSettingsType int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); -@@ -1109,7 +1113,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1111,7 +1115,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment preference.setSummary(getDSECategorySummary(permission)); } else { preference.setSummary( @@ -928,7 +928,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen Desktop site -@@ -480,6 +483,38 @@ +@@ -486,6 +489,38 @@ Block sites from playing protected content @@ -1068,7 +1068,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 -@@ -588,6 +588,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) { +@@ -589,6 +589,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) { provider->SetClockForTesting(clock); } @@ -1086,7 +1086,7 @@ 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 -@@ -332,6 +332,9 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -333,6 +333,9 @@ class HostContentSettingsMap : public content_settings::Observer, allow_invalid_secondary_pattern_for_testing_ = allow; } @@ -1345,7 +1345,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/weblayer/browser/java/org/chromium/weblayer_private/settings/WebLayerSiteSettingsDelegate.java b/weblayer/browser/java/org/chromium/weblayer_private/settings/WebLayerSiteSettingsDelegate.java --- a/weblayer/browser/java/org/chromium/weblayer_private/settings/WebLayerSiteSettingsDelegate.java +++ b/weblayer/browser/java/org/chromium/weblayer_private/settings/WebLayerSiteSettingsDelegate.java -@@ -143,4 +143,7 @@ public class WebLayerSiteSettingsDelegate +@@ -132,4 +132,7 @@ public class WebLayerSiteSettingsDelegate @Override public void dismissPrivacySandboxSnackbar() {} @@ -1353,3 +1353,5 @@ diff --git a/weblayer/browser/java/org/chromium/weblayer_private/settings/WebLay + @Override + public void launchTimeZoneOverrideHelpAndFeedbackActivity(Activity currentActivity) {} } +-- +2.25.1 diff --git a/build/patches/Unexpire-tab-groups-flags.patch b/build/patches/Unexpire-tab-groups-flags.patch index ec4676ea..9e470885 100644 --- a/build/patches/Unexpire-tab-groups-flags.patch +++ b/build/patches/Unexpire-tab-groups-flags.patch @@ -12,7 +12,7 @@ Disable by default 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 -@@ -2636,7 +2636,7 @@ +@@ -2659,7 +2659,7 @@ { "name": "enable-tab-groups", "owners": [ "memex-team@google.com" ], @@ -21,7 +21,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js }, { "name": "enable-tab-groups-continuation", -@@ -2646,7 +2646,7 @@ +@@ -2669,7 +2669,7 @@ { "name": "enable-tab-groups-ui-improvements", "owners": [ "memex-team@google.com" ], @@ -33,7 +33,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 -@@ -749,13 +749,13 @@ const base::Feature kTabEngagementReportingAndroid{ +@@ -754,13 +754,13 @@ const base::Feature kTabEngagementReportingAndroid{ "TabEngagementReportingAndroid", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kTabGroupsAndroid{"TabGroupsAndroid", @@ -61,3 +61,5 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f .put(ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID, false) .put(ChromeFeatureList.TOOLBAR_USE_HARDWARE_BITMAP_DRAW, false) .put(ChromeFeatureList.CLOSE_TAB_SUGGESTIONS, false) +-- +2.25.1 diff --git a/build/patches/Update-i18n-zh_CN-support.patch b/build/patches/Update-i18n-zh_CN-support.patch index 13281cfc..9e0c1b7c 100644 --- a/build/patches/Update-i18n-zh_CN-support.patch +++ b/build/patches/Update-i18n-zh_CN-support.patch @@ -12,7 +12,7 @@ Subject: Update i18n zh_CN support diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb --- a/chrome/app/resources/generated_resources_zh-CN.xtb +++ b/chrome/app/resources/generated_resources_zh-CN.xtb -@@ -7871,4 +7871,6 @@ +@@ -7905,4 +7905,6 @@ 正在建立安全连接... 您需要开启 Chrome 同步才能使用 Wi-Fi 同步功能。了解详情 检查(&N) @@ -24,7 +24,7 @@ diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/res diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb -@@ -1410,4 +1410,47 @@ Privacy Sandbox 试用版功能尚处于积极开发阶段,目前只能在部 +@@ -1422,4 +1422,47 @@ Privacy Sandbox 试用版功能尚处于积极开发阶段,目前只能在部 关闭所有标签页 常规 动态卡片上的菜单已关闭 @@ -77,7 +77,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb --- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb +++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb -@@ -330,4 +330,19 @@ +@@ -332,4 +332,19 @@ 这是一个危险网页 移除此网站? 已存储的数据 @@ -102,7 +102,7 @@ diff --git a/components/browser_ui/strings/android/translations/browser_ui_strin diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb --- a/components/strings/components_strings_zh-CN.xtb +++ b/components/strings/components_strings_zh-CN.xtb -@@ -2509,4 +2509,29 @@ +@@ -2529,4 +2529,29 @@ </ul> JIS B1 来自 Google Pay @@ -134,3 +134,5 @@ diff --git a/components/strings/components_strings_zh-CN.xtb b/components/string + +要安装 吗? + +-- +2.25.1 diff --git a/build/patches/Use-4-tile-rows-never-show-logo.patch b/build/patches/Use-4-tile-rows-never-show-logo.patch index 5c950e73..c88faf7f 100644 --- a/build/patches/Use-4-tile-rows-never-show-logo.patch +++ b/build/patches/Use-4-tile-rows-never-show-logo.patch @@ -12,7 +12,7 @@ Subject: Use 4 tile rows, never show logo 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 -@@ -130,7 +130,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -131,7 +131,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer */ private boolean mHasShownView; @@ -21,7 +21,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL private boolean mSearchProviderIsGoogle; private boolean mShowingNonStandardLogo; -@@ -255,7 +255,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -225,7 +225,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer mTileGroup = new TileGroup(tileRenderer, mManager, contextMenuManager, tileGroupDelegate, /* observer = */ this, offlinePageBridge); @@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL if (searchProviderIsGoogle && QueryTileUtils.isQueryTilesEnabledOnNTP()) { maxRows = QueryTileSection.getMaxRowsForMostVisitedTiles(getContext()); } -@@ -576,7 +576,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer +@@ -546,7 +546,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer && mInitialized) { return; } @@ -75,3 +75,5 @@ diff --git a/components/history/core/browser/top_sites_impl.h b/components/histo TopSitesImpl(PrefService* pref_service, HistoryService* history_service, +-- +2.25.1 diff --git a/build/patches/Use-64-bit-WebView-processes.patch b/build/patches/Use-64-bit-WebView-processes.patch index 4bf0783b..3fea9623 100644 --- a/build/patches/Use-64-bit-WebView-processes.patch +++ b/build/patches/Use-64-bit-WebView-processes.patch @@ -33,3 +33,5 @@ diff --git a/android_webview/nonembedded/java/AndroidManifest.xml b/android_webv android:extractNativeLibs="{{ trichrome_library is not defined }}"> {# This part is shared between stand-alone WebView and Monochrome #} {% macro common(manifest_package, webview_lib) %} +-- +2.25.1 diff --git a/build/patches/Use-dummy-DFM-installer.patch b/build/patches/Use-dummy-DFM-installer.patch index c3f42d9b..22208c3c 100644 --- a/build/patches/Use-dummy-DFM-installer.patch +++ b/build/patches/Use-dummy-DFM-installer.patch @@ -515,3 +515,5 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component sIsInitialized = true; } +-- +2.25.1 diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 238f14fb..044b78ab 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -70,9 +70,9 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -796,4 +796,6 @@ chrome_java_resources = [ +@@ -790,4 +790,6 @@ chrome_java_resources = [ + "java/res/xml/privacy_preferences.xml", "java/res/xml/search_widget_info.xml", - "java/res/xml/tab_layout_badge.xml", "java/res/xml/tracing_preferences.xml", + "java/res/xml/useragent_preferences.xml", + "java/res/layout/custom_useragent_preferences.xml", @@ -80,7 +80,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 -@@ -975,6 +975,7 @@ chrome_java_sources = [ +@@ -963,6 +963,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", @@ -253,7 +253,7 @@ new file mode 100644 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 -@@ -45,6 +45,7 @@ import org.chromium.content_public.browser.DeviceUtils; +@@ -46,6 +46,7 @@ import org.chromium.content_public.browser.DeviceUtils; import org.chromium.content_public.browser.SpeechRecognition; import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.net.NetworkChangeNotifier; @@ -261,7 +261,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow import java.io.File; import java.util.ArrayList; -@@ -306,11 +307,13 @@ public class ChromeBrowserInitializer { +@@ -307,11 +308,13 @@ public class ChromeBrowserInitializer { @Override public void onSuccess() { @@ -542,7 +542,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityUtils; @@ -498,6 +502,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { - // Request desktop sites for large screen tablets. + // Request desktop sites for large screen tablets if necessary. params.setOverrideUserAgent(calculateUserAgentOverrideOption()); + final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean( @@ -584,7 +584,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav } finally { TraceEvent.end("Tab.restoreIfNeeded"); } -@@ -1683,6 +1716,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { +@@ -1684,6 +1717,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer { /* forcedByUser */ false); } @@ -631,9 +631,9 @@ 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 -@@ -24,6 +24,10 @@ import org.chromium.ui.base.DeviceFormFactor; - import org.chromium.ui.base.WindowAndroid; +@@ -26,6 +26,10 @@ import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.display.DisplayAndroidManager; + import org.chromium.url.GURL; +import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; +import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; @@ -642,7 +642,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja /** * Collection of utility methods that operates on Tab. */ -@@ -86,10 +90,16 @@ public class TabUtils { +@@ -88,10 +92,16 @@ public class TabUtils { * @param forcedByUser Whether this was triggered by users action. */ public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser) { @@ -866,7 +866,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl 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 -@@ -1025,6 +1025,9 @@ public final class ChromePreferenceKeys { +@@ -1032,6 +1032,9 @@ public final class ChromePreferenceKeys { public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX = new KeyPrefix("zero_suggest_header_group_collapsed_by_default*"); @@ -876,7 +876,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** * These values are currently used as SharedPreferences keys, along with the keys in * {@link LegacyChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys -@@ -1140,6 +1143,8 @@ public final class ChromePreferenceKeys { +@@ -1149,6 +1152,8 @@ public final class ChromePreferenceKeys { TAP_FEED_CARDS_COUNT, TAP_MV_TILES_COUNT, TWA_DISCLOSURE_SEEN_PACKAGES, @@ -884,7 +884,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro + USERAGENT_ALWAYS_DESKTOP_MODE, VIDEO_TUTORIALS_SHARE_URL_SET, WEB_FEED_INTRO_LAST_SHOWN_TIME_MS, - WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_TIME_MS_PREFIX.pattern() + WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_TIME_MS_PREFIX.pattern(), diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java b/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java --- a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java +++ b/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java @@ -1024,7 +1024,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc 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 -@@ -1206,6 +1206,14 @@ extern const char kLensRegionSearchEnabled[]; +@@ -1211,6 +1211,14 @@ extern const char kCorsNonWildcardRequestHeadersSupport[]; extern const char kIncognitoTabHistoryEnabled[]; #endif @@ -1063,10 +1063,10 @@ diff --git a/components/browser_ui/widget/android/java/src/org/chromium/componen diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc -@@ -275,6 +275,13 @@ std::string GetPlatformForUAMetadata() { - blink::UserAgentMetadata GetUserAgentMetadata() { - blink::UserAgentMetadata metadata; - +@@ -332,6 +332,13 @@ blink::UserAgentMetadata GetUserAgentMetadata(PrefService* pref_service) { + enable_updated_grease_by_policy = pref_service->GetBoolean( + policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled); + } + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(kUserAgent)) { + std::string ua = command_line->GetSwitchValueASCII(kUserAgent); @@ -1074,9 +1074,9 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd + return metadata; + } + - metadata.brand_version_list = GetBrandVersionList(); + metadata.brand_version_list = + GetBrandVersionList(enable_updated_grease_by_policy); metadata.full_version = base::FeatureList::IsEnabled( - blink::features::kForceMajorVersion100InUserAgent) diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc --- a/content/browser/renderer_host/navigation_controller_android.cc +++ b/content/browser/renderer_host/navigation_controller_android.cc @@ -1112,7 +1112,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 -@@ -3604,6 +3604,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3569,6 +3569,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedMedia, switches::kLacrosUseChromeosProtectedAv1, #endif @@ -1123,15 +1123,15 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content 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 -@@ -38,6 +38,7 @@ - #include "base/strings/string_util.h" - #include "base/strings/stringprintf.h" - #include "base/system/sys_info.h" +@@ -15,6 +15,7 @@ + + #include "base/allocator/partition_alloc_features.h" + #include "base/allocator/partition_allocator/starscan/pcscan.h" +#include "base/base_switches.h" - #include "base/threading/thread_task_runner_handle.h" - #include "base/time/time.h" - #include "base/trace_event/optional_trace_event.h" -@@ -2640,6 +2641,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { + #include "base/bind.h" + #include "base/command_line.h" + #include "base/containers/contains.h" +@@ -2697,6 +2698,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() { !renderer_preferences_.user_agent_override.ua_metadata_override->mobile) #endif prefs.viewport_meta_enabled = false; @@ -1164,7 +1164,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 -@@ -1670,7 +1670,6 @@ void RenderThreadImpl::SetWebKitSharedTimersSuspended(bool suspend) { +@@ -1703,7 +1703,6 @@ void RenderThreadImpl::SetWebKitSharedTimersSuspended(bool suspend) { } void RenderThreadImpl::SetUserAgent(const std::string& user_agent) { @@ -1172,3 +1172,5 @@ diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_th user_agent_ = WebString::FromUTF8(user_agent); GetContentClient()->renderer()->DidSetUserAgent(user_agent); } +-- +2.25.1 diff --git a/build/patches/ask-permission-to-play-protected-media-by-default.patch b/build/patches/ask-permission-to-play-protected-media-by-default.patch index 6294b8e2..6213905d 100644 --- a/build/patches/ask-permission-to-play-protected-media-by-default.patch +++ b/build/patches/ask-permission-to-play-protected-media-by-default.patch @@ -20,3 +20,5 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. #else CONTENT_SETTING_ALLOW; #endif // defined(OS_ANDROID) +-- +2.25.1 diff --git a/build/patches/autofill-disable-autofill-download-manager.patch b/build/patches/autofill-disable-autofill-download-manager.patch index 3c2199ff..247d00e7 100644 --- a/build/patches/autofill-disable-autofill-download-manager.patch +++ b/build/patches/autofill-disable-autofill-download-manager.patch @@ -86,7 +86,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.h b/comp diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc --- a/components/autofill/core/browser/autofill_manager.cc +++ b/components/autofill/core/browser/autofill_manager.cc -@@ -60,19 +60,6 @@ bool CachedFormNeedsUpdate(const FormData& live_form, +@@ -54,19 +54,6 @@ bool CachedFormNeedsUpdate(const FormData& live_form, return false; } @@ -106,7 +106,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a } // namespace using base::TimeTicks; -@@ -126,13 +113,6 @@ AutofillManager::AutofillManager( +@@ -120,13 +107,6 @@ AutofillManager::AutofillManager( client_(client), log_manager_(client ? client->GetLogManager() : nullptr), form_interactions_ukm_logger_(CreateFormInteractionsUkmLogger()) { @@ -132,3 +132,5 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( prefs::kAutofillLastVersionDeduped, 0, +-- +2.25.1 diff --git a/build/patches/battery_status_service-disable-more-privacy-nightmares.patch b/build/patches/battery_status_service-disable-more-privacy-nightmares.patch index 8c3eac6b..11283ba1 100644 --- a/build/patches/battery_status_service-disable-more-privacy-nightmares.patch +++ b/build/patches/battery_status_service-disable-more-privacy-nightmares.patch @@ -40,3 +40,5 @@ diff --git a/services/device/battery/battery_status_service.cc b/services/device return callback_list_.Add(callback); } +-- +2.25.1 diff --git a/build/patches/build-remove-calling-untrusted-hooks.patch b/build/patches/build-remove-calling-untrusted-hooks.patch index facc99ee..b26292eb 100644 --- a/build/patches/build-remove-calling-untrusted-hooks.patch +++ b/build/patches/build-remove-calling-untrusted-hooks.patch @@ -11,7 +11,7 @@ sysroot. diff --git a/DEPS b/DEPS --- a/DEPS +++ b/DEPS -@@ -113,7 +113,7 @@ vars = { +@@ -112,7 +112,7 @@ vars = { # Check out and download nacl by default, unless on an arm mac. # This can be disabled e.g. with custom_vars. @@ -20,7 +20,7 @@ diff --git a/DEPS b/DEPS # By default, do not check out src-internal. This can be overridden e.g. with # custom_vars. -@@ -144,8 +144,8 @@ vars = { +@@ -143,8 +143,8 @@ vars = { # support for other platforms may be added in the future. 'checkout_openxr' : 'checkout_win', @@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS { # Case-insensitivity for the Win SDK. Must run before win_toolchain below. 'name': 'ciopfs_linux', -@@ -3956,43 +3913,6 @@ hooks = [ +@@ -3957,43 +3914,6 @@ hooks = [ '-s', 'src/third_party/skia', '--header', 'src/skia/ext/skia_commit_hash.h'], }, @@ -125,7 +125,7 @@ diff --git a/DEPS b/DEPS # Pull rc binaries using checked-in hashes. { 'name': 'rc_win', -@@ -4018,30 +3938,6 @@ hooks = [ +@@ -4019,30 +3939,6 @@ hooks = [ '-s', 'src/build/toolchain/win/rc/mac/rc.sha1', ], }, @@ -156,3 +156,5 @@ diff --git a/DEPS b/DEPS # Download test resources for opus, i.e. audio files. { 'name': 'opus_test_files', +-- +2.25.1 diff --git a/build/patches/disable-AdsBlockedInfoBar.patch b/build/patches/disable-AdsBlockedInfoBar.patch index 8d4fb880..f2f6169b 100644 --- a/build/patches/disable-AdsBlockedInfoBar.patch +++ b/build/patches/disable-AdsBlockedInfoBar.patch @@ -68,3 +68,5 @@ diff --git a/components/subresource_filter/content/browser/profile_interaction_m } content::WebContents* ProfileInteractionManager::GetWebContents() { +-- +2.25.1 diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index 0266ee67..d496f2d3 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -24,7 +24,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 -@@ -435,8 +435,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -431,8 +431,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { } } @@ -33,3 +33,5 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC mShouldDisableThreadChecking = shouldDisableThreadChecking(ctx); setSingleton(this); +-- +2.25.1 diff --git a/build/patches/disable-appending-variations-header.patch b/build/patches/disable-appending-variations-header.patch new file mode 100644 index 00000000..1988729d --- /dev/null +++ b/build/patches/disable-appending-variations-header.patch @@ -0,0 +1,25 @@ +From: Zoraver Kang +Date: Sat, 15 Jan 2022 13:34:33 -0500 +Subject: disable appending variations header + +--- + components/variations/net/variations_http_headers.cc | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc +--- a/components/variations/net/variations_http_headers.cc ++++ b/components/variations/net/variations_http_headers.cc +@@ -100,10 +100,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) { + // Also, logs the result of validating |url| in histograms, one of which ends in + // |suffix|. + bool ShouldAppendVariationsHeader(const GURL& url, const std::string& suffix) { +- URLValidationResult result = GetUrlValidationResult(url); +- base::UmaHistogramEnumeration( +- "Variations.Headers.URLValidationResult." + suffix, result); +- return result == URLValidationResult::kShouldAppend; ++ return false; + } + + // Returns true if the request is sent from a Google web property, i.e. from a +-- +2.25.1 diff --git a/build/patches/disable-autofill-server-communication-by-default.patch b/build/patches/disable-autofill-server-communication-by-default.patch index ae702d75..03fa74ca 100644 --- a/build/patches/disable-autofill-server-communication-by-default.patch +++ b/build/patches/disable-autofill-server-communication-by-default.patch @@ -9,7 +9,7 @@ Subject: disable autofill server communication by default 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 -@@ -342,7 +342,7 @@ const base::Feature kAutofillSectionUponRedundantNameInfo{ +@@ -363,7 +363,7 @@ const base::Feature kAutofillSectionUponRedundantNameInfo{ // "upload" resources. // i.e., https://other.autofill.server:port/tbproxy/af/ const base::Feature kAutofillServerCommunication{ @@ -18,3 +18,5 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a // Controls attaching the autofill type predictions to their respective // element in the DOM. +-- +2.25.1 diff --git a/build/patches/disable-background-sync-by-default.patch b/build/patches/disable-background-sync-by-default.patch index 0a01e2c7..7b1b9e69 100644 --- a/build/patches/disable-background-sync-by-default.patch +++ b/build/patches/disable-background-sync-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. AllowlistedSchemes(), ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE, +-- +2.25.1 diff --git a/build/patches/disable-broken-warning-for-auto-var-init.patch b/build/patches/disable-broken-warning-for-auto-var-init.patch index 01401c67..09321b9b 100644 --- a/build/patches/disable-broken-warning-for-auto-var-init.patch +++ b/build/patches/disable-broken-warning-for-auto-var-init.patch @@ -19,3 +19,4 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn } # Linker warnings. + diff --git a/build/patches/disable-browser-autologin-by-default.patch b/build/patches/disable-browser-autologin-by-default.patch index d8fa37b9..b66b83ae 100644 --- a/build/patches/disable-browser-autologin-by-default.patch +++ b/build/patches/disable-browser-autologin-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/signin/internal/identity_manager/primary_account_manager registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList); registry->RegisterBooleanPref(prefs::kSigninAllowed, false); registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false); +-- +2.25.1 diff --git a/build/patches/disable-mobile-identity-consistency-by-default.patch b/build/patches/disable-mobile-identity-consistency-by-default.patch new file mode 100644 index 00000000..f8b4ac05 --- /dev/null +++ b/build/patches/disable-mobile-identity-consistency-by-default.patch @@ -0,0 +1,22 @@ +From: Daniel Micay +Date: Fri, 28 May 2021 09:08:01 -0400 +Subject: disable mobile identity consistency by default + +--- + components/signin/public/base/account_consistency_method.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/components/signin/public/base/account_consistency_method.cc b/components/signin/public/base/account_consistency_method.cc +--- a/components/signin/public/base/account_consistency_method.cc ++++ b/components/signin/public/base/account_consistency_method.cc +@@ -14,7 +14,7 @@ namespace signin { + const base::Feature kMobileIdentityConsistencyFRE{ + "MobileIdentityConsistencyFRE", base::FEATURE_DISABLED_BY_DEFAULT}; + const base::Feature kMobileIdentityConsistencyPromos{ +- "MobileIdentityConsistencyPromos", base::FEATURE_ENABLED_BY_DEFAULT}; ++ "MobileIdentityConsistencyPromos", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif + + } // namespace signin +-- +2.25.1 diff --git a/build/patches/disable-payment-support-by-default.patch b/build/patches/disable-payment-support-by-default.patch index ce2f78b1..a63696f6 100644 --- a/build/patches/disable-payment-support-by-default.patch +++ b/build/patches/disable-payment-support-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/payments/core/payment_prefs.cc b/components/payments/cor user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); } +-- +2.25.1 diff --git a/build/patches/disable-sensors-access-site-setting-by-default.patch b/build/patches/disable-sensors-access-site-setting-by-default.patch index 582c49d6..2d42569a 100644 --- a/build/patches/disable-sensors-access-site-setting-by-default.patch +++ b/build/patches/disable-sensors-access-site-setting-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. WebsiteSettingsInfo::UNSYNCABLE, AllowlistedSchemes(), ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE, +-- +2.25.1 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 354e984e..85111886 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 @@ -31,3 +31,5 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc enum DnsResolveStatus { RESOLVE_STATUS_DNS_SUCCESS = 0, +-- +2.25.1 diff --git a/build/patches/do-not-add-suffix-to-package-name.patch b/build/patches/do-not-add-suffix-to-package-name.patch index 9d39c519..eeebe0b3 100644 --- a/build/patches/do-not-add-suffix-to-package-name.patch +++ b/build/patches/do-not-add-suffix-to-package-name.patch @@ -9,7 +9,7 @@ Subject: do not add suffix to package name diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { +@@ -45,7 +45,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { } _default_package = "org.chromium.chrome" @@ -18,3 +18,5 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn # android-binary-size trybot may checks if an internal Chrome variant's # AndroidManifest is as expected by ensuring the differences between its # AndroidManifest and its upstream target's .AndroidManifest.expected file +-- +2.25.1 diff --git a/build/patches/do-not-hide-.orig-files.patch b/build/patches/do-not-hide-.orig-files.patch index 6db0030c..05f8a7bf 100644 --- a/build/patches/do-not-hide-.orig-files.patch +++ b/build/patches/do-not-hide-.orig-files.patch @@ -18,3 +18,5 @@ diff --git a/.gitignore b/.gitignore *.pdb *.props *.pyc +-- +2.25.1 diff --git a/build/patches/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index 5feca5b8..201d7f08 100644 --- a/build/patches/enable-ftrivial-auto-var-init-zero.patch +++ b/build/patches/enable-ftrivial-auto-var-init-zero.patch @@ -1,4 +1,3 @@ -From e7eb1a78a4795ac2ece3c96a051b003be8b2cb71 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 8 Apr 2020 20:48:17 -0400 Subject: enable -ftrivial-auto-var-init=zero @@ -10,14 +9,16 @@ Subject: enable -ftrivial-auto-var-init=zero 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 -@@ -354,6 +354,10 @@ config("compiler") { +@@ -358,6 +358,10 @@ config("compiler") { cflags += [ "-fwrapv" ] } + if (is_clang) { -+ cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang" ] ++ cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang", "-Wno-unused-command-line-argument" ] + } + # Linker warnings. if (fatal_linker_warnings && !is_apple && current_os != "aix" && current_os != "zos") { +-- +2.25.1 diff --git a/build/patches/exit-on-failure-of-inclusion.patch b/build/patches/exit-on-failure-of-inclusion.patch index ad237451..ff6efec5 100644 --- a/build/patches/exit-on-failure-of-inclusion.patch +++ b/build/patches/exit-on-failure-of-inclusion.patch @@ -28,3 +28,5 @@ diff --git a/chrome/installer/linux/debian/build.sh b/chrome/installer/linux/deb fi eval $(sed -e "s/^\([^=]\+\)=\(.*\)$/export \1='\2'/" \ "${OUTPUTDIR}/installer/theme/BRANDING") +-- +2.25.1 diff --git a/build/patches/first_run-deactivate-autoupdate-globally.patch b/build/patches/first_run-deactivate-autoupdate-globally.patch index 5c779cbb..e4688ad0 100644 --- a/build/patches/first_run-deactivate-autoupdate-globally.patch +++ b/build/patches/first_run-deactivate-autoupdate-globally.patch @@ -25,3 +25,5 @@ diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser #if BUILDFLAG(IS_CHROMEOS_ASH) if (!extensions_enabled || chromeos::ProfileHelper::IsLockScreenAppProfile(profile_)) { +-- +2.25.1 diff --git a/build/patches/kill-Auth.patch b/build/patches/kill-Auth.patch index 5a4fbf66..c5a4d9a6 100644 --- a/build/patches/kill-Auth.patch +++ b/build/patches/kill-Auth.patch @@ -9,7 +9,7 @@ Subject: kill Auth diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java --- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java +++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java -@@ -26,9 +26,6 @@ import android.os.SystemClock; +@@ -25,9 +25,6 @@ import android.os.SystemClock; import androidx.annotation.Nullable; @@ -19,7 +19,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.Callback; import org.chromium.base.ContextUtils; -@@ -83,14 +80,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -82,14 +79,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @Override public Account[] getAccounts() { @@ -34,7 +34,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s // Account seeding relies on GoogleAuthUtil.getAccountId to get GAIA ids, // so don't report any accounts if Google Play Services are out of date. return new Account[] {}; -@@ -101,28 +90,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -100,28 +89,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { throws AuthException { ThreadUtils.assertOnBackgroundThread(); assert AccountUtils.GOOGLE_ACCOUNT_TYPE.equals(account.type); @@ -65,7 +65,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s } @Override -@@ -152,17 +125,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -151,17 +124,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @SuppressLint("MissingPermission") @Override public void createAddAccountIntent(Callback callback) { @@ -83,7 +83,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s } // No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs -@@ -180,12 +142,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { +@@ -178,12 +140,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate { @Nullable @Override public String getAccountGaiaId(String accountEmail) { @@ -97,3 +97,5 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s } protected boolean isGooglePlayServicesAvailable() { +-- +2.25.1 diff --git a/build/patches/kill-Location-fall-back-to-system.patch b/build/patches/kill-Location-fall-back-to-system.patch index 742a8802..1eff804b 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -43,3 +43,5 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge return sProviderImpl; } } +-- +2.25.1 diff --git a/build/patches/kill-TOS-and-metrics-opt-out.patch b/build/patches/kill-TOS-and-metrics-opt-out.patch deleted file mode 100644 index 3cf19321..00000000 --- a/build/patches/kill-TOS-and-metrics-opt-out.patch +++ /dev/null @@ -1,112 +0,0 @@ -From: thermatk -Date: Fri, 22 Jun 2018 17:16:07 +0200 -Subject: kill TOS and metrics opt-out - ---- - chrome/android/java/res/layout/fre_tosanduma.xml | 9 --------- - chrome/android/java/res/values/dimens.xml | 1 - - .../browser/firstrun/FirstRunActivityBase.java | 2 +- - .../firstrun/ToSAndUMAFirstRunFragment.java | 14 -------------- - 4 files changed, 1 insertion(+), 25 deletions(-) - -diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/java/res/layout/fre_tosanduma.xml ---- a/chrome/android/java/res/layout/fre_tosanduma.xml -+++ b/chrome/android/java/res/layout/fre_tosanduma.xml -@@ -83,15 +83,6 @@ - android:layout_marginTop="@dimen/fre_vertical_spacing" - android:layout_marginBottom="@dimen/fre_tos_bottom_margin" - android:lineSpacingMultiplier="1.4" -- android:textAppearance="@style/TextAppearance.TextMedium.Primary" /> -- -- - - -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 -@@ -125,7 +125,6 @@ - 36dp - 120dp - 110dp -- 12dp - 16dp - 48dp - 24dp -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java -@@ -44,7 +44,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity { - static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage"; - static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent"; - -- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true; -+ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false; - - private boolean mNativeInitialized; - -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java -@@ -51,7 +51,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - private boolean mTosButtonClicked; - - private Button mAcceptButton; -- private CheckBox mSendReportCheckBox; - private TextView mTosAndPrivacy; - private View mTitle; - private View mProgressSpinner; -@@ -79,7 +78,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - mProgressSpinner = view.findViewById(R.id.progress_spinner); - mProgressSpinner.setVisibility(View.GONE); - mAcceptButton = (Button) view.findViewById(R.id.terms_accept); -- mSendReportCheckBox = (CheckBox) view.findViewById(R.id.send_report_checkbox); - mTosAndPrivacy = (TextView) view.findViewById(R.id.tos_and_privacy); - - mAcceptButton.setOnClickListener((v) -> onTosButtonClicked()); -@@ -140,11 +138,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - if (!isVisibleToUser) { - // Restore original enabled & visibility states, in case the user returns to the page. - setSpinnerVisible(false); -- } else { -- // On certain versions of Android, the checkbox will appear unchecked upon revisiting -- // the page. Force it to the end state of the drawable animation as a work around. -- // crbug.com/666258 -- mSendReportCheckBox.jumpDrawablesToCurrentState(); - } - } - -@@ -167,7 +160,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - assert !isWaitingForNativeAndPolicyInit(); - - setSpinnerVisible(false); -- mSendReportCheckBox.setChecked(getUmaCheckBoxInitialState()); - } - - private void onTosButtonClicked() { -@@ -194,8 +186,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - RecordHistogram.recordTimesHistogram("MobileFre.TosFragment.SpinnerVisibleDuration", - SystemClock.elapsedRealtime() - mTosAcceptedTime); - } -- boolean allowCrashUpload = canShowUmaCheckBox() && mSendReportCheckBox.isChecked(); -- getPageDelegate().acceptTermsOfService(allowCrashUpload); - } - - private void setSpinnerVisible(boolean spinnerVisible) { -@@ -228,10 +218,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm - - mAcceptButton.setVisibility(visibility); - mTosAndPrivacy.setVisibility(visibility); -- // Avoid updating visibility if the UMA check box can't be shown right now. -- if (canShowUmaCheckBox()) { -- mSendReportCheckBox.setVisibility(visibility); -- } - } - - protected View getToSAndPrivacyText() { diff --git a/build/patches/kill-TOS.patch b/build/patches/kill-TOS.patch new file mode 100644 index 00000000..131049a9 --- /dev/null +++ b/build/patches/kill-TOS.patch @@ -0,0 +1,91 @@ +From: thermatk +Date: Fri, 22 Jun 2018 17:16:07 +0200 +Subject: kill TOS + +--- + .../android/java/res/layout/fre_tosanduma.xml | 9 ------ + chrome/android/java/res/values/dimens.xml | 1 - + .../firstrun/ToSAndUMAFirstRunFragment.java | 29 ------------------- + 3 files changed, 39 deletions(-) + +diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/java/res/layout/fre_tosanduma.xml +--- a/chrome/android/java/res/layout/fre_tosanduma.xml ++++ b/chrome/android/java/res/layout/fre_tosanduma.xml +@@ -83,15 +83,6 @@ + android:layout_marginTop="@dimen/fre_vertical_spacing" + android:layout_marginBottom="@dimen/fre_tos_bottom_margin" + android:lineSpacingMultiplier="1.4" +- android:textAppearance="@style/TextAppearance.TextMedium.Primary" /> +- +- + + +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 +@@ -125,7 +125,6 @@ + 36dp + 120dp + 110dp +- 12dp + 16dp + 48dp + 24dp +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java +@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImp + import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial; + import org.chromium.chrome.browser.ui.signin.fre.FreUMADialogCoordinator; + import org.chromium.chrome.browser.version.ChromeVersionInfo; +-import org.chromium.components.signin.ChildAccountStatus; + import org.chromium.ui.modaldialog.ModalDialogManagerHolder; + import org.chromium.ui.text.NoUnderlineClickableSpan; + import org.chromium.ui.text.SpanApplier; +@@ -115,37 +114,9 @@ public class ToSAndUMAFirstRunFragment + + final CharSequence tosText; + Bundle freProperties = getPageDelegate().getProperties(); +- @ChildAccountStatus.Status +- int childAccountStatus = freProperties.getInt( +- SyncConsentFirstRunFragment.CHILD_ACCOUNT_STATUS, ChildAccountStatus.NOT_CHILD); +- if (showUmaDialog) { +- final NoUnderlineClickableSpan clickableUMADialogSpan = +- new NoUnderlineClickableSpan(resources, (view1) -> openUmaDialog()); +- if (childAccountStatus == ChildAccountStatus.REGULAR_CHILD) { +- tosText = SpanApplier.applySpans( +- getString(R.string.signin_fre_footer_supervised_user), +- new SpanInfo("", "", clickableGoogleTermsSpan), +- new SpanInfo("", "", +- clickableFamilyLinkPrivacySpan), +- new SpanInfo("", "", clickableUMADialogSpan)); +- } else { +- tosText = SpanApplier.applySpans(getString(R.string.signin_fre_footer), +- new SpanInfo("", "", clickableGoogleTermsSpan), +- new SpanInfo("", "", clickableUMADialogSpan)); +- } +- } else { +- if (childAccountStatus == ChildAccountStatus.REGULAR_CHILD) { +- tosText = SpanApplier.applySpans( +- getString(R.string.fre_tos_and_privacy_child_account), +- new SpanInfo("", "", clickableGoogleTermsSpan), +- new SpanInfo("", "", clickableChromeAdditionalTermsSpan), +- new SpanInfo("", "", clickableFamilyLinkPrivacySpan)); +- } else { + tosText = SpanApplier.applySpans(getString(R.string.fre_tos), + new SpanInfo("", "", clickableGoogleTermsSpan), + new SpanInfo("", "", clickableChromeAdditionalTermsSpan)); +- } +- } + mTosAndPrivacy.setText(tosText); + + // If this page should be skipped, it can be one of the following cases: +-- +2.25.1 diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index ddeb3360..facf8985 100644 --- a/build/patches/kill-Vision.patch +++ b/build/patches/kill-Vision.patch @@ -13,7 +13,7 @@ Barcode, face and text detection APIs diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -313,8 +313,6 @@ android_library("chrome_java") { +@@ -318,8 +318,6 @@ android_library("chrome_java") { "$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", @@ -116,3 +116,5 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect + handle.close(); } } +-- +2.25.1 diff --git a/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch b/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch index a9acd22d..be7d9333 100644 --- a/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch +++ b/build/patches/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch @@ -19,3 +19,5 @@ diff --git a/third_party/blink/common/mime_util/mime_util.cc b/third_party/blink "text/comma-separated-values", "text/csv", "text/tab-separated-values", +-- +2.25.1 diff --git a/build/patches/net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch b/build/patches/net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch index a017cb47..4989a5e5 100644 --- a/build/patches/net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch +++ b/build/patches/net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch @@ -20,3 +20,5 @@ diff --git a/net/cert/x509_util.cc b/net/cert/x509_util.cc // Certificates made by CreateKeyAndSelfSignedCert will be signed using this // digest algorithm. +-- +2.25.1 diff --git a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch b/build/patches/openH264-enable-ARM-ARM64-optimizations.patch index db9be204..eeb02d77 100644 --- a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch +++ b/build/patches/openH264-enable-ARM-ARM64-optimizations.patch @@ -16,7 +16,7 @@ diff --git a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc b/ init_params.iRCMode = RC_OFF_MODE; } --#if BUILDFLAG(IS_CHROMEOS_ASH) +-#if defined(OS_CHROMEOS) - init_params.iMultipleThreadIdc = 0; -#else +#if BUILDFLAG(OS_MACOSX) @@ -52,7 +52,7 @@ diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn + if (is_chromeos_ash || is_android) { + if (current_cpu == "arm") { sources += openh264_processing_sources_asm_arm -+ } else { ++ } else if (current_cpu == "arm64") { + sources += openh264_processing_sources_asm_arm64 + } } @@ -66,9 +66,11 @@ diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn + if (is_chromeos_ash || is_android) { + if (current_cpu == "arm") { sources += openh264_encoder_sources_asm_arm -+ } else { ++ } else if (current_cpu == "arm64") { + sources += openh264_encoder_sources_asm_arm64 + } } include_dirs = openh264_encoder_include_dirs +-- +2.25.1 diff --git a/build/patches/prefs-always-prompt-for-download-directory-by-default.patch b/build/patches/prefs-always-prompt-for-download-directory-by-default.patch index 0540d165..1b3a109f 100644 --- a/build/patches/prefs-always-prompt-for-download-directory-by-default.patch +++ b/build/patches/prefs-always-prompt-for-download-directory-by-default.patch @@ -29,7 +29,7 @@ TLDR: Do not let files sneak onto the disk too easily. diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc --- a/chrome/browser/download/download_prefs.cc +++ b/chrome/browser/download/download_prefs.cc -@@ -275,7 +275,7 @@ void DownloadPrefs::RegisterProfilePrefs( +@@ -266,7 +266,7 @@ void DownloadPrefs::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kPromptForDownload, @@ -38,3 +38,5 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterStringPref(prefs::kDownloadExtensionsToOpen, std::string()); registry->RegisterListPref(prefs::kDownloadExtensionsToOpenByPolicy, {}); +-- +2.25.1 diff --git a/build/patches/prefs-disable-signinallowed-by-default.patch b/build/patches/prefs-disable-signinallowed-by-default.patch index 5d44f480..187a5531 100644 --- a/build/patches/prefs-disable-signinallowed-by-default.patch +++ b/build/patches/prefs-disable-signinallowed-by-default.patch @@ -18,3 +18,5 @@ diff --git a/components/signin/internal/identity_manager/primary_account_manager registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false); } +-- +2.25.1 diff --git a/build/patches/profile-resetter-do-not-tick-send-settings-by-default.patch b/build/patches/profile-resetter-do-not-tick-send-settings-by-default.patch index 3dfbee90..66b6b955 100644 --- a/build/patches/profile-resetter-do-not-tick-send-settings-by-default.patch +++ b/build/patches/profile-resetter-do-not-tick-send-settings-by-default.patch @@ -25,3 +25,5 @@ diff --git a/chrome/browser/profile_resetter/reset_report_uploader.cc b/chrome/b GURL GetClientReportUrl(const std::string& report_url) { GURL url(report_url); +-- +2.25.1 diff --git a/build/patches/promo-disable-Google-promotion-fetching.patch b/build/patches/promo-disable-Google-promotion-fetching.patch index 272f0423..8425ad8e 100644 --- a/build/patches/promo-disable-Google-promotion-fetching.patch +++ b/build/patches/promo-disable-Google-promotion-fetching.patch @@ -30,3 +30,5 @@ diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signi return url; } +-- +2.25.1 diff --git a/build/patches/translate-disable-fetching-of-translate-languages-from-server.patch b/build/patches/translate-disable-fetching-of-translate-languages-from-server.patch index 09102f6e..9c17cc6d 100644 --- a/build/patches/translate-disable-fetching-of-translate-languages-from-server.patch +++ b/build/patches/translate-disable-fetching-of-translate-languages-from-server.patch @@ -26,3 +26,5 @@ diff --git a/components/translate/core/browser/translate_language_list.cc b/comp } void TranslateLanguageList::SetResourceRequestsAllowed(bool allowed) { +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-Gaia.patch b/build/patches/ungoogled-chromium-Disable-Gaia.patch index 1e07d4ae..4e857082 100644 --- a/build/patches/ungoogled-chromium-Disable-Gaia.patch +++ b/build/patches/ungoogled-chromium-Disable-Gaia.patch @@ -30,7 +30,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_ auto resource_request = std::make_unique(); resource_request->url = gaia_gurl; original_url_ = gaia_gurl; -@@ -352,6 +353,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( +@@ -353,6 +354,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( base::BindOnce(&GaiaAuthFetcher::OnURLLoadComplete, base::Unretained(this)), kMaxMessageSize); @@ -38,3 +38,5 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_ } // static +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch b/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch index 7a5a8859..5cdef2ec 100644 --- a/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch +++ b/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch @@ -277,7 +277,7 @@ diff --git a/components/page_load_metrics/browser/page_load_metrics_util.cc b/co diff --git a/components/page_load_metrics/common/page_load_metrics_util.cc b/components/page_load_metrics/common/page_load_metrics_util.cc --- a/components/page_load_metrics/common/page_load_metrics_util.cc +++ b/components/page_load_metrics/common/page_load_metrics_util.cc -@@ -36,38 +36,7 @@ const char* kBufferTimerDelayParamName = "BufferTimerDelayMillis"; +@@ -24,38 +24,7 @@ const int kExtraBufferTimerDelayMillis = 50; } // namespace absl::optional GetGoogleHostnamePrefix(const GURL& url) { @@ -364,3 +364,5 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc return false; } +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch index c5cc307f..6f2955a1 100644 --- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch +++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch @@ -13,7 +13,7 @@ Fixes https://github.com/Eloston/ungoogled-chromium/issues/302 diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc --- a/components/network_time/network_time_tracker.cc +++ b/components/network_time/network_time_tracker.cc -@@ -277,7 +277,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, +@@ -265,7 +265,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, } bool NetworkTimeTracker::AreTimeFetchesEnabled() const { @@ -22,3 +22,5 @@ diff --git a/components/network_time/network_time_tracker.cc b/components/networ } NetworkTimeTracker::FetchBehavior NetworkTimeTracker::GetFetchBehavior() const { +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch index 7cb469cc..982d9f8d 100644 --- a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch +++ b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch @@ -267,3 +267,5 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co } bool IsGoogleHomePageUrl(const GURL& url) { +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-intranet-redirect-detector.patch b/build/patches/ungoogled-chromium-Disable-intranet-redirect-detector.patch index 339ec0aa..9196e3ae 100644 --- a/build/patches/ungoogled-chromium-Disable-intranet-redirect-detector.patch +++ b/build/patches/ungoogled-chromium-Disable-intranet-redirect-detector.patch @@ -23,3 +23,5 @@ diff --git a/chrome/browser/intranet_redirect_detector.cc b/chrome/browser/intra DCHECK(simple_loaders_.empty() && resulting_origins_.empty()); +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 350a9b64..178beb84 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -11,7 +11,7 @@ Added some Bromite-specific further improvements diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1393,8 +1393,6 @@ static_library("browser") { +@@ -1398,8 +1398,6 @@ static_library("browser") { "profiles/profile_attributes_storage.cc", "profiles/profile_attributes_storage.h", "profiles/profile_attributes_storage_observer.h", @@ -36,3 +36,5 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse #if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) // TODO(crbug.com/1100835): After launch, remove the treatment of placeholder // avatars from GetHighResAvatar() and from any other places. +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 8737864a..785faa7d 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -113,7 +113,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 -@@ -1257,9 +1257,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1290,9 +1290,6 @@ Your Google account may have other forms of browsing history like searches and a Websites will show text in your preferred language, when possible. @@ -167,3 +167,5 @@ diff --git a/components/translate/core/browser/translate_script.cc b/components/ // Load embedded translate.js. data_.append(ui::ResourceBundle::GetSharedInstance().LoadDataResourceString( +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch index 6bb8cbaf..14c68c97 100644 --- a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch +++ b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch @@ -4,13 +4,12 @@ Subject: ungoogled-chromium: Disable untraceable URLs Disable additional URLs that are not caught by the "trk" scheme --- - chrome/browser/android/rlz/rlz_ping_handler.cc | 2 +- - chrome/browser/plugins/plugins_resource_service.cc | 5 +---- - .../content/browser/client_side_model_loader.cc | 6 ++---- - rlz/lib/financial_ping.cc | 4 ++-- - rlz/lib/lib_values.cc | 1 - - rlz/lib/lib_values.h | 1 - - 6 files changed, 6 insertions(+), 13 deletions(-) + chrome/browser/android/rlz/rlz_ping_handler.cc | 2 +- + chrome/browser/plugins/plugins_resource_service.cc | 5 +---- + rlz/lib/financial_ping.cc | 4 ++-- + rlz/lib/lib_values.cc | 1 - + rlz/lib/lib_values.h | 1 - + 5 files changed, 4 insertions(+), 9 deletions(-) diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/android/rlz/rlz_ping_handler.cc --- a/chrome/browser/android/rlz/rlz_ping_handler.cc @@ -46,36 +45,6 @@ diff --git a/chrome/browser/plugins/plugins_resource_service.cc b/chrome/browser } } // namespace -diff --git a/components/safe_browsing/content/browser/client_side_model_loader.cc b/components/safe_browsing/content/browser/client_side_model_loader.cc ---- a/components/safe_browsing/content/browser/client_side_model_loader.cc -+++ b/components/safe_browsing/content/browser/client_side_model_loader.cc -@@ -61,8 +61,6 @@ std::string ReadFileIntoString(base::FilePath path) { - // Model Loader strings - const size_t ModelLoader::kMaxModelSizeBytes = 150 * 1024; - const int ModelLoader::kClientModelFetchIntervalMs = 3600 * 1000; --const char ModelLoader::kClientModelUrlPrefix[] = -- "https://ssl.gstatic.com/safebrowsing/csd/"; - const char ModelLoader::kClientModelNamePattern[] = - "client_model_v5%s_variation_%d.pb"; - #if !BUILDFLAG(FULL_SAFE_BROWSING) -@@ -123,7 +121,7 @@ ModelLoader::ModelLoader( - scoped_refptr url_loader_factory, - bool is_extended_reporting) - : name_(FillInModelName(is_extended_reporting, GetModelNumber())), -- url_(kClientModelUrlPrefix + name_), -+ url_("about:blank"), - update_renderers_callback_(update_renderers_callback), - url_loader_factory_(url_loader_factory), - last_client_model_status_(ClientModelStatus::MODEL_NEVER_FETCHED) { -@@ -136,7 +134,7 @@ ModelLoader::ModelLoader( - scoped_refptr url_loader_factory, - const std::string& model_name) - : name_(model_name), -- url_(kClientModelUrlPrefix + name_), -+ url_("about:blank"), - update_renderers_callback_(update_renderers_callback), - url_loader_factory_(url_loader_factory), - last_client_model_status_(ClientModelStatus::MODEL_NEVER_FETCHED) { 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 @@ -119,3 +88,5 @@ diff --git a/rlz/lib/lib_values.h b/rlz/lib/lib_values.h extern const int kFinancialPort; +-- +2.25.1 diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index e14bf015..cfd519c2 100644 --- a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch +++ b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch @@ -51,3 +51,5 @@ diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser std::unique_ptr post_data(new std::string()); SetupMultipart(post_data.get(), compressed_log, upload_done_data.paths.incoming_rtp_dump, +-- +2.25.1 diff --git a/build/patches/updater-disable-updater-pings.patch b/build/patches/updater-disable-updater-pings.patch index f9309716..852156bb 100644 --- a/build/patches/updater-disable-updater-pings.patch +++ b/build/patches/updater-disable-updater-pings.patch @@ -59,3 +59,5 @@ diff --git a/components/component_updater/configurator_impl.h b/components/compo const GURL url_source_override_; const double initial_delay_; }; +-- +2.25.1 diff --git a/build/patches/use-Google-Chrome-branding-for-client-hints.patch b/build/patches/use-Google-Chrome-branding-for-client-hints.patch new file mode 100644 index 00000000..6f2d3258 --- /dev/null +++ b/build/patches/use-Google-Chrome-branding-for-client-hints.patch @@ -0,0 +1,21 @@ +From: Zoraver Kang +Date: Sun, 10 Oct 2021 21:59:16 -0400 +Subject: use Google Chrome branding for client hints + +--- + components/embedder_support/user_agent_utils.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc +--- a/components/embedder_support/user_agent_utils.cc ++++ b/components/embedder_support/user_agent_utils.cc +@@ -143,6 +143,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( + int major_version_number; + base::StringToInt(major_version, &major_version_number); + absl::optional brand; ++ brand = "Google Chrome"; + #if !BUILDFLAG(CHROMIUM_BRANDING) + brand = version_info::GetProductName(); + #endif +-- +2.25.1 diff --git a/build/patches/webview-Hard-no-to-persistent-histograms.patch b/build/patches/webview-Hard-no-to-persistent-histograms.patch index fb224855..de38c437 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -19,10 +19,12 @@ diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browse @@ -11,9 +11,4 @@ #include "components/metrics/persistent_histograms.h" - void AwFieldTrials::SetupFieldTrials() { + void AwFieldTrials::SetUpFieldTrials() { - // Persistent histograms must be enabled as soon as possible. - base::FilePath metrics_dir; - if (base::PathService::Get(base::DIR_ANDROID_APP_DATA, &metrics_dir)) { - InstantiatePersistentHistograms(metrics_dir); - } } +-- +2.25.1 diff --git a/build/ruleset_converter.gn_args b/build/ruleset_converter.gn_args new file mode 100644 index 00000000..50a22c1d --- /dev/null +++ b/build/ruleset_converter.gn_args @@ -0,0 +1,43 @@ +android_channel="stable" +blink_symbol_level=1 +chrome_pgo_phase=0 +dcheck_always_on=false +dfmify_dev_ui=false +disable_android_lint=true +disable_autofill_assistant_dfm=true +disable_fieldtrial_testing_config=true +disable_tab_ui_dfm=true +enable_av1_decoder=true +enable_dav1d_decoder=true +enable_gvr_services=false +enable_hangout_services_extension=false +enable_iterator_debugging=false +enable_mdns=false +enable_mse_mpeg2ts_stream_parser=true +enable_nacl=false +enable_nacl_nonsfi=false +enable_platform_dolby_vision=true +enable_platform_hevc=true +enable_remoting=false +enable_reporting=false +enable_vr=false +exclude_unwind_tables=false +ffmpeg_branding="Chrome" +icu_use_data_file=true +is_cfi=true +is_component_build=false +is_debug=false +is_official_build=true +proprietary_codecs=true +rtc_build_examples=false +safe_browsing_mode=0 +symbol_level=1 +system_webview_package_name="org.bromite.webview" +use_cfi_cast = true +use_debug_fission=true +use_errorprone_java_compiler=false +use_gnome_keyring=false +use_official_google_api_keys=false +use_rtti=false +use_sysroot=false +webview_includes_weblayer=false