Browse Source

Update to Chromium 108.0.5359.71

Blaise 1 year ago
parent
commit
352a8844b0
59 changed files with 829 additions and 694 deletions
  1. 1 1
      chromium_version.txt
  2. 114 140
      domain_substitution.list
  3. 6 5
      patches/core/debian/disable/unrar.patch
  4. 26 26
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  5. 2 2
      patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch
  6. 4 3
      patches/core/inox-patchset/0021-disable-rlz.patch
  7. 6 6
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  8. 6 6
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  9. 47 7
      patches/core/ungoogled-chromium/disable-crash-reporter.patch
  10. 1 1
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  11. 1 6
      patches/core/ungoogled-chromium/disable-gaia.patch
  12. 3 3
      patches/core/ungoogled-chromium/disable-gcm.patch
  13. 5 6
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  14. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  15. 1 1
      patches/core/ungoogled-chromium/disable-network-time-tracker.patch
  16. 12 12
      patches/core/ungoogled-chromium/disable-privacy-sandbox.patch
  17. 1 1
      patches/core/ungoogled-chromium/disable-signin.patch
  18. 28 26
      patches/core/ungoogled-chromium/doh-changes.patch
  19. 233 134
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  20. 125 113
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  21. 2 1
      patches/core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch
  22. 11 20
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  23. 15 15
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  24. 4 4
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  25. 4 4
      patches/extra/bromite/flag-max-connections-per-host.patch
  26. 1 1
      patches/extra/debian/disable/welcome-page.patch
  27. 3 3
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  28. 16 15
      patches/extra/inox-patchset/0008-restore-classic-ntp.patch
  29. 1 1
      patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
  30. 2 2
      patches/extra/iridium-browser/Remove-EV-certificates.patch
  31. 8 5
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  32. 1 1
      patches/extra/iridium-browser/updater-disable-auto-update.patch
  33. 5 5
      patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
  34. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
  35. 8 8
      patches/extra/ungoogled-chromium/add-flag-for-disabling-link-drag.patch
  36. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  37. 10 10
      patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
  38. 10 10
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  39. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch
  40. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
  41. 7 7
      patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch
  42. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  43. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  44. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
  45. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
  46. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch
  47. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-side-panel-button.patch
  48. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch
  49. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  50. 8 8
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  51. 1 1
      patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
  52. 7 7
      patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch
  53. 2 2
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  54. 5 5
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  55. 1 1
      patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
  56. 2 2
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  57. 1 1
      patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch
  58. 3 3
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  59. 46 30
      pruning.list

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-107.0.5304.122
+108.0.5359.71

File diff suppressed because it is too large
+ 114 - 140
domain_substitution.list


+ 6 - 5
patches/core/debian/disable/unrar.patch

@@ -4,7 +4,7 @@ bug: http://bugs.debian.org/914487
 
 --- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
 +++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
-@@ -97,7 +97,7 @@ void FileAnalyzer::Start(const base::Fil
+@@ -95,7 +95,7 @@ void FileAnalyzer::Start(const base::Fil
    if (inspection_type == DownloadFileType::ZIP) {
      StartExtractZipFeatures();
    } else if (inspection_type == DownloadFileType::RAR) {
@@ -55,14 +55,14 @@ bug: http://bugs.debian.org/914487
    if (is_linux || is_win) {
      source_set("document_analyzer") {
        sources = [
-@@ -189,7 +156,6 @@ source_set("safe_browsing") {
+@@ -191,7 +158,6 @@ source_set("safe_browsing") {
        ":archive_analyzer_results",
        ":binary_feature_extractor",
        ":download_type_util",
 -      ":rar_analyzer",
        "//components/safe_browsing/core/common",
+       "//third_party/lzma_sdk/google:seven_zip_reader",
      ]
- 
 --- a/chrome/services/file_util/safe_archive_analyzer.cc
 +++ b/chrome/services/file_util/safe_archive_analyzer.cc
 @@ -6,7 +6,6 @@
@@ -70,10 +70,10 @@ bug: http://bugs.debian.org/914487
  #include "build/build_config.h"
  #include "chrome/common/safe_browsing/archive_analyzer_results.h"
 -#include "chrome/common/safe_browsing/rar_analyzer.h"
+ #include "chrome/common/safe_browsing/seven_zip_analyzer.h"
  #include "chrome/common/safe_browsing/zip_analyzer.h"
  
- #if BUILDFLAG(IS_MAC)
-@@ -46,8 +45,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile
+@@ -47,9 +46,8 @@ void SafeArchiveAnalyzer::AnalyzeRarFile
                                           AnalyzeRarFileCallback callback) {
    DCHECK(rar_file.IsValid());
  
@@ -83,3 +83,4 @@ bug: http://bugs.debian.org/914487
 -      std::move(rar_file), std::move(temporary_file), &results);
    std::move(callback).Run(results);
  }
+ 

+ 26 - 26
patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2251,7 +2251,6 @@ static_library("browser") {
+@@ -2266,7 +2266,6 @@ static_library("browser") {
      "//components/reputation/core:proto",
      "//components/resources",
      "//components/safe_browsing/content/browser",
@@ -8,7 +8,7 @@
      "//components/safe_browsing/content/browser:safe_browsing_service",
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/web_ui",
-@@ -3720,8 +3719,6 @@ static_library("browser") {
+@@ -3733,8 +3732,6 @@ static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -50,7 +50,7 @@
  #include "chrome/browser/shell_integration.h"
  #include "chrome/browser/site_isolation/prefs_observer.h"
  #include "chrome/browser/ssl/secure_origin_prefs_observer.h"
-@@ -406,8 +405,6 @@ void BrowserProcessImpl::StartTearDown()
+@@ -408,8 +407,6 @@ void BrowserProcessImpl::StartTearDown()
  
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
@@ -74,7 +74,7 @@
  subresource_filter::RulesetService*
  BrowserProcessImpl::subresource_filter_ruleset_service() {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1274,26 +1263,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1278,26 +1267,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -123,7 +123,7 @@
        subresource_filter_ruleset_service_;
 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
 +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -66,7 +66,6 @@
+@@ -67,7 +67,6 @@
  #include "chrome/browser/profiles/keep_alive/profile_keep_alive_types.h"
  #include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h"
  #include "chrome/browser/profiles/profile.h"
@@ -131,7 +131,7 @@
  #include "chrome/browser/safe_browsing/verdict_cache_manager_factory.h"
  #include "chrome/browser/search_engines/template_url_service_factory.h"
  #include "chrome/browser/share/share_history.h"
-@@ -638,10 +637,6 @@ void ChromeBrowsingDataRemoverDelegate::
+@@ -641,10 +640,6 @@ void ChromeBrowsingDataRemoverDelegate::
      base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
  
      network::mojom::NetworkContext* safe_browsing_context = nullptr;
@@ -144,7 +144,7 @@
      browsing_data::RemoveFederatedSiteSettingsData(delete_begin_, delete_end_,
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1008,34 +1008,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -1018,34 +1018,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -179,7 +179,7 @@
  #if BUILDFLAG(ENABLE_EXTENSIONS)
  
  AppLoadedInTabSource ClassifyAppLoadedInTabSource(
-@@ -4605,14 +4577,9 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4635,14 +4607,9 @@ ChromeContentBrowserClient::CreateThrott
    throttles.push_back(std::make_unique<PolicyBlocklistNavigationThrottle>(
        handle, handle->GetWebContents()->GetBrowserContext()));
  
@@ -195,7 +195,7 @@
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp),
        base::BindOnce(
            &ShouldIgnoreSslInterstitialBecauseNavigationDefaultedToHttps)));
-@@ -4651,16 +4618,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4681,16 +4648,6 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -212,7 +212,7 @@
    if (base::FeatureList::IsEnabled(safe_browsing::kDelayedWarnings)) {
      throttles.push_back(
          std::make_unique<safe_browsing::DelayedWarningNavigationThrottle>(
-@@ -4900,8 +4857,6 @@ void ChromeContentBrowserClient::Overrid
+@@ -4936,8 +4893,6 @@ void ChromeContentBrowserClient::Overrid
  void ChromeContentBrowserClient::InitOnUIThread() {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
  
@@ -280,7 +280,7 @@
  void ChromeDownloadManagerDelegate::SanitizeDownloadParameters(
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -102,7 +102,7 @@ class DownloadItemModelData : public bas
+@@ -107,7 +107,7 @@ class DownloadItemModelData : public bas
  
    // Danger level of the file determined based on the file type and whether
    // there was a user action associated with the download.
@@ -289,7 +289,7 @@
  
    // Whether the download is currently being revived.
    bool is_being_revived_;
-@@ -150,7 +150,7 @@ DownloadItemModelData* DownloadItemModel
+@@ -155,7 +155,7 @@ DownloadItemModelData* DownloadItemModel
  DownloadItemModelData::DownloadItemModelData()
      : should_show_in_shelf_(true),
        was_ui_notified_(false),
@@ -298,7 +298,7 @@
        is_being_revived_(false) {}
  
  #if BUILDFLAG(FULL_SAFE_BROWSING)
-@@ -472,13 +472,13 @@ void DownloadItemModel::SetShouldPreferO
+@@ -490,13 +490,13 @@ void DownloadItemModel::SetShouldPreferO
    data->should_prefer_opening_in_browser_ = preference;
  }
  
@@ -315,7 +315,7 @@
    DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
    data->danger_level_ = danger_level;
  }
-@@ -701,9 +701,6 @@ bool DownloadItemModel::IsCommandEnabled
+@@ -719,9 +719,6 @@ bool DownloadItemModel::IsCommandEnabled
        // filename. Don't base an "Always open" decision based on it. Also
        // exclude extensions.
        return download_->CanOpenDownload() &&
@@ -343,7 +343,7 @@
    }
  }
  
-@@ -458,10 +451,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
+@@ -450,10 +443,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
  bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
      const base::FilePath& file_name) {
    base::FilePath::StringType extension = file_name.Extension();
@@ -370,7 +370,7 @@
    // If no mime type or explicitly specified a name, don't replace file
    // extension.
    if (sniffed_mime_type.empty() || !suggested_filename.empty())
-@@ -1199,30 +1192,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -1201,30 +1194,7 @@ DownloadFileType::DangerLevel DownloadTa
        download_->HasUserGesture())
      return DownloadFileType::NOT_DANGEROUS;
  
@@ -548,7 +548,7 @@
            referrer_entries)));
 --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
 +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
-@@ -720,18 +720,6 @@ void WebstorePrivateBeginInstallWithMani
+@@ -722,18 +722,6 @@ void WebstorePrivateBeginInstallWithMani
  
  void WebstorePrivateBeginInstallWithManifest3Function::
      ReportFrictionAcceptedEvent() {
@@ -567,7 +567,7 @@
  }
  
  void WebstorePrivateBeginInstallWithManifest3Function::OnInstallPromptDone(
-@@ -1201,55 +1189,9 @@ WebstorePrivateGetReferrerChainFunction:
+@@ -1215,55 +1203,9 @@ WebstorePrivateGetReferrerChainFunction:
  
  ExtensionFunction::ResponseAction
  WebstorePrivateGetReferrerChainFunction::Run() {
@@ -696,7 +696,7 @@
    // SimpleURLLoader -> (owned loader, extension id).
 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
 +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -881,9 +881,6 @@ void ChromeMetricsServiceClient::Registe
+@@ -895,9 +895,6 @@ void ChromeMetricsServiceClient::Registe
    metrics_service_->RegisterMetricsProvider(
        std::make_unique<HttpsEngagementMetricsProvider>());
  
@@ -708,7 +708,7 @@
        std::make_unique<UpgradeMetricsProvider>());
 --- a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
 +++ b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
-@@ -137,9 +137,6 @@ void TrialComparisonCertVerifierControll
+@@ -130,9 +130,6 @@ void TrialComparisonCertVerifierControll
    std::string serialized_report;
    if (!report.Serialize(&serialized_report))
      return;
@@ -720,7 +720,7 @@
  // static
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -91,7 +91,6 @@
+@@ -92,7 +92,6 @@
  #include "chrome/browser/push_messaging/push_messaging_service_factory.h"
  #include "chrome/browser/push_messaging/push_messaging_service_impl.h"
  #include "chrome/browser/reduce_accept_language/reduce_accept_language_factory.h"
@@ -728,7 +728,7 @@
  #include "chrome/browser/sessions/exit_type_service.h"
  #include "chrome/browser/sharing/sharing_service_factory.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
-@@ -633,17 +632,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -625,17 +624,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -776,7 +776,7 @@
  
    if (safe_browsing_mode != 0) {
      # "Safe Browsing Basic" files used for safe browsing in full mode
-@@ -466,6 +468,7 @@ static_library("advanced_protection") {
+@@ -476,6 +478,7 @@ static_library("advanced_protection") {
  }
  
  source_set("metrics_collector") {
@@ -784,7 +784,7 @@
    sources = [
      "safe_browsing_metrics_collector_factory.cc",
      "safe_browsing_metrics_collector_factory.h",
-@@ -483,6 +486,7 @@ source_set("metrics_collector") {
+@@ -493,6 +496,7 @@ source_set("metrics_collector") {
      "//components/safe_browsing/core/common:safe_browsing_prefs",
      "//content/public/browser",
    ]
@@ -886,7 +886,7 @@
  
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -4403,7 +4403,6 @@ static_library("ui") {
+@@ -4437,7 +4437,6 @@ static_library("ui") {
        "views/download/bubble/download_dialog_view.h",
        "views/download/bubble/download_toolbar_button_view.cc",
        "views/download/bubble/download_toolbar_button_view.h",
@@ -896,7 +896,7 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -418,22 +418,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -414,22 +414,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    //     See https://crbug.com/910288.
    resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
        web_contents);

+ 2 - 2
patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch

@@ -12,5 +12,5 @@
 -                                     0x00, 0x00, 0x88, 0x88};
 +                                     0x00, 0x00, 0x00, 0x01};
  
- enum DnsResolveStatus {
-   RESOLVE_STATUS_DNS_SUCCESS = 0,
+ // ICANN uses this localhost address to indicate a name collision.
+ //

+ 4 - 3
patches/core/inox-patchset/0021-disable-rlz.patch

@@ -2,7 +2,7 @@
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -484,14 +484,6 @@ group("gn_all") {
+@@ -468,14 +468,6 @@ group("gn_all") {
      deps += [ "//chromeos:chromeos_unittests" ]
    }
  
@@ -19,11 +19,12 @@
      deps += [
 --- a/rlz/buildflags/buildflags.gni
 +++ b/rlz/buildflags/buildflags.gni
-@@ -7,6 +7,6 @@ import("//build/config/chromeos/ui_mode.
+@@ -7,7 +7,7 @@ import("//build/config/chromeos/ui_mode.
  
  # Whether we are using the rlz library or not.  Platforms like Android send
  # rlz codes for searches but do not use the library.
 -enable_rlz_support = is_win || is_apple || is_chromeos_ash
 +enable_rlz_support = false
  
- enable_rlz = is_chrome_branded && enable_rlz_support
+ declare_args() {
+   enable_rlz = is_chrome_branded && enable_rlz_support

+ 6 - 6
patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch

@@ -79,7 +79,7 @@ by default.
    if base_tag != '':
 --- a/chrome/browser/ash/customization/customization_document.cc
 +++ b/chrome/browser/ash/customization/customization_document.cc
-@@ -199,7 +199,7 @@ std::string ReadFileInBackground(const b
+@@ -200,7 +200,7 @@ std::string ReadFileInBackground(const b
  
  // Template URL where to fetch OEM services customization manifest from.
  const char ServicesCustomizationDocument::kManifestUrl[] =
@@ -342,7 +342,7 @@ by default.
  
 --- a/components/google/core/common/google_util.cc
 +++ b/components/google/core/common/google_util.cc
-@@ -141,7 +141,7 @@ bool IsGoogleSearchSubdomainUrl(const GU
+@@ -139,7 +139,7 @@ bool IsGoogleSearchSubdomainUrl(const GU
  
  // Global functions -----------------------------------------------------------
  
@@ -433,8 +433,8 @@ by default.
 -const char kSecurityOrigin[] = "https://translate.googleapis.com/";
 +const char kSecurityOrigin[] = "trk:220:https://translate.googleapis.com/";
  
- const base::Feature kTranslateSubFrames{"TranslateSubFrames",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kTranslateSubFrames,
+              "TranslateSubFrames",
 --- a/components/variations/variations_url_constants.cc
 +++ b/components/variations/variations_url_constants.cc
 @@ -8,7 +8,7 @@ namespace variations {
@@ -500,8 +500,8 @@ by default.
    extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
 --- a/google_apis/gaia/gaia_constants.cc
 +++ b/google_apis/gaia/gaia_constants.cc
-@@ -17,149 +17,149 @@ const char kUnexpectedServiceResponse[]
- const char kGaiaService[] = "gaia";
+@@ -14,149 +14,149 @@ const char kChromeSource[] = "ChromiumBr
+ const char kUnexpectedServiceResponse[] = "UnexpectedServiceResponse";
  
  // OAuth scopes.
 -const char kOAuth1LoginScope[] = "https://www.google.com/accounts/OAuthLogin";

+ 6 - 6
patches/core/ungoogled-chromium/block-trk-and-subdomains.patch

@@ -13,9 +13,9 @@
      return metrics::OmniboxInputType::URL;
 --- a/chrome/browser/history/history_utils.cc
 +++ b/chrome/browser/history/history_utils.cc
-@@ -21,6 +21,7 @@ bool CanAddURLToHistory(const GURL& url)
-       url.SchemeIs(content::kChromeDevToolsScheme) ||
+@@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url)
        url.SchemeIs(content::kChromeUIScheme) ||
+       url.SchemeIs(content::kChromeUIUntrustedScheme) ||
        url.SchemeIs(content::kViewSourceScheme) ||
 +      url.SchemeIs(url::kTraceScheme) ||
        url.SchemeIs(chrome::kChromeNativeScheme) ||
@@ -35,7 +35,7 @@
  
 --- a/components/omnibox/browser/autocomplete_input.cc
 +++ b/components/omnibox/browser/autocomplete_input.cc
-@@ -571,7 +571,8 @@ void AutocompleteInput::ParseForEmphasiz
+@@ -573,7 +573,8 @@ void AutocompleteInput::ParseForEmphasiz
    // For the view-source and blob schemes, we should emphasize the host of the
    // URL qualified by the view-source or blob prefix.
    if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
@@ -70,7 +70,7 @@
    // other origins, so we should not treat them as web safe. Remove callers of
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1009,6 +1009,8 @@ component("net") {
+@@ -1014,6 +1014,8 @@ component("net") {
      "url_request/report_sender.h",
      "url_request/static_http_user_agent_settings.cc",
      "url_request/static_http_user_agent_settings.h",
@@ -215,7 +215,7 @@
  COMPONENT_EXPORT(URL) extern const char kUuidInPackageScheme[];
 --- a/url/url_util.cc
 +++ b/url/url_util.cc
-@@ -73,7 +73,7 @@ struct SchemeRegistry {
+@@ -74,7 +74,7 @@ struct SchemeRegistry {
  
    // Schemes that do not trigger mixed content warning.
    std::vector<std::string> secure_schemes = {
@@ -224,7 +224,7 @@
    };
  
    // Schemes that normal pages cannot link to or access (i.e., with the same
-@@ -88,6 +88,7 @@ struct SchemeRegistry {
+@@ -89,6 +89,7 @@ struct SchemeRegistry {
        kAboutScheme,
        kJavaScriptScheme,
        kDataScheme,

+ 47 - 7
patches/core/ungoogled-chromium/disable-crash-reporter.patch

@@ -1,14 +1,54 @@
 # Disable some background communication with clients2.google.com
 
---- a/components/crash/core/app/crashpad_linux.cc
-+++ b/components/crash/core/app/crashpad_linux.cc
-@@ -60,8 +60,7 @@ void SetFirstChanceExceptionHandler(bool
+--- a/chrome/browser/chrome_content_browser_client.cc
++++ b/chrome/browser/chrome_content_browser_client.cc
+@@ -2364,7 +2364,8 @@ void ChromeContentBrowserClient::AppendE
+     command_line->AppendSwitchASCII(switches::kMetricsClientID,
+                                     client_info->client_id);
+   }
+-#elif BUILDFLAG(IS_POSIX)
++#endif
++#if(0)
+ #if BUILDFLAG(IS_ANDROID)
+   bool enable_crash_reporter = true;
+ #elif BUILDFLAG(IS_CHROMEOS)
+--- a/components/crash/core/app/crashpad.cc
++++ b/components/crash/core/app/crashpad.cc
+@@ -76,6 +76,12 @@ void InitializeDatabasePath(const base::
  }
  
- bool IsCrashpadEnabled() {
--  return base::CommandLine::ForCurrentProcess()->HasSwitch(
--      ::switches::kEnableCrashpad);
+ bool InitializeCrashpadImpl(bool initial_client,
++    const std::string& a, const std::string& b, const base::FilePath& c,
++    const std::vector<std::string>& d, bool e) {
 +  return false;
++}
++[[maybe_unused]]
++bool DeadInitializeCrashpadImpl(bool initial_client,
+                             const std::string& process_type,
+                             const std::string& user_data_dir,
+                             const base::FilePath& exe_path,
+--- a/components/gwp_asan/client/gwp_asan.cc
++++ b/components/gwp_asan/client/gwp_asan.cc
+@@ -133,6 +133,11 @@ size_t AllocationSamplingFrequency(const
+ 
+ // Exported for testing.
+ GWP_ASAN_EXPORT absl::optional<AllocatorSettings> GetAllocatorSettings(
++    const base::Feature& a, bool b) {
++  return absl::nullopt;
++}
++[[maybe_unused]]
++absl::optional<AllocatorSettings> DeadGetAllocatorSettings(
+     const base::Feature& feature,
+     bool boost_sampling) {
+   if (!base::FeatureList::IsEnabled(feature))
+--- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
++++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
+@@ -733,8 +733,6 @@ void CrashpadClient::CrashWithoutDump(co
+ // static
+ void CrashpadClient::SetFirstChanceExceptionHandler(
+     FirstChanceHandler handler) {
+-  DCHECK(SignalHandler::Get());
+-  SignalHandler::Get()->SetFirstChanceHandler(handler);
  }
  
- bool GetHandlerSocket(int* fd, pid_t* pid) {
+ void CrashpadClient::SetUnhandledSignals(const std::set<int>& signals) {

+ 1 - 1
patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch

@@ -32,7 +32,7 @@
 +<link href="chrome://resources/css/roboto.css" rel="stylesheet">
  <link rel="stylesheet" href="../../../../../components/security_interstitials/core/common/resources/interstitial_core.css">
  <link rel="stylesheet" href="supervised_user_block_interstitial.css">
- <script src="../../../../../ui/webui/resources/js/cr.js"></script>
+ <script src="supervised_user_block_interstitial.js"></script>
 --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
 +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
 @@ -299,7 +299,7 @@ bool DomDistillerViewerSource::ShouldSer

+ 1 - 6
patches/core/ungoogled-chromium/disable-gaia.patch

@@ -3,7 +3,7 @@
 
 --- a/google_apis/gaia/gaia_auth_fetcher.cc
 +++ b/google_apis/gaia/gaia_auth_fetcher.cc
-@@ -285,64 +285,6 @@ void GaiaAuthFetcher::CreateAndStartGaia
+@@ -266,59 +266,6 @@ void GaiaAuthFetcher::CreateAndStartGaia
      network::mojom::CredentialsMode credentials_mode,
      const net::NetworkTrafficAnnotationTag& traffic_annotation) {
    DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
@@ -30,11 +30,6 @@
 -  if (!headers.empty())
 -    resource_request->headers.AddHeadersFromString(headers);
 -
--  // The Gaia token exchange requests do not require any cookie-based
--  // identification as part of requests.  We suppress sending any cookies to
--  // maintain a separation between the user's browsing and Chrome's internal
--  // services.  Where such mixing is desired (MergeSession or OAuthLogin), it
--  // will be done explicitly.
 -  resource_request->credentials_mode = credentials_mode;
 -
 -  url_loader_ = network::SimpleURLLoader::Create(std::move(resource_request),

+ 3 - 3
patches/core/ungoogled-chromium/disable-gcm.patch

@@ -2,7 +2,7 @@
 
 --- a/components/gcm_driver/gcm_client_impl.cc
 +++ b/components/gcm_driver/gcm_client_impl.cc
-@@ -465,6 +465,7 @@ void GCMClientImpl::StartGCM() {
+@@ -463,6 +463,7 @@ void GCMClientImpl::StartGCM() {
  
  void GCMClientImpl::InitializeMCSClient() {
    DCHECK(network_connection_tracker_);
@@ -10,7 +10,7 @@
    std::vector<GURL> endpoints;
    endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
    GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
-@@ -670,32 +671,6 @@ void GCMClientImpl::RemoveHeartbeatInter
+@@ -668,32 +669,6 @@ void GCMClientImpl::RemoveHeartbeatInter
  
  void GCMClientImpl::StartCheckin() {
    DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
@@ -43,7 +43,7 @@
  }
  
  void GCMClientImpl::OnCheckinCompleted(
-@@ -752,24 +727,6 @@ void GCMClientImpl::SetGServicesSettings
+@@ -750,24 +725,6 @@ void GCMClientImpl::SetGServicesSettings
  
  void GCMClientImpl::SchedulePeriodicCheckin() {
    DCHECK(io_task_runner_->RunsTasksInCurrentSequence());

+ 5 - 6
patches/core/ungoogled-chromium/disable-google-host-detection.patch

@@ -129,7 +129,7 @@
  #endif
 --- a/components/google/core/common/google_util.cc
 +++ b/components/google/core/common/google_util.cc
-@@ -31,112 +31,6 @@ namespace google_util {
+@@ -31,110 +31,6 @@ namespace google_util {
  
  namespace {
  
@@ -217,8 +217,6 @@
 -      base::MakeFixedFlatSet<base::StringPiece>({YOUTUBE_TLD_LIST});
 -
 -  return IsValidHostName(canonical_host, "youtube", subdomain_permission,
--                         youtube_tlds) ||
--         IsValidHostName(canonical_host, "youtubekids", subdomain_permission,
 -                         youtube_tlds);
 -}
 -
@@ -242,7 +240,7 @@
  }  // namespace
  
  // Global functions -----------------------------------------------------------
-@@ -144,12 +38,6 @@ bool IsGoogleSearchSubdomainUrl(const GU
+@@ -142,12 +38,6 @@ bool IsGoogleSearchSubdomainUrl(const GU
  const char kGoogleHomepageURL[] = "trk:113:https://www.google.com/";
  
  bool HasGoogleSearchQueryParam(base::StringPiece str) {
@@ -255,7 +253,7 @@
    return false;
  }
  
-@@ -160,161 +48,53 @@ std::string GetGoogleLocale(const std::s
+@@ -158,162 +48,53 @@ std::string GetGoogleLocale(const std::s
  
  GURL AppendGoogleLocaleParam(const GURL& url,
                               const std::string& application_locale) {
@@ -405,6 +403,7 @@
 -      ".googlevideo.com",
 -      ".gstatic.com",
 -      ".litepages.googlezip.net",
+-      ".youtubekids.com",
 -      ".ytimg.com",
 -  };
 -  const std::string host = url.host();
@@ -577,7 +576,7 @@
  }  // namespace variations
 --- a/net/base/url_util.cc
 +++ b/net/base/url_util.cc
-@@ -455,27 +455,6 @@ bool HasGoogleHost(const GURL& url) {
+@@ -464,27 +464,6 @@ bool HasGoogleHost(const GURL& url) {
  }
  
  bool IsGoogleHost(base::StringPiece host) {

+ 2 - 2
patches/core/ungoogled-chromium/disable-mei-preload.patch

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -363,7 +363,6 @@ if (!is_android && !is_mac) {
+@@ -369,7 +369,6 @@ if (!is_android && !is_mac) {
      }
  
      data_deps += [
@@ -15,7 +15,7 @@
        "//third_party/widevine/cdm",
      ]
    }
-@@ -1189,7 +1188,6 @@ if (is_win) {
+@@ -1195,7 +1194,6 @@ if (is_win) {
        ":optimization_guide_library",
        ":swiftshader_library",
        ":widevine_cdm_library",

+ 1 - 1
patches/core/ungoogled-chromium/disable-network-time-tracker.patch

@@ -5,7 +5,7 @@
 
 --- a/components/network_time/network_time_tracker.cc
 +++ b/components/network_time/network_time_tracker.cc
-@@ -294,7 +294,7 @@ void NetworkTimeTracker::UpdateNetworkTi
+@@ -296,7 +296,7 @@ void NetworkTimeTracker::UpdateNetworkTi
  }
  
  bool NetworkTimeTracker::AreTimeFetchesEnabled() const {

+ 12 - 12
patches/core/ungoogled-chromium/disable-privacy-sandbox.patch

@@ -24,7 +24,7 @@
  <if expr="use_nss_certs">
 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
-@@ -63,7 +63,7 @@ namespace privacy_sandbox {
+@@ -66,7 +66,7 @@ namespace privacy_sandbox {
  
  void RegisterProfilePrefs(PrefRegistrySimple* registry) {
    registry->RegisterBooleanPref(
@@ -35,7 +35,7 @@
    registry->RegisterBooleanPref(
 --- a/components/privacy_sandbox/privacy_sandbox_settings.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
-@@ -336,45 +336,10 @@ bool PrivacySandboxSettings::IsPrivateAg
+@@ -335,45 +335,10 @@ bool PrivacySandboxSettings::IsPrivateAg
  }
  
  bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -84,23 +84,23 @@
  bool PrivacySandboxSettings::IsTrustTokensAllowed() {
 --- a/content/browser/aggregation_service/aggregation_service_features.cc
 +++ b/content/browser/aggregation_service/aggregation_service_features.cc
-@@ -8,7 +8,7 @@ namespace content {
- 
+@@ -9,7 +9,7 @@ namespace content {
  // Enables the Aggregation Service. See crbug.com/1207974.
- const base::Feature kPrivacySandboxAggregationService = {
--    "PrivacySandboxAggregationService", base::FEATURE_ENABLED_BY_DEFAULT};
-+    "PrivacySandboxAggregationService", base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kPrivacySandboxAggregationService,
+              "PrivacySandboxAggregationService",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
  const base::FeatureParam<std::string>
      kPrivacySandboxAggregationServiceTrustedServerUrlParam{
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -107,7 +107,7 @@ const base::Feature kBlockingDownloadsIn
- 
+@@ -106,7 +106,7 @@ BASE_FEATURE(kBlockingDownloadsInAdFrame
  // Controls whether the Conversion Measurement API infrastructure is enabled.
- const base::Feature kConversionMeasurement{"ConversionMeasurement",
--                                           base::FEATURE_ENABLED_BY_DEFAULT};
-+                                           base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kConversionMeasurement,
+              "ConversionMeasurement",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
  // Controls whether LCP calculations should exclude low-entropy images. If
  // enabled, then the associated parameter sets the cutoff, expressed as the

+ 1 - 1
patches/core/ungoogled-chromium/disable-signin.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/chrome_pages.cc
 +++ b/chrome/browser/ui/chrome_pages.cc
-@@ -589,32 +589,6 @@ void ShowFirmwareUpdatesApp(Profile* pro
+@@ -588,32 +588,6 @@ void ShowFirmwareUpdatesApp(Profile* pro
  void ShowBrowserSignin(Browser* browser,
                         signin_metrics::AccessPoint access_point,
                         signin::ConsentLevel consent_level) {

+ 28 - 26
patches/core/ungoogled-chromium/doh-changes.patch

@@ -1,26 +1,27 @@
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -310,12 +310,7 @@ const base::Feature kDisruptiveNotificat
+@@ -351,12 +351,7 @@ BASE_FEATURE(kDisruptiveNotificationPerm
  // Enable DNS over HTTPS (DoH).
- const base::Feature kDnsOverHttps {
-   "DnsOverHttps",
+ BASE_FEATURE(kDnsOverHttps,
+              "DnsOverHttps",
 -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
 -    BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
--      base::FEATURE_ENABLED_BY_DEFAULT
+-             base::FEATURE_ENABLED_BY_DEFAULT
 -#else
-       base::FEATURE_DISABLED_BY_DEFAULT
+              base::FEATURE_DISABLED_BY_DEFAULT
 -#endif
- };
+ );
  
  // Set whether fallback to insecure DNS is allowed by default. This setting may
 --- a/net/dns/public/doh_provider_entry.cc
 +++ b/net/dns/public/doh_provider_entry.cc
-@@ -149,30 +149,6 @@ const DohProviderEntry::List& DohProvide
+@@ -160,32 +160,6 @@ const DohProviderEntry::List& DohProvide
            /*display_globally=*/false, /*display_countries=*/{"EE", "DE"},
            LoggingLevel::kNormal),
        new DohProviderEntry(
 -          "Google",
--          base::Feature{"DohProviderGoogle", base::FEATURE_ENABLED_BY_DEFAULT},
+-          MAKE_BASE_FEATURE_WITH_STATIC_STORAGE(
+-              DohProviderGoogle, base::FEATURE_ENABLED_BY_DEFAULT),
 -          DohProviderIdForHistogram::kGoogle,
 -          {"8.8.8.8", "8.8.4.4", "2001:4860:4860::8888",
 -           "2001:4860:4860::8844"},
@@ -32,32 +33,33 @@
 -          /*privacy_policy=*/"privacy",
 -          /*display_globally=*/true, /*display_countries=*/{},
 -          LoggingLevel::kExtra),
--      new DohProviderEntry("GoogleDns64",
--                           base::Feature{"DohProviderGoogleDns64",
--                                         base::FEATURE_ENABLED_BY_DEFAULT},
--                           /*provider_id_for_histogram=*/absl::nullopt,
--                           {"2001:4860:4860::64", "2001:4860:4860::6464"},
--                           /*dns_over_tls_hostnames=*/{"dns64.dns.google"},
--                           "https://dns64.dns.google/dns-query{?dns}",
--                           /*ui_name=*/"", /*privacy_policy=*/"",
--                           /*display_globally=*/false,
--                           /*display_countries=*/{}, LoggingLevel::kNormal),
+-      new DohProviderEntry(
+-          "GoogleDns64",
+-          MAKE_BASE_FEATURE_WITH_STATIC_STORAGE(
+-              DohProviderGoogleDns64, base::FEATURE_ENABLED_BY_DEFAULT),
+-          /*provider_id_for_histogram=*/absl::nullopt,
+-          {"2001:4860:4860::64", "2001:4860:4860::6464"},
+-          /*dns_over_tls_hostnames=*/{"dns64.dns.google"},
+-          "https://dns64.dns.google/dns-query{?dns}",
+-          /*ui_name=*/"", /*privacy_policy=*/"",
+-          /*display_globally=*/false,
+-          /*display_countries=*/{}, LoggingLevel::kNormal),
 -      new DohProviderEntry(
            "Iij",
-           base::Feature{"DohProviderIij", base::FEATURE_ENABLED_BY_DEFAULT},
-           DohProviderIdForHistogram::kIij, /*ip_strs=*/{},
+           MAKE_BASE_FEATURE_WITH_STATIC_STORAGE(
+               DohProviderIij, base::FEATURE_ENABLED_BY_DEFAULT),
 --- a/services/network/public/cpp/features.cc
 +++ b/services/network/public/cpp/features.cc
-@@ -93,12 +93,7 @@ const base::Feature kSplitAuthCacheByNet
+@@ -101,12 +101,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIso
  // Enable usage of hardcoded DoH upgrade mapping for use in automatic mode.
- const base::Feature kDnsOverHttpsUpgrade {
-   "DnsOverHttpsUpgrade",
+ BASE_FEATURE(kDnsOverHttpsUpgrade,
+              "DnsOverHttpsUpgrade",
 -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
 -    BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
--      base::FEATURE_ENABLED_BY_DEFAULT
+-             base::FEATURE_ENABLED_BY_DEFAULT
 -#else
-       base::FEATURE_DISABLED_BY_DEFAULT
+              base::FEATURE_DISABLED_BY_DEFAULT
 -#endif
- };
+ );
  
  // If this feature is enabled, the mDNS responder service responds to queries

+ 233 - 134
patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -627,8 +627,6 @@ static_library("browser") {
+@@ -631,8 +631,6 @@ static_library("browser") {
      "internal_auth.h",
      "interstitials/chrome_settings_page_helper.cc",
      "interstitials/chrome_settings_page_helper.h",
@@ -11,7 +11,7 @@
      "invalidation/profile_invalidation_provider_factory.cc",
      "invalidation/profile_invalidation_provider_factory.h",
      "k_anonymity_service/k_anonymity_service_client.cc",
-@@ -3742,10 +3740,6 @@ static_library("browser") {
+@@ -3757,10 +3755,6 @@ static_library("browser") {
        "enterprise/connectors/analysis/analysis_service_settings.h",
        "enterprise/connectors/analysis/analysis_settings.cc",
        "enterprise/connectors/analysis/analysis_settings.h",
@@ -22,7 +22,7 @@
        "enterprise/connectors/analysis/content_analysis_dialog.cc",
        "enterprise/connectors/analysis/content_analysis_dialog.h",
        "enterprise/connectors/analysis/content_analysis_downloads_delegate.cc",
-@@ -4021,10 +4015,6 @@ static_library("browser") {
+@@ -4040,10 +4034,6 @@ static_library("browser") {
        "new_tab_page/modules/recipes/recipes_service_factory.h",
        "new_tab_page/modules/recipes/time_format_util.cc",
        "new_tab_page/modules/recipes/time_format_util.h",
@@ -33,7 +33,7 @@
        "new_tab_page/new_tab_page_util.cc",
        "new_tab_page/new_tab_page_util.h",
        "new_tab_page/one_google_bar/one_google_bar_data.cc",
-@@ -4467,7 +4457,6 @@ static_library("browser") {
+@@ -4488,7 +4478,6 @@ static_library("browser") {
        "//chrome/browser/new_tab_page/modules/feed:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/photos:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/recipes:mojo_bindings",
@@ -41,7 +41,7 @@
        "//chrome/browser/policy:path_parser",
        "//chrome/browser/profile_resetter:profile_reset_report_proto",
        "//chrome/browser/resource_coordinator:intervention_policy_database_proto",
-@@ -7819,9 +7808,14 @@ static_library("browser") {
+@@ -7884,9 +7873,14 @@ static_library("browser") {
        "//components/safe_browsing/content/browser:safe_browsing_blocking_page",
        "//components/safe_browsing/content/browser/download:download_stats",
        "//components/safe_browsing/content/common:file_type_policies",
@@ -73,7 +73,7 @@
    auto delegate = std::make_unique<AccuracyServiceDelegate>(profile);
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -4618,11 +4618,13 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4649,11 +4649,13 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -85,9 +85,9 @@
    }
 +#endif
  
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
-@@ -6054,26 +6056,7 @@ ChromeContentBrowserClient::GetSafeBrows
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+   MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
+@@ -6088,26 +6090,7 @@ ChromeContentBrowserClient::GetSafeBrows
      const std::vector<std::string>& allowlist_domains) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);
  
@@ -115,7 +115,7 @@
  }
  
  safe_browsing::RealTimeUrlLookupServiceBase*
-@@ -6094,11 +6077,6 @@ ChromeContentBrowserClient::GetUrlLookup
+@@ -6128,11 +6111,6 @@ ChromeContentBrowserClient::GetUrlLookup
          GetForProfile(profile);
    }
  #endif
@@ -129,7 +129,7 @@
  
 --- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
 +++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
-@@ -145,34 +145,6 @@ void MaybeCreateSafeBrowsingForRenderer(
+@@ -143,34 +143,6 @@ void MaybeCreateSafeBrowsingForRenderer(
          const std::vector<std::string>& allowlist_domains)>
          get_checker_delegate,
      mojo::PendingReceiver<safe_browsing::mojom::SafeBrowsing> receiver) {
@@ -209,7 +209,7 @@
  #include "third_party/blink/public/common/renderer_preferences/renderer_preferences.h"
 --- a/chrome/browser/download/bubble/download_bubble_controller.cc
 +++ b/chrome/browser/download/bubble/download_bubble_controller.cc
-@@ -400,8 +400,6 @@ void DownloadBubbleUIController::Process
+@@ -402,8 +402,6 @@ void DownloadBubbleUIController::Process
        ProcessDownloadWarningButtonPress(model, command);
        break;
      case DownloadCommands::REVIEW:
@@ -321,7 +321,7 @@
  
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -905,76 +905,10 @@ void DownloadItemModel::ExecuteCommand(D
+@@ -924,100 +924,10 @@ void DownloadItemModel::ExecuteCommand(D
  
  DownloadItemModel::BubbleUIInfo
  DownloadItemModel::GetBubbleUIInfoForTailoredWarning() const {
@@ -352,8 +352,32 @@
 -          download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE &&
 -      tailored_verdict.tailored_verdict_type() ==
 -          TailoredVerdict::COOKIE_THEFT) {
--    // TODO(crbug.com/1351925): Check the adjustments field and add the account
--    // information in the subpage summary.
+-    if (base::Contains(tailored_verdict.adjustments(),
+-                       TailoredVerdict::ACCOUNT_INFO_STRING)) {
+-      auto* identity_manager = IdentityManagerFactory::GetForProfile(profile());
+-      std::string email =
+-          identity_manager
+-              ? identity_manager
+-                    ->GetPrimaryAccountInfo(signin::ConsentLevel::kSignin)
+-                    .email
+-              : "";
+-      base::UmaHistogramBoolean(
+-          "SBClientDownload.TailoredWarning.HasVaidEmailForAccountInfo",
+-          !email.empty());
+-      if (!email.empty()) {
+-        return DownloadUIModel::BubbleUIInfo(
+-                   l10n_util::GetStringFUTF16(
+-                       IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_COOKIE_THEFT_AND_ACCOUNT,
+-                       base::ASCIIToUTF16(email)))
+-            .AddIconAndColor(vector_icons::kNotSecureWarningIcon,
+-                             ui::kColorAlertHighSeverity)
+-            .AddPrimaryButton(DownloadCommands::Command::DISCARD)
+-            .AddSubpageButton(
+-                l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE),
+-                DownloadCommands::Command::DISCARD,
+-                /*is_prominent=*/true);
+-      }
+-    }
 -    return DownloadUIModel::BubbleUIInfo(
 -               l10n_util::GetStringUTF16(
 -                   IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_COOKIE_THEFT))
@@ -400,15 +424,15 @@
  
 --- a/chrome/browser/download/download_stats.cc
 +++ b/chrome/browser/download/download_stats.cc
-@@ -9,6 +9,7 @@
- #include "base/notreached.h"
+@@ -10,6 +10,7 @@
  #include "build/build_config.h"
+ #include "components/download/public/common/download_content.h"
  #include "components/profile_metrics/browser_profile_type.h"
 +#include "components/safe_browsing/buildflags.h"
  #include "components/safe_browsing/content/browser/download/download_stats.h"
  
  void RecordDownloadCount(ChromeDownloadCountTypes type) {
-@@ -28,8 +29,10 @@ void RecordDangerousDownloadWarningShown
+@@ -29,8 +30,10 @@ void RecordDangerousDownloadWarningShown
      bool has_user_gesture) {
    base::UmaHistogramEnumeration("Download.ShowedDownloadWarning", danger_type,
                                  download::DOWNLOAD_DANGER_TYPE_MAX);
@@ -421,7 +445,7 @@
  void RecordOpenedDangerousConfirmDialog(
 --- a/chrome/browser/download/download_target_determiner.cc
 +++ b/chrome/browser/download/download_target_determiner.cc
-@@ -953,12 +953,14 @@ void DownloadTargetDeterminer::CheckVisi
+@@ -956,12 +956,14 @@ void DownloadTargetDeterminer::CheckVisi
      bool visited_referrer_before) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
    DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_);
@@ -436,7 +460,7 @@
    danger_level_ = GetDangerLevel(
        visited_referrer_before ? VISITED_REFERRER : NO_VISITS_TO_REFERRER);
    if (danger_level_ != DownloadFileType::NOT_DANGEROUS &&
-@@ -1197,6 +1199,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -1199,6 +1201,7 @@ DownloadFileType::DangerLevel DownloadTa
  
  absl::optional<base::Time>
  DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const {
@@ -444,7 +468,7 @@
    safe_browsing::SafeBrowsingMetricsCollector* metrics_collector =
        safe_browsing::SafeBrowsingMetricsCollectorFactory::GetForProfile(
            GetProfile());
-@@ -1205,6 +1208,9 @@ DownloadTargetDeterminer::GetLastDownloa
+@@ -1207,6 +1210,9 @@ DownloadTargetDeterminer::GetLastDownloa
                                   safe_browsing::SafeBrowsingMetricsCollector::
                                       EventType::DANGEROUS_DOWNLOAD_BYPASS)
                             : absl::nullopt;
@@ -456,7 +480,7 @@
  void DownloadTargetDeterminer::OnDownloadDestroyed(
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
-@@ -36,7 +36,6 @@
+@@ -37,7 +37,6 @@
  #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
  #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
  #include "chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.h"
@@ -479,7 +503,7 @@
  std::u16string ContentAnalysisDownloadsDelegate::GetBypassJustificationLabel()
 --- a/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc
-@@ -228,15 +228,6 @@ void FilesRequestHandler::OnGotFileInfo(
+@@ -233,15 +233,6 @@ void FilesRequestHandler::OnGotFileInfo(
  void FilesRequestHandler::FinishRequestEarly(
      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
      safe_browsing::BinaryUploadService::Result result) {
@@ -497,7 +521,7 @@
  }
 --- a/chrome/browser/enterprise/connectors/connectors_service.cc
 +++ b/chrome/browser/enterprise/connectors/connectors_service.cc
-@@ -444,19 +444,6 @@ absl::optional<std::string> ConnectorsSe
+@@ -446,19 +446,6 @@ absl::optional<std::string> ConnectorsSe
    return absl::nullopt;
  }
  
@@ -532,39 +556,54 @@
    // Returns the CBCM domain or profile domain that enables connector policies.
    // If both set Connector policies, the CBCM domain is returned as it has
    // precedence.
---- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/common_signals_decorator.cc
-+++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/common_signals_decorator.cc
-@@ -44,10 +44,6 @@ void CommonSignalsDecorator::Decorate(ba
-   signals.Set(
-       device_signals::names::kBuiltInDnsClientEnabled,
-       enterprise_signals::utils::GetBuiltInDnsClientEnabled(local_state_));
--  signals.Set(device_signals::names::kSafeBrowsingProtectionLevel,
--              static_cast<int32_t>(
--                  enterprise_signals::utils::GetSafeBrowsingProtectionLevel(
--                      profile_prefs_)));
-   absl::optional<bool> third_party_blocking_enabled =
-       enterprise_signals::utils::GetThirdPartyBlockingEnabled(local_state_);
-   if (third_party_blocking_enabled.has_value()) {
-@@ -62,16 +58,6 @@ void CommonSignalsDecorator::Decorate(ba
-                 chrome_cleanup_enabled.value());
-   }
+--- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/context_signals_decorator.cc
++++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/context_signals_decorator.cc
+@@ -26,25 +26,6 @@ enum class PasswordProtectionTrigger {
+   kPhisingReuse = 3
+ };
  
--  absl::optional<safe_browsing::PasswordProtectionTrigger>
--      password_protection_warning_trigger =
--          enterprise_signals::utils::GetPasswordProtectionWarningTrigger(
--              profile_prefs_);
--  if (password_protection_warning_trigger.has_value()) {
--    signals.Set(
--        device_signals::names::kPasswordProtectionWarningTrigger,
--        static_cast<int32_t>(password_protection_warning_trigger.value()));
+-PasswordProtectionTrigger ConvertPasswordProtectionTrigger(
+-    const absl::optional<safe_browsing::PasswordProtectionTrigger>&
+-        policy_value) {
+-  if (!policy_value) {
+-    return PasswordProtectionTrigger::kUnset;
 -  }
 -
-   if (cached_device_model_ && cached_device_manufacturer_) {
-     UpdateFromCache(signals);
-     LogSignalsCollectionLatency(kLatencyHistogramWithCacheVariant, start_time);
+-  switch (policy_value.value()) {
+-    case safe_browsing::PASSWORD_PROTECTION_OFF:
+-      return PasswordProtectionTrigger::kOff;
+-    case safe_browsing::PASSWORD_REUSE:
+-      return PasswordProtectionTrigger::kPasswordReuse;
+-    case safe_browsing::PHISHING_REUSE:
+-      return PasswordProtectionTrigger::kPhisingReuse;
+-    case safe_browsing::PASSWORD_PROTECTION_TRIGGER_MAX:
+-      NOTREACHED();
+-      return PasswordProtectionTrigger::kUnset;
+-  }
+-}
+ 
+ }  // namespace
+ 
+@@ -74,16 +55,8 @@ void ContextSignalsDecorator::OnSignalsF
+               ToListValue(context_info.browser_affiliation_ids));
+   signals.Set(device_signals::names::kProfileAffiliationIds,
+               ToListValue(context_info.profile_affiliation_ids));
+-  signals.Set(device_signals::names::kRealtimeUrlCheckMode,
+-              static_cast<int32_t>(context_info.realtime_url_check_mode));
+-  signals.Set(
+-      device_signals::names::kSafeBrowsingProtectionLevel,
+-      static_cast<int32_t>(context_info.safe_browsing_protection_level));
+   signals.Set(device_signals::names::kSiteIsolationEnabled,
+               context_info.site_isolation_enabled);
+-  signals.Set(device_signals::names::kPasswordProtectionWarningTrigger,
+-              static_cast<int32_t>(ConvertPasswordProtectionTrigger(
+-                  context_info.password_protection_warning_trigger)));
+   signals.Set(device_signals::names::kChromeRemoteDesktopAppBlocked,
+               context_info.chrome_remote_desktop_app_blocked);
+   signals.Set(device_signals::names::kBuiltInDnsClientEnabled,
 --- a/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc
 +++ b/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc
-@@ -399,7 +399,7 @@ void RealtimeReportingClient::ReportReal
+@@ -400,7 +400,7 @@ void RealtimeReportingClient::ReportReal
  }
  
  std::string RealtimeReportingClient::GetProfileUserName() const {
@@ -575,7 +614,7 @@
  #if BUILDFLAG(IS_CHROMEOS_ASH)
 --- a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc
 +++ b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc
-@@ -72,16 +72,6 @@ ReportingServiceSettings::ReportingServi
+@@ -74,16 +74,6 @@ ReportingServiceSettings::ReportingServi
        else
          DVLOG(1) << "Enabled event name list contains a non string value!";
      }
@@ -700,7 +739,7 @@
  }  // namespace utils
 --- a/chrome/browser/extensions/BUILD.gn
 +++ b/chrome/browser/extensions/BUILD.gn
-@@ -305,10 +305,6 @@ static_library("extensions") {
+@@ -303,10 +303,6 @@ static_library("extensions") {
      "api/runtime/chrome_runtime_api_delegate.h",
      "api/safe_browsing_private/safe_browsing_private_api.cc",
      "api/safe_browsing_private/safe_browsing_private_api.h",
@@ -711,7 +750,7 @@
      "api/safe_browsing_private/safe_browsing_util.cc",
      "api/safe_browsing_private/safe_browsing_util.h",
      "api/scripting/scripting_api.cc",
-@@ -641,8 +637,6 @@ static_library("extensions") {
+@@ -639,8 +635,6 @@ static_library("extensions") {
      "menu_manager_factory.h",
      "navigation_observer.cc",
      "navigation_observer.h",
@@ -720,9 +759,60 @@
      "pack_extension_job.cc",
      "pack_extension_job.h",
      "pending_extension_info.cc",
+--- a/chrome/browser/extensions/api/cookies/cookies_api.cc
++++ b/chrome/browser/extensions/api/cookies/cookies_api.cc
+@@ -285,21 +285,6 @@ void CookiesGetFunction::GetCookieListCa
+ }
+ 
+ void CookiesGetFunction::NotifyExtensionTelemetry() {
+-  auto* telemetry_service =
+-      safe_browsing::ExtensionTelemetryServiceFactory::GetForProfile(
+-          Profile::FromBrowserContext(browser_context()));
+-
+-  if (!telemetry_service || !telemetry_service->enabled() ||
+-      !base::FeatureList::IsEnabled(
+-          safe_browsing::kExtensionTelemetryCookiesGetSignal)) {
+-    return;
+-  }
+-
+-  auto cookies_get_signal = std::make_unique<safe_browsing::CookiesGetSignal>(
+-      extension_id(), parsed_args_->details.name,
+-      parsed_args_->details.store_id.value_or(std::string()),
+-      parsed_args_->details.url);
+-  telemetry_service->AddSignal(std::move(cookies_get_signal));
+ }
+ 
+ CookiesGetAllFunction::CookiesGetAllFunction() {
+@@ -383,26 +368,6 @@ void CookiesGetAllFunction::GetCookieLis
+ }
+ 
+ void CookiesGetAllFunction::NotifyExtensionTelemetry() {
+-  auto* telemetry_service =
+-      safe_browsing::ExtensionTelemetryServiceFactory::GetForProfile(
+-          Profile::FromBrowserContext(browser_context()));
+-
+-  if (!telemetry_service || !telemetry_service->enabled() ||
+-      !base::FeatureList::IsEnabled(
+-          safe_browsing::kExtensionTelemetryCookiesGetAllSignal)) {
+-    return;
+-  }
+-
+-  auto cookies_get_all_signal =
+-      std::make_unique<safe_browsing::CookiesGetAllSignal>(
+-          extension_id(), parsed_args_->details.domain.value_or(std::string()),
+-          parsed_args_->details.name.value_or(std::string()),
+-          parsed_args_->details.path.value_or(std::string()),
+-          parsed_args_->details.secure.value_or(false),
+-          parsed_args_->details.store_id.value_or(std::string()),
+-          parsed_args_->details.url.value_or(std::string()),
+-          parsed_args_->details.session.value_or(false));
+-  telemetry_service->AddSignal(std::move(cookies_get_all_signal));
+ }
+ 
+ CookiesSetFunction::CookiesSetFunction()
 --- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
 +++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
-@@ -94,17 +94,8 @@ api::enterprise_reporting_private::Conte
+@@ -92,17 +92,8 @@ api::enterprise_reporting_private::Conte
    info.third_party_blocking_enabled = signals.third_party_blocking_enabled;
    info.os_firewall = ToInfoSettingValue(signals.os_firewall);
    info.system_dns_servers = std::move(signals.system_dns_servers);
@@ -1052,7 +1142,7 @@
  #include "chrome/browser/ui/file_system_access_dialogs.h"
  #include "chrome/common/chrome_paths.h"
  #include "chrome/common/pdf_util.h"
-@@ -344,83 +342,6 @@ BindResultCallbackToCurrentSequence(
+@@ -344,85 +342,6 @@ BindResultCallbackToCurrentSequence(
        base::SequencedTaskRunnerHandle::Get(), std::move(callback));
  }
  
@@ -1092,6 +1182,8 @@
 -
 -  sb_service->download_protection_service()->CheckFileSystemAccessWrite(
 -      std::move(item), std::move(callback));
+-#else
+-  std::move(callback).Run(safe_browsing::DownloadCheckResult::UNKNOWN);
 -#endif
 -}
 -
@@ -1101,7 +1193,7 @@
 -  switch (result) {
 -    // Only allow downloads that are marked as SAFE or UNKNOWN by SafeBrowsing.
 -    // All other types are going to be blocked. UNKNOWN could be the result of a
--    // failed safe browsing ping.
+-    // failed safe browsing ping or if Safe Browsing is not enabled.
 -    case Result::UNKNOWN:
 -    case Result::SAFE:
 -    case Result::ALLOWLISTED_BY_POLICY:
@@ -1136,7 +1228,7 @@
  std::string GenerateLastPickedDirectoryKey(const std::string& id) {
    return id.empty() ? kDefaultLastPickedDirectoryKey
                      : base::StrCat({kCustomLastPickedDirectoryKey, "-", id});
-@@ -1202,28 +1123,6 @@ void ChromeFileSystemAccessPermissionCon
+@@ -1204,28 +1123,6 @@ void ChromeFileSystemAccessPermissionCon
                       frame_id, std::move(callback)));
  }
  
@@ -1165,13 +1257,13 @@
  void ChromeFileSystemAccessPermissionContext::
      DidConfirmSensitiveDirectoryAccess(
          const url::Origin& origin,
-@@ -1235,27 +1134,6 @@ void ChromeFileSystemAccessPermissionCon
+@@ -1237,27 +1134,6 @@ void ChromeFileSystemAccessPermissionCon
          bool should_block) {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
    if (!should_block) {
 -    // If attempting to save a file with a dangerous extension, prompt the user
 -    // to make them confirm they actually want to save the file.
--    if (dialog_type == ui::SelectFileDialog::SELECT_SAVEAS_FILE) {
+-    if (user_action == UserAction::kSave) {
 -      safe_browsing::DownloadFileType::DangerLevel danger_level =
 -          safe_browsing::FileTypePolicies::GetInstance()->GetFileDangerLevel(
 -              path, origin.GetURL(),
@@ -1196,7 +1288,7 @@
 --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
 +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
 @@ -88,10 +88,6 @@ class ChromeFileSystemAccessPermissionCo
-       ui::SelectFileDialog::Type dialog_type,
+       UserAction user_action,
        content::GlobalRenderFrameHostId frame_id,
        base::OnceCallback<void(SensitiveEntryResult)> callback) override;
 -  void PerformAfterWriteChecks(
@@ -1216,7 +1308,7 @@
  #include "components/url_formatter/elide_url.h"
  #include "content/public/browser/browser_thread.h"
  #include "content/public/browser/desktop_capture.h"
-@@ -118,6 +119,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -112,6 +113,7 @@ void DisplayMediaAccessHandler::HandleRe
      return;
    }
  
@@ -1224,7 +1316,7 @@
    // 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. Show the warning
-@@ -133,6 +135,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -127,6 +129,7 @@ void DisplayMediaAccessHandler::HandleRe
      observer->OnDesktopCaptureRequest();
      return;
    }
@@ -1255,10 +1347,10 @@
  #include "chrome/browser/password_manager/password_store_factory.h"
  #include "chrome/browser/profiles/profile.h"
 -#include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
- #include "chrome/browser/safe_browsing/user_interaction_observer.h"
- #include "chrome/browser/signin/identity_manager_factory.h"
- #include "chrome/browser/sync/sync_service_factory.h"
-@@ -920,6 +919,7 @@ autofill::LanguageCode ChromePasswordMan
+ #include "chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service.h"
+ #include "chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h"
+ #include "chrome/browser/safe_browsing/extension_telemetry/password_reuse_signal.h"
+@@ -961,6 +960,7 @@ autofill::LanguageCode ChromePasswordMan
    return autofill::LanguageCode();
  }
  
@@ -1266,8 +1358,8 @@
  safe_browsing::PasswordProtectionService*
  ChromePasswordManagerClient::GetPasswordProtectionService() const {
    return safe_browsing::ChromePasswordProtectionService::
-@@ -961,13 +961,9 @@ void ChromePasswordManagerClient::CheckP
-   // TODO(crbug.com/1351484): Hook this to the extension service in the next CL.
+@@ -1034,13 +1034,9 @@ void ChromePasswordManagerClient::CheckP
+   telemetry_service->AddSignal(std::move(password_reuse_signal));
  #endif  // !BUILDFLAG(IS_ANDROID)
  }
 +#endif // BUILDFLAG(FULL_SAFE_BROWSING)
@@ -1281,7 +1373,7 @@
  }
  
  #if !BUILDFLAG(IS_ANDROID)
-@@ -976,36 +972,10 @@ void ChromePasswordManagerClient::MaybeR
+@@ -1049,36 +1045,10 @@ void ChromePasswordManagerClient::MaybeR
      bool is_federated,
      const url::Origin& federated_origin,
      const std::u16string& login_user_name) const {
@@ -1318,7 +1410,7 @@
  }
  #endif
  
-@@ -1517,7 +1487,9 @@ void ChromePasswordManagerClient::OnPast
+@@ -1596,7 +1566,9 @@ void ChromePasswordManagerClient::OnPast
    }
  
    was_on_paste_called_ = true;
@@ -1328,7 +1420,7 @@
  }
  
  void ChromePasswordManagerClient::RenderFrameCreated(
-@@ -1553,7 +1525,9 @@ void ChromePasswordManagerClient::OnInpu
+@@ -1632,7 +1604,9 @@ void ChromePasswordManagerClient::OnInpu
    if (key_event.windows_key_code == (ui::VKEY_V & 0x1f)) {
      OnPaste();
    } else {
@@ -1338,7 +1430,7 @@
    }
  #endif  // BUILDFLAG(IS_ANDROID)
  }
-@@ -1592,6 +1566,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1671,6 +1645,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -1346,7 +1438,7 @@
    // 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
-@@ -1602,6 +1577,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1681,6 +1656,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -1356,7 +1448,7 @@
      password_manager::BrowserSavePasswordProgressLogger logger(
 --- a/chrome/browser/password_manager/chrome_password_manager_client.h
 +++ b/chrome/browser/password_manager/chrome_password_manager_client.h
-@@ -229,13 +229,14 @@ class ChromePasswordManagerClient
+@@ -233,13 +233,14 @@ class ChromePasswordManagerClient
    void AnnotateNavigationEntry(bool has_password_field) override;
    autofill::LanguageCode GetPageLanguage() const override;
  
@@ -1372,7 +1464,7 @@
  
    void CheckProtectedPasswordEntry(
        password_manager::metrics_util::PasswordType reused_password_type,
-@@ -245,6 +246,7 @@ class ChromePasswordManagerClient
+@@ -249,6 +250,7 @@ class ChromePasswordManagerClient
        bool password_field_exists,
        uint64_t reused_password_hash,
        const std::string& domain) override;
@@ -1460,20 +1552,28 @@
  }
  
  void PermissionRevocationRequest::OnSiteReputationReady(
-@@ -165,25 +145,6 @@ void PermissionRevocationRequest::OnSite
+@@ -165,33 +145,6 @@ void PermissionRevocationRequest::OnSite
          base::TimeTicks::Now() - crowd_deny_request_start_time_.value();
    }
  
--  if (site_reputation && !site_reputation->warning_only() &&
--      (site_reputation->notification_ux_quality() ==
--           CrowdDenyPreloadData::SiteReputation::ABUSIVE_PROMPTS ||
--       site_reputation->notification_ux_quality() ==
--           CrowdDenyPreloadData::SiteReputation::ABUSIVE_CONTENT ||
--       site_reputation->notification_ux_quality() ==
--           CrowdDenyPreloadData::SiteReputation::DISRUPTIVE_BEHAVIOR)) {
+-  if (site_reputation && !site_reputation->warning_only()) {
+-    bool should_revoke_permission = false;
+-    switch (site_reputation->notification_ux_quality()) {
+-      case CrowdDenyPreloadData::SiteReputation::ABUSIVE_PROMPTS:
+-      case CrowdDenyPreloadData::SiteReputation::ABUSIVE_CONTENT:
+-        should_revoke_permission = NotificationsPermissionRevocationConfig::
+-            IsAbusiveOriginPermissionRevocationEnabled();
+-        break;
+-      case CrowdDenyPreloadData::SiteReputation::DISRUPTIVE_BEHAVIOR:
+-        should_revoke_permission = NotificationsPermissionRevocationConfig::
+-            IsDisruptiveOriginPermissionRevocationEnabled();
+-        break;
+-      default:
+-        should_revoke_permission = false;
+-    }
 -    DCHECK(g_browser_process->safe_browsing_service());
--
--    if (g_browser_process->safe_browsing_service()) {
+-    if (should_revoke_permission &&
+-        g_browser_process->safe_browsing_service()) {
 -      safe_browsing_request_.emplace(
 -          g_browser_process->safe_browsing_service()->database_manager(),
 -          base::DefaultClock::GetInstance(), url::Origin::Create(origin_),
@@ -1488,7 +1588,7 @@
  
 --- a/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
 +++ b/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
-@@ -332,52 +332,5 @@ bool PredictionBasedPermissionUiSelector
+@@ -341,52 +341,5 @@ bool PredictionBasedPermissionUiSelector
  
  PredictionSource PredictionBasedPermissionUiSelector::GetPredictionTypeToUse(
      permissions::RequestType request_type) {
@@ -1543,15 +1643,15 @@
  }
 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
 +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -94,6 +94,7 @@
- #include "components/policy/core/common/schema.h"
+@@ -95,6 +95,7 @@
  #include "components/policy/policy_constants.h"
+ #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
  #include "components/proxy_config/proxy_policy_handler.h"
 +#include "components/safe_browsing/buildflags.h"
  #include "components/safe_browsing/content/common/file_type_policies_prefs.h"
  #include "components/safe_browsing/core/common/safe_browsing_policy_handler.h"
  #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
-@@ -1821,8 +1822,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -1847,8 +1848,6 @@ std::unique_ptr<ConfigurationPolicyHandl
    handlers->AddHandler(
        std::make_unique<bookmarks::ManagedBookmarksPolicyHandler>(
            chrome_schema));
@@ -1560,7 +1660,7 @@
    handlers->AddHandler(std::make_unique<syncer::SyncPolicyHandler>());
    handlers->AddHandler(
        std::make_unique<URLBlocklistPolicyHandler>(key::kURLBlocklist));
-@@ -1880,13 +1879,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -1906,13 +1905,6 @@ std::unique_ptr<ConfigurationPolicyHandl
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode,
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckScope, chrome_schema));
  
@@ -1576,7 +1676,7 @@
  
 --- a/chrome/browser/prefs/browser_prefs.cc
 +++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -254,7 +254,6 @@
+@@ -259,7 +259,6 @@
  #include "chrome/browser/new_tab_page/modules/drive/drive_service.h"
  #include "chrome/browser/new_tab_page/modules/photos/photos_service.h"
  #include "chrome/browser/new_tab_page/modules/recipes/recipes_service.h"
@@ -1584,7 +1684,7 @@
  #include "chrome/browser/new_tab_page/promos/promo_service.h"
  #include "chrome/browser/policy/developer_tools_policy_handler.h"
  #include "chrome/browser/search/background/ntp_custom_background_service.h"
-@@ -1435,7 +1434,6 @@ void RegisterProfilePrefs(user_prefs::Pr
+@@ -1408,7 +1407,6 @@ void RegisterProfilePrefs(user_prefs::Pr
    NewTabPageHandler::RegisterProfilePrefs(registry);
    NewTabPageUI::RegisterProfilePrefs(registry);
    NewTabUI::RegisterProfilePrefs(registry);
@@ -1594,7 +1694,7 @@
    PinnedTabCodec::RegisterProfilePrefs(registry);
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -587,7 +587,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -589,7 +589,6 @@ void ChromeBrowserMainExtraPartsProfiles
    }
  #endif
    TabRestoreServiceFactory::GetInstance();
@@ -1604,7 +1704,7 @@
  #if !BUILDFLAG(IS_ANDROID)
 --- a/chrome/browser/reputation/reputation_service.cc
 +++ b/chrome/browser/reputation/reputation_service.cc
-@@ -114,9 +114,7 @@ void ReputationService::GetReputationSta
+@@ -116,9 +116,7 @@ void ReputationService::GetReputationSta
                                              ReputationCheckCallback callback) {
    DCHECK(url.SchemeIsHTTPOrHTTPS());
  
@@ -1780,7 +1880,7 @@
  }  // namespace
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -546,7 +546,6 @@ static_library("ui") {
+@@ -553,7 +553,6 @@ static_library("ui") {
      "//components/renderer_context_menu",
      "//components/resources",
      "//components/safe_browsing/content/browser",
@@ -1788,10 +1888,10 @@
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/web_ui",
      "//components/safe_browsing/core/browser/db:database_manager",
-@@ -4884,8 +4883,6 @@ static_library("ui") {
+@@ -4918,8 +4917,6 @@ static_library("ui") {
        "views/safe_browsing/prompt_for_scanning_modal_dialog.h",
-       "views/safe_browsing/tailored_security_desktop_dialog.cc",
-       "views/safe_browsing/tailored_security_desktop_dialog.h",
+       "views/safe_browsing/tailored_security_desktop_dialog_manager.cc",
+       "views/safe_browsing/tailored_security_desktop_dialog_manager.h",
 -      "views/safe_browsing/tailored_security_unconsented_modal.cc",
 -      "views/safe_browsing/tailored_security_unconsented_modal.h",
        "views/send_tab_to_self/manage_account_devices_link_view.cc",
@@ -1836,31 +1936,31 @@
  #include "chrome/browser/profiles/profile.h"
  #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
  #include "content/public/browser/web_contents.h"
-@@ -21,6 +24,7 @@
+@@ -22,6 +25,7 @@
  
  namespace {
  
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
- void CompletionCallback(
-     content::WebContentsViewDelegate::DropCompletionCallback callback,
-     const enterprise_connectors::ContentAnalysisDelegate::Data& data,
-@@ -59,6 +63,7 @@ enterprise_connectors::ContentAnalysisDe
-   }
-   return data;
+ // Helper to keep a mapping of files to the index of their corresponding parent
+ // entry in content::DropData::filenames. For instance, this means that for a
+ // DropData with filenames = [ "a.txt", "dir/"], `PathsAndIndexes` might be
+@@ -113,6 +117,7 @@ ContentAnalysisDropData GetPathsToScan(
+ 
+   return content_analysis_drop_data;
  }
 +#endif // BUILDFLAG(FULL_SAFE_BROWSING)
  
  // Helper class to handle WebContents being destroyed while files are opened in
  // the threadpool. This class deletes itself either when it's no longer needed
-@@ -72,6 +77,7 @@ class HandleDropScanData : public conten
-       : content::WebContentsObserver(web_contents),
+@@ -128,6 +133,7 @@ class HandleDropScanData : public conten
+         drop_data_(std::move(drop_data)),
          callback_(std::move(callback)) {}
  
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
-   void ScanData(
-       enterprise_connectors::ContentAnalysisDelegate::Data analysis_data) {
+   void ScanData(ContentAnalysisDropData content_analysis_drop_data) {
      DCHECK(web_contents());
-@@ -83,6 +89,7 @@ class HandleDropScanData : public conten
+ 
+@@ -140,6 +146,7 @@ class HandleDropScanData : public conten
  
      delete this;
    }
@@ -1868,9 +1968,9 @@
  
    void WebContentsDestroyed() override { delete this; }
  
-@@ -102,13 +109,16 @@ void HandleOnPerformDrop(
+@@ -160,13 +167,16 @@ void HandleOnPerformDrop(
      content::WebContents* web_contents,
-     const content::DropData& drop_data,
+     content::DropData drop_data,
      content::WebContentsViewDelegate::DropCompletionCallback callback) {
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
    enterprise_connectors::ContentAnalysisDelegate::Data data;
@@ -1884,19 +1984,18 @@
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
    if (!enterprise_connectors::ContentAnalysisDelegate::IsEnabled(
            profile, web_contents->GetLastCommittedURL(), &data, connector)) {
-     std::move(callback).Run(
-@@ -148,4 +158,8 @@ void HandleOnPerformDrop(
-     std::move(callback).Run(
-         content::WebContentsViewDelegate::DropCompletionResult::kContinue);
+     std::move(callback).Run(std::move(drop_data));
+@@ -203,6 +213,7 @@ void HandleOnPerformDrop(
+         base::BindOnce(&HandleDropScanData::ScanData,
+                        handle_drop_scan_data->GetWeakPtr()));
    }
-+#else
-+  std::move(callback).Run(
-+      content::WebContentsViewDelegate::DropCompletionResult::kContinue);
 +#endif // BUILDFLAG(FULL_SAFE_BROWSING)
- }
+ 
+   if (!callback.is_null()) {
+     std::move(callback).Run(std::move(drop_data));
 --- a/chrome/browser/ui/views/download/download_item_view.cc
 +++ b/chrome/browser/ui/views/download/download_item_view.cc
-@@ -838,9 +838,7 @@ void DownloadItemView::UpdateLabels() {
+@@ -840,9 +840,7 @@ void DownloadItemView::UpdateLabels() {
    deep_scanning_label_->SetVisible(mode_ ==
                                     download::DownloadItemMode::kDeepScanning);
    if (deep_scanning_label_->GetVisible()) {
@@ -1907,7 +2006,7 @@
                         ? IDS_PROMPT_DEEP_SCANNING_DOWNLOAD
                         : IDS_PROMPT_DEEP_SCANNING_APP_DOWNLOAD;
      const std::u16string filename = ElidedFilename(*deep_scanning_label_);
-@@ -866,11 +864,15 @@ void DownloadItemView::UpdateButtons() {
+@@ -868,11 +866,15 @@ void DownloadItemView::UpdateButtons() {
    }
  
    const bool allow_open_during_deep_scan =
@@ -1923,7 +2022,7 @@
    open_button_->SetEnabled((mode_ == download::DownloadItemMode::kNormal) ||
                             prompt_to_scan || allow_open_during_deep_scan);
  
-@@ -1366,7 +1368,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1369,7 +1371,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -2007,7 +2106,7 @@
                                 std::move(callback),
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -1379,7 +1379,6 @@ if (!is_android) {
+@@ -1406,7 +1406,6 @@ if (!is_android) {
        "//components/resources",
        "//components/safe_browsing:buildflags",
        "//components/safe_browsing/content/browser",
@@ -2015,7 +2114,7 @@
        "//components/safe_browsing/content/browser:safe_browsing_service",
        "//components/safe_browsing/content/browser/password_protection",
        "//components/safe_browsing/content/browser/password_protection:test_support",
-@@ -5891,7 +5890,6 @@ test("unit_tests") {
+@@ -5951,7 +5950,6 @@ test("unit_tests") {
      "//components/resources",
      "//components/safe_browsing:buildflags",
      "//components/safe_browsing/content/browser",
@@ -2025,7 +2124,7 @@
      "//components/safe_browsing/content/browser/web_ui",
 --- a/components/password_manager/content/browser/content_password_manager_driver.cc
 +++ b/components/password_manager/content/browser/content_password_manager_driver.cc
-@@ -438,7 +438,7 @@ void ContentPasswordManagerDriver::Check
+@@ -430,7 +430,7 @@ void ContentPasswordManagerDriver::Check
    if (!password_manager::bad_message::CheckFrameNotPrerendering(
            render_frame_host_))
      return;
@@ -2036,7 +2135,7 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -392,11 +392,14 @@ class PasswordManagerClient {
+@@ -394,11 +394,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual autofill::LanguageCode GetPageLanguage() const;
  
@@ -2052,7 +2151,7 @@
    // Checks the safe browsing reputation of the webpage when the
    // user focuses on a username/password field. This is used for reporting
    // only, and won't trigger a warning.
-@@ -404,6 +407,7 @@ class PasswordManagerClient {
+@@ -406,6 +409,7 @@ class PasswordManagerClient {
                                             const GURL& frame_url) = 0;
  #endif
  
@@ -2060,7 +2159,7 @@
    // Checks the safe browsing reputation of the webpage where password reuse
    // happens. This is called by the PasswordReuseDetectionManager when a
    // protected password is typed on the wrong domain. This may trigger a
-@@ -420,6 +424,7 @@ class PasswordManagerClient {
+@@ -422,6 +426,7 @@ class PasswordManagerClient {
        bool password_field_exists,
        uint64_t reused_password_hash,
        const std::string& domain) = 0;
@@ -2101,7 +2200,7 @@
 +# }
 --- a/components/safe_browsing/content/common/safe_browsing.mojom
 +++ b/components/safe_browsing/content/common/safe_browsing.mojom
-@@ -133,7 +133,6 @@ interface PhishingDetector {
+@@ -138,7 +138,6 @@ interface PhishingDetector {
      => (PhishingDetectorResult result, string request_proto);
  };
  
@@ -2217,7 +2316,7 @@
    void DidFileSkipQuarantine(base::File::Error result);
 --- a/content/public/browser/file_system_access_permission_context.h
 +++ b/content/public/browser/file_system_access_permission_context.h
-@@ -113,12 +113,6 @@ class FileSystemAccessPermissionContext
+@@ -112,12 +112,6 @@ class FileSystemAccessPermissionContext
        base::OnceCallback<void(SensitiveEntryResult)> callback) = 0;
  
    enum class AfterWriteCheckResult { kAllow, kBlock };
@@ -2259,7 +2358,7 @@
  declare_args() {
 --- a/weblayer/BUILD.gn
 +++ b/weblayer/BUILD.gn
-@@ -473,7 +473,6 @@ source_set("weblayer_lib_base") {
+@@ -477,7 +477,6 @@ source_set("weblayer_lib_base") {
      "//components/profile_metrics",
      "//components/reduce_accept_language/browser",
      "//components/safe_browsing/content/browser",

+ 125 - 113
patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch

@@ -4,7 +4,7 @@
 
 --- a/android_webview/browser/aw_browser_context.cc
 +++ b/android_webview/browser/aw_browser_context.cc
-@@ -48,7 +48,6 @@
+@@ -54,7 +54,6 @@
  #include "components/prefs/pref_service_factory.h"
  #include "components/prefs/segregated_pref_store.h"
  #include "components/profile_metrics/browser_profile_type.h"
@@ -12,7 +12,7 @@
  #include "components/url_formatter/url_fixer.h"
  #include "components/user_prefs/user_prefs.h"
  #include "components/visitedlink/browser/visitedlink_writer.h"
-@@ -474,8 +473,6 @@ void AwBrowserContext::RebuildTable(
+@@ -501,8 +500,6 @@ void AwBrowserContext::RebuildTable(
  }
  
  void AwBrowserContext::SetExtendedReportingAllowed(bool allowed) {
@@ -23,7 +23,7 @@
  // TODO(amalova): Make sure NetworkContextParams is configured correctly when
 --- a/chrome/app/settings_strings.grdp
 +++ b/chrome/app/settings_strings.grdp
-@@ -2076,69 +2076,9 @@
+@@ -2144,69 +2144,9 @@
    <message name="IDS_SETTINGS_NETWORK_PREDICTION_ENABLED_DESC_COOKIES_PAGE" desc="On the cookies page, the secondary text next to the checkbox that enables prediction of network actions.">
      Preloads pages that Chrome thinks you might visit. To do this, Chrome may use cookies, if you allow cookies, and may encrypt and send pages through Google to hide your identity from sites.
    </message>
@@ -207,7 +207,7 @@
    user_manager::KnownUser known_user(g_browser_process->local_state());
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -239,7 +239,6 @@
+@@ -243,7 +243,6 @@
  #include "components/safe_browsing/core/browser/realtime/url_lookup_service.h"
  #include "components/safe_browsing/core/browser/url_checker_delegate.h"
  #include "components/safe_browsing/core/common/features.h"
@@ -227,7 +227,7 @@
  #include "content/public/browser/browser_task_traits.h"
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -867,6 +867,7 @@ void DownloadItemModel::ExecuteCommand(D
+@@ -886,6 +886,7 @@ void DownloadItemModel::ExecuteCommand(D
        DownloadUIModel::ExecuteCommand(download_commands, command);
        break;
      case DownloadCommands::DEEP_SCAN:
@@ -235,7 +235,7 @@
        safe_browsing::SafeBrowsingService* sb_service =
            g_browser_process->safe_browsing_service();
        if (!sb_service)
-@@ -899,6 +900,7 @@ void DownloadItemModel::ExecuteCommand(D
+@@ -918,6 +919,7 @@ void DownloadItemModel::ExecuteCommand(D
            safe_browsing::DeepScanningRequest::DeepScanTrigger::
                TRIGGER_APP_PROMPT,
            safe_browsing::DownloadCheckResult::UNKNOWN, std::move(settings));
@@ -245,7 +245,7 @@
  }
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
-@@ -41,7 +41,6 @@
+@@ -42,7 +42,6 @@
  #include "components/policy/core/common/chrome_schema.h"
  #include "components/prefs/pref_service.h"
  #include "components/safe_browsing/core/common/features.h"
@@ -263,7 +263,7 @@
  #include "components/signin/public/base/consent_level.h"
  #include "components/signin/public/identity_manager/identity_manager.h"
  #include "components/user_prefs/user_prefs.h"
-@@ -374,8 +373,7 @@ std::string ConnectorsService::GetManage
+@@ -376,8 +375,7 @@ std::string ConnectorsService::GetManage
  
    absl::optional<policy::PolicyScope> scope = absl::nullopt;
    for (const char* scope_pref :
@@ -273,7 +273,7 @@
          ConnectorScopePref(AnalysisConnector::FILE_DOWNLOADED),
          ConnectorScopePref(AnalysisConnector::BULK_DATA_ENTRY),
          ConnectorScopePref(AnalysisConnector::PRINT),
-@@ -427,20 +425,6 @@ std::string ConnectorsService::GetManage
+@@ -429,20 +427,6 @@ std::string ConnectorsService::GetManage
  
  absl::optional<std::string> ConnectorsService::GetDMTokenForRealTimeUrlCheck()
      const {
@@ -363,7 +363,7 @@
  class PolicyBlocklistService;
 --- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
 +++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
-@@ -99,45 +99,10 @@ api::enterprise_reporting_private::Conte
+@@ -97,45 +97,10 @@ api::enterprise_reporting_private::Conte
    info.browser_version = std::move(signals.browser_version);
    info.built_in_dns_client_enabled = signals.built_in_dns_client_enabled;
  
@@ -415,7 +415,7 @@
  }
 --- a/chrome/browser/extensions/api/identity/identity_apitest.cc
 +++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
-@@ -57,7 +57,6 @@
+@@ -59,7 +59,6 @@
  #include "components/prefs/pref_service.h"
  #include "components/signin/core/browser/account_reconcilor.h"
  #include "components/signin/public/base/list_accounts_test_utils.h"
@@ -444,7 +444,7 @@
  std::string GetOAuth2MintTokenFlowVersion() {
 --- a/chrome/browser/extensions/api/preference/preference_api.cc
 +++ b/chrome/browser/extensions/api/preference/preference_api.cc
-@@ -35,7 +35,6 @@
+@@ -34,7 +34,6 @@
  #include "components/prefs/pref_service.h"
  #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
  #include "components/proxy_config/proxy_config_pref_names.h"
@@ -452,7 +452,7 @@
  #include "components/spellcheck/browser/pref_names.h"
  #include "components/translate/core/browser/translate_pref_names.h"
  #include "extensions/browser/api/content_settings/content_settings_service.h"
-@@ -118,11 +117,6 @@ const PrefMappingEntry kPrefMapping[] =
+@@ -130,11 +129,6 @@ const PrefMappingEntry kPrefMapping[] =
       APIPermissionID::kPrivacy},
      {"doNotTrackEnabled", prefs::kEnableDoNotTrack, APIPermissionID::kPrivacy,
       APIPermissionID::kPrivacy},
@@ -464,7 +464,7 @@
      {"searchSuggestEnabled", prefs::kSearchSuggestEnabled,
       APIPermissionID::kPrivacy, APIPermissionID::kPrivacy},
      {"spellingServiceEnabled", spellcheck::prefs::kSpellCheckUseSpellingService,
-@@ -1059,18 +1053,6 @@ ExtensionFunction::ResponseAction SetPre
+@@ -1074,18 +1068,6 @@ ExtensionFunction::ResponseAction SetPre
          base::Value(browser_pref_value->GetBool()));
    }
  
@@ -483,7 +483,7 @@
    base::Value val =
        base::Value::FromUniquePtrValue(std::move(browser_pref_value));
  
-@@ -1166,17 +1148,6 @@ ExtensionFunction::ResponseAction ClearP
+@@ -1175,17 +1157,6 @@ ExtensionFunction::ResponseAction ClearP
    PreferenceAPI::Get(browser_context())
        ->RemoveExtensionControlledPref(extension_id(), browser_pref, scope);
  
@@ -557,7 +557,7 @@
  #include "extensions/browser/test_event_router.h"
 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
 +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -46,7 +46,6 @@
+@@ -45,7 +45,6 @@
  #include "components/prefs/pref_service.h"
  #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
  #include "components/proxy_config/proxy_config_pref_names.h"
@@ -565,7 +565,7 @@
  #include "components/search_engines/default_search_manager.h"
  #include "components/spellcheck/browser/pref_names.h"
  #include "components/translate/core/browser/translate_pref_names.h"
-@@ -308,16 +307,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -303,16 +302,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
        settings_api::PrefType::PREF_TYPE_BOOLEAN;
  
    // Security page
@@ -673,14 +673,14 @@
 --- a/chrome/browser/net/profile_network_context_service.cc
 +++ b/chrome/browser/net/profile_network_context_service.cc
 @@ -52,7 +52,6 @@
- #include "components/pref_registry/pref_registry_syncable.h"
  #include "components/prefs/pref_registry_simple.h"
  #include "components/prefs/pref_service.h"
+ #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
 -#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
  #include "content/public/browser/browser_context.h"
  #include "content/public/browser/browser_thread.h"
  #include "content/public/browser/first_party_sets_handler.h"
-@@ -865,15 +864,8 @@ void ProfileNetworkContextService::Confi
+@@ -873,15 +872,8 @@ void ProfileNetworkContextService::Confi
    network_context_params->enable_certificate_reporting = true;
    network_context_params->enable_expect_ct_reporting = true;
  
@@ -729,7 +729,7 @@
  }
  
  TrialComparisonCertVerifierController::
-@@ -100,9 +93,7 @@ bool TrialComparisonCertVerifierControll
+@@ -93,9 +86,7 @@ bool TrialComparisonCertVerifierControll
    if (!MaybeAllowedForProfile(profile_))
      return false;
  
@@ -870,7 +870,7 @@
  }
 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
 +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -96,14 +96,11 @@
+@@ -97,14 +97,11 @@
  #include "components/proxy_config/proxy_policy_handler.h"
  #include "components/safe_browsing/buildflags.h"
  #include "components/safe_browsing/content/common/file_type_policies_prefs.h"
@@ -885,7 +885,7 @@
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/sync/base/pref_names.h"
  #include "components/sync/driver/sync_policy_handler.h"
-@@ -220,9 +217,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -221,9 +218,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kDefaultPopupsSetting,
      prefs::kManagedDefaultPopupsSetting,
      base::Value::Type::INTEGER },
@@ -895,7 +895,7 @@
    { key::kEditBookmarksEnabled,
      bookmarks::prefs::kEditBookmarksEnabled,
      base::Value::Type::BOOLEAN },
-@@ -242,9 +236,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -243,9 +237,6 @@ const PolicyToPreferenceMapEntry kSimple
      prefs::kPrintingEnabled,
      base::Value::Type::BOOLEAN },
  #endif // BUILDFLAG(ENABLE_PRINTING)
@@ -905,7 +905,7 @@
    { key::kSavingBrowserHistoryDisabled,
      prefs::kSavingBrowserHistoryDisabled,
      base::Value::Type::BOOLEAN },
-@@ -306,9 +297,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -307,9 +298,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kAdsSettingForIntrusiveAdsSites,
      prefs::kManagedDefaultAdsSetting,
      base::Value::Type::INTEGER },
@@ -915,7 +915,7 @@
    { key::kAllowCrossOriginAuthPrompt,
      prefs::kAllowCrossOriginAuthPrompt,
      base::Value::Type::BOOLEAN },
-@@ -508,15 +496,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -506,15 +494,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kPasswordDismissCompromisedAlertEnabled,
      password_manager::prefs::kPasswordDismissCompromisedAlertEnabled,
      base::Value::Type::BOOLEAN },
@@ -931,7 +931,7 @@
    { key::kPolicyRefreshRate,
      policy_prefs::kUserPolicyRefreshRate,
      base::Value::Type::INTEGER },
-@@ -555,9 +534,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -553,9 +532,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kRestoreOnStartupURLs,
      prefs::kURLsToRestoreOnStartup,
      base::Value::Type::LIST },
@@ -941,7 +941,7 @@
    { key::kSafeSitesFilterBehavior,
      policy_prefs::kSafeSitesFilterBehavior,
      base::Value::Type::INTEGER },
-@@ -680,9 +656,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -678,9 +654,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kAdditionalDnsQueryTypesEnabled,
      prefs::kAdditionalDnsQueryTypesEnabled,
      base::Value::Type::BOOLEAN },
@@ -951,7 +951,7 @@
    { key::kForceGoogleSafeSearch,
      prefs::kForceGoogleSafeSearch,
      base::Value::Type::BOOLEAN },
-@@ -1482,9 +1455,6 @@ const PolicyToPreferenceMapEntry kSimple
+@@ -1489,9 +1462,6 @@ const PolicyToPreferenceMapEntry kSimple
    { key::kIdleProfileCloseTimeout,
      prefs::kIdleProfileCloseTimeout,
      base::Value::Type::INTEGER },
@@ -961,7 +961,7 @@
    { key::kHardwareAccelerationModeEnabled,
      prefs::kHardwareAccelerationModeEnabled,
      base::Value::Type::BOOLEAN },
-@@ -1872,12 +1842,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -1898,12 +1868,6 @@ std::unique_ptr<ConfigurationPolicyHandl
            SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED,
            SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
  
@@ -974,7 +974,7 @@
  
    handlers->AddHandler(
        std::make_unique<ManagedAccountRestrictionsPolicyHandler>(chrome_schema));
-@@ -2052,24 +2016,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -2084,24 +2048,6 @@ std::unique_ptr<ConfigurationPolicyHandl
  #else   // BUILDFLAG(IS_CHROMEOS)
    std::vector<std::unique_ptr<ConfigurationPolicyHandler>>
        signin_legacy_policies;
@@ -1001,7 +1001,7 @@
        std::make_unique<BrowserSigninPolicyHandler>(chrome_schema)));
 --- a/chrome/browser/prefs/browser_prefs.cc
 +++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -133,7 +133,6 @@
+@@ -135,7 +135,6 @@
  #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
  #include "components/proxy_config/pref_proxy_config_tracker_impl.h"
  #include "components/safe_browsing/content/common/file_type_policies_prefs.h"
@@ -1009,7 +1009,7 @@
  #include "components/search_engines/template_url_prepopulate_data.h"
  #include "components/security_interstitials/content/insecure_form_blocking_page.h"
  #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
-@@ -1064,7 +1063,6 @@ void RegisterLocalState(PrefRegistrySimp
+@@ -1035,7 +1034,6 @@ void RegisterLocalState(PrefRegistrySimp
    PushMessagingServiceImpl::RegisterPrefs(registry);
  #endif
    RegisterScreenshotPrefs(registry);
@@ -1017,7 +1017,7 @@
    secure_origin_allowlist::RegisterPrefs(registry);
    segmentation_platform::SegmentationPlatformService::RegisterLocalStatePrefs(
        registry);
-@@ -1320,8 +1318,6 @@ void RegisterProfilePrefs(user_prefs::Pr
+@@ -1293,8 +1291,6 @@ void RegisterProfilePrefs(user_prefs::Pr
    PushMessagingAppIdentifier::RegisterProfilePrefs(registry);
    QuietNotificationPermissionUiState::RegisterProfilePrefs(registry);
    RegisterBrowserUserPrefs(registry);
@@ -1178,22 +1178,22 @@
                        params.account_id.GetAccountIdKey());
 -  info.SetBoolKey(prefs::kSignedInWithCredentialProvider,
 -                  params.is_signed_in_with_credential_provider);
-   attributes->SetKey(key, std::move(info));
+   attributes.Set(key, std::move(info));
  
    ProfileAttributesEntry* entry = InitEntryWithKey(key, params.is_omitted);
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -148,7 +148,6 @@
+@@ -145,7 +145,6 @@
+ #include "components/prefs/scoped_user_pref_update.h"
  #include "components/profile_metrics/browser_profile_type.h"
  #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
- #include "components/services/screen_ai/buildflags/buildflags.h"
 -#include "components/signin/public/base/signin_pref_names.h"
  #include "components/signin/public/identity_manager/identity_manager.h"
  #include "components/site_isolation/site_isolation_policy.h"
  #include "components/spellcheck/spellcheck_buildflags.h"
 --- a/chrome/browser/profiles/profile_manager.cc
 +++ b/chrome/browser/profiles/profile_manager.cc
-@@ -93,7 +93,6 @@
+@@ -94,7 +94,6 @@
  #include "components/signin/public/base/consent_level.h"
  #include "components/signin/public/base/signin_buildflags.h"
  #include "components/signin/public/base/signin_metrics.h"
@@ -1201,7 +1201,7 @@
  #include "components/signin/public/identity_manager/identity_manager.h"
  #include "components/signin/public/identity_manager/primary_account_mutator.h"
  #include "components/sync/base/stop_source.h"
-@@ -2256,8 +2255,7 @@ void ProfileManager::AddProfileToStorage
+@@ -2268,8 +2267,7 @@ void ProfileManager::AddProfileToStorage
        entry->SetAuthInfo(account_info.gaia, username,
                           is_consented_primary_account);
  
@@ -1211,9 +1211,9 @@
  
  #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
        // Sign out if force-sign-in policy is enabled and profile is not signed
-@@ -2312,14 +2310,13 @@ void ProfileManager::AddProfileToStorage
+@@ -2324,14 +2322,13 @@ void ProfileManager::AddProfileToStorage
  
-   init_params.is_ephemeral = IsEphemeral(profile);
+   init_params.is_ephemeral = IsForceEphemeralProfilesEnabled(profile);
    init_params.is_signed_in_with_credential_provider =
 -      profile->GetPrefs()->GetBoolean(prefs::kSignedInWithCredentialProvider);
 +      false;
@@ -1264,7 +1264,7 @@
      </cr-dialog>
 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
 +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
-@@ -583,7 +583,7 @@
+@@ -576,7 +576,7 @@
            </category-setting-exceptions>
          </settings-subpage>
        </template>
@@ -1275,7 +1275,7 @@
            <settings-subpage page-title="$i18n{siteSettingsAds}"
 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
 +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
-@@ -98,7 +98,7 @@ export class SettingsPrivacyPageElement
+@@ -97,7 +97,7 @@ export class SettingsPrivacyPageElement
        enableSafeBrowsingSubresourceFilter_: {
          type: Boolean,
          value() {
@@ -1403,7 +1403,7 @@
 -    </template>
 --- a/chrome/browser/resources/settings/privacy_page/security_page.ts
 +++ b/chrome/browser/resources/settings/privacy_page/security_page.ts
-@@ -216,17 +216,6 @@ export class SettingsSecurityPageElement
+@@ -219,20 +219,6 @@ export class SettingsSecurityPageElement
  
    override ready() {
      super.ready();
@@ -1418,10 +1418,13 @@
 -        this.$.safeBrowsingStandard.expanded = true;
 -      }
 -    });
+-
+-    this.registerHelpBubbleIdentifier(
+-        'kEnhancedProtectionSettingElementId', 'safeBrowsingEnhanced');
    }
  
    /**
-@@ -275,8 +264,7 @@ export class SettingsSecurityPageElement
+@@ -281,8 +267,7 @@ export class SettingsSecurityPageElement
    }
  
    private getDisabledExtendedSafeBrowsing_(): boolean {
@@ -1557,7 +1560,7 @@
  namespace safe_browsing {
 --- a/chrome/browser/safe_browsing/chrome_password_protection_service.cc
 +++ b/chrome/browser/safe_browsing/chrome_password_protection_service.cc
-@@ -65,7 +65,6 @@
+@@ -66,7 +66,6 @@
  #include "components/safe_browsing/core/browser/verdict_cache_manager.h"
  #include "components/safe_browsing/core/common/features.h"
  #include "components/safe_browsing/core/common/proto/csd.pb.h"
@@ -1635,7 +1638,7 @@
  }
  
  RequestOutcome ChromePasswordProtectionService::GetPingNotSentReason(
-@@ -1672,22 +1626,6 @@ MaybeCreateCommitDeferringCondition(
+@@ -1671,22 +1625,6 @@ MaybeCreateCommitDeferringCondition(
               : nullptr;
  }
  
@@ -2082,7 +2085,7 @@
  #include "content/public/browser/download_item_utils.h"
 --- a/chrome/browser/safe_browsing/url_checker_delegate_impl.cc
 +++ b/chrome/browser/safe_browsing/url_checker_delegate_impl.cc
-@@ -21,7 +21,6 @@
+@@ -22,7 +22,6 @@
  #include "components/safe_browsing/core/browser/db/database_manager.h"
  #include "components/safe_browsing/core/browser/db/v4_protocol_manager_util.h"
  #include "components/safe_browsing/core/common/features.h"
@@ -2488,7 +2491,7 @@
  #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
 --- a/chrome/browser/supervised_user/supervised_user_pref_store.cc
 +++ b/chrome/browser/supervised_user/supervised_user_pref_store.cc
-@@ -25,7 +25,6 @@
+@@ -27,7 +27,6 @@
  #include "chrome/common/pref_names.h"
  #include "components/feed/core/shared_prefs/pref_names.h"
  #include "components/prefs/pref_value_map.h"
@@ -2496,7 +2499,7 @@
  #include "components/signin/public/base/signin_switches.h"
  #include "extensions/buildflags/buildflags.h"
  
-@@ -58,10 +57,6 @@ SupervisedUserSettingsPrefMappingEntry k
+@@ -60,10 +59,6 @@ SupervisedUserSettingsPrefMappingEntry k
          prefs::kSupervisedUserSafeSites,
      },
      {
@@ -2507,7 +2510,7 @@
          supervised_users::kUserName,
          prefs::kProfileName,
      },
-@@ -126,7 +121,6 @@ void SupervisedUserPrefStore::OnNewSetti
+@@ -128,7 +123,6 @@ void SupervisedUserPrefStore::OnNewSetti
      prefs_->SetInteger(prefs::kForceYouTubeRestrict,
                         safe_search_util::YOUTUBE_RESTRICT_MODERATE);
      prefs_->SetBoolean(prefs::kHideWebStoreIcon, false);
@@ -2546,7 +2549,7 @@
  
    InitCommandState();
  
-@@ -1628,7 +1623,7 @@ void BrowserCommandController::UpdateSho
+@@ -1629,7 +1624,7 @@ void BrowserCommandController::UpdateSho
      return;
  
    command_updater_.UpdateCommandEnabled(
@@ -2585,7 +2588,7 @@
  #include "components/signin/public/identity_manager/identity_manager.h"
  #endif
  
-@@ -593,13 +592,7 @@ void ShowBrowserSignin(Browser* browser,
+@@ -592,13 +591,7 @@ void ShowBrowserSignin(Browser* browser,
  
  void ShowBrowserSigninOrSettings(Browser* browser,
                                   signin_metrics::AccessPoint access_point) {
@@ -2747,7 +2750,7 @@
  #include "components/user_education/common/tutorial_identifier.h"
  #include "components/user_education/common/tutorial_service.h"
  #include "ui/base/interaction/element_identifier.h"
-@@ -70,13 +69,6 @@ void BrowserCommandHandler::CanExecuteCo
+@@ -71,13 +70,6 @@ void BrowserCommandHandler::CanExecuteCo
      case Command::kOpenSafetyCheck:
        can_execute = !chrome::enterprise_util::IsBrowserManaged(profile_);
        break;
@@ -2875,7 +2878,7 @@
  #include "content/public/browser/storage_partition.h"
 --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
 +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -67,7 +67,6 @@
+@@ -69,7 +69,6 @@
  #include "components/password_manager/core/common/password_manager_features.h"
  #include "components/prefs/pref_service.h"
  #include "components/privacy_sandbox/privacy_sandbox_features.h"
@@ -2883,7 +2886,7 @@
  #include "components/signin/public/base/signin_buildflags.h"
  #include "components/strings/grit/components_chromium_strings.h"
  #include "components/strings/grit/components_strings.h"
-@@ -1518,44 +1517,6 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1577,44 +1576,6 @@ void AddPrivacyStrings(content::WebUIDat
      {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
      {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
      {"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
@@ -2928,7 +2931,7 @@
      {"safeBrowsingSectionLabel", IDS_SETTINGS_SAFEBROWSING_SECTION_LABEL},
      {"syncAndGoogleServicesPrivacyDescription",
       IDS_SETTINGS_SYNC_AND_GOOGLE_SERVICES_PRIVACY_DESC_UNIFIED_CONSENT},
-@@ -2935,11 +2896,6 @@ void AddSiteSettingsStrings(content::Web
+@@ -2927,11 +2888,6 @@ void AddSiteSettingsStrings(content::Web
    html_source->AddLocalizedStrings(kSensorsLocalizedStrings);
  
    html_source->AddBoolean(
@@ -2947,10 +2950,10 @@
  #include "components/prefs/pref_service.h"
  #include "components/safe_browsing/core/common/features.h"
 -#include "components/signin/public/base/signin_pref_names.h"
+ #include "components/sync/base/features.h"
  #include "content/public/browser/url_data_source.h"
  #include "content/public/browser/web_contents.h"
- #include "content/public/browser/web_ui.h"
-@@ -272,9 +271,7 @@ SettingsUI::SettingsUI(content::WebUI* w
+@@ -274,9 +273,7 @@ SettingsUI::SettingsUI(content::WebUI* w
          std::make_unique<IncompatibleApplicationsHandler>());
  #endif  // BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
  
@@ -2982,7 +2985,7 @@
        default_email.clear();
 --- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
 +++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
-@@ -67,7 +67,6 @@
+@@ -68,7 +68,6 @@
  #include "components/prefs/pref_service.h"
  #include "components/signin/core/browser/about_signin_internals.h"
  #include "components/signin/public/base/signin_metrics.h"
@@ -3051,7 +3054,7 @@
  }
 --- a/chrome/browser/ui/webui/signin/turn_sync_on_helper.cc
 +++ b/chrome/browser/ui/webui/signin/turn_sync_on_helper.cc
-@@ -43,7 +43,6 @@
+@@ -42,7 +42,6 @@
  #include "components/policy/core/common/management/management_service.h"
  #include "components/prefs/pref_service.h"
  #include "components/signin/public/base/signin_metrics.h"
@@ -3059,7 +3062,7 @@
  #include "components/signin/public/identity_manager/accounts_mutator.h"
  #include "components/signin/public/identity_manager/identity_manager.h"
  #include "components/signin/public/identity_manager/primary_account_mutator.h"
-@@ -235,8 +234,7 @@ TurnSyncOnHelper::TurnSyncOnHelper(
+@@ -266,8 +265,7 @@ void TurnSyncOnHelper::TurnSyncOnInterna
    // last authenticated account of the current profile, then Chrome will show a
    // confirmation dialog before starting sync.
    // TODO(skym): Warn for high risk upgrade scenario (https://crbug.com/572754).
@@ -3145,10 +3148,10 @@
  #include "services/network/public/cpp/shared_url_loader_factory.h"
  
  namespace password_manager {
-@@ -175,28 +174,7 @@ void LeakDetectionDelegate::OnError(Leak
+@@ -174,28 +173,7 @@ void LeakDetectionDelegate::OnError(Leak
  
  bool CanStartLeakCheck(const PrefService& prefs,
-                        const PasswordManagerClient* client) {
+                        PasswordManagerClient* client) {
 -  const bool is_leak_protection_on =
 -      prefs.GetBoolean(password_manager::prefs::kPasswordLeakDetectionEnabled);
 -
@@ -3452,7 +3455,7 @@
  #include "content/public/browser/global_routing_id.h"
  #include "services/network/public/mojom/cookie_manager.mojom.h"
  #if BUILDFLAG(FULL_SAFE_BROWSING)
-@@ -1378,17 +1377,7 @@ std::string SerializeHitReport(const Hit
+@@ -1488,17 +1487,7 @@ std::string SerializeHitReport(const Hit
    }
    hit_report_dict.Set("threat_source", threat_source);
    std::string extended_reporting_level;
@@ -3470,7 +3473,7 @@
    hit_report_dict.Set("extended_reporting_level", extended_reporting_level);
    hit_report_dict.Set("is_enhanced_protection",
                        hit_report.is_enhanced_protection);
-@@ -2267,18 +2256,13 @@ void SafeBrowsingUIHandler::GetPrefs(con
+@@ -2377,18 +2366,13 @@ void SafeBrowsingUIHandler::GetPrefs(con
    AllowJavascript();
    DCHECK(!args.empty());
    std::string callback_id = args[0].GetString();
@@ -3520,7 +3523,7 @@
  
 --- a/components/safe_browsing/core/browser/db/v4_local_database_manager.cc
 +++ b/components/safe_browsing/core/browser/db/v4_local_database_manager.cc
-@@ -333,10 +333,9 @@ const V4LocalDatabaseManager*
+@@ -335,10 +335,9 @@ const V4LocalDatabaseManager*
  scoped_refptr<V4LocalDatabaseManager> V4LocalDatabaseManager::Create(
      const base::FilePath& base_path,
      scoped_refptr<base::SequencedTaskRunner> ui_task_runner,
@@ -3533,7 +3536,7 @@
        std::move(io_task_runner), nullptr));
  }
  
-@@ -359,14 +358,12 @@ void V4LocalDatabaseManager::CollectData
+@@ -361,14 +360,12 @@ void V4LocalDatabaseManager::CollectData
  
  V4LocalDatabaseManager::V4LocalDatabaseManager(
      const base::FilePath& base_path,
@@ -3548,7 +3551,7 @@
        list_infos_(GetListInfos()),
        task_runner_(task_runner_for_tests
                         ? task_runner_for_tests
-@@ -1116,8 +1113,7 @@ void V4LocalDatabaseManager::SetupUpdate
+@@ -1129,8 +1126,7 @@ void V4LocalDatabaseManager::SetupUpdate
                            weak_factory_.GetWeakPtr());
  
    v4_update_protocol_manager_ = V4UpdateProtocolManager::Create(
@@ -3578,7 +3581,7 @@
        scoped_refptr<base::SequencedTaskRunner> ui_task_runner,
        scoped_refptr<base::SequencedTaskRunner> io_task_runner,
        scoped_refptr<base::SequencedTaskRunner> task_runner_for_tests);
-@@ -368,10 +366,6 @@ class V4LocalDatabaseManager : public Sa
+@@ -395,10 +393,6 @@ class V4LocalDatabaseManager : public Sa
    // ready to process next update.
    DatabaseUpdatedCallback db_updated_callback_;
  
@@ -3812,7 +3815,7 @@
    switch (hit_report.threat_type) {
 --- a/components/safe_browsing/core/browser/realtime/policy_engine.cc
 +++ b/components/safe_browsing/core/browser/realtime/policy_engine.cc
-@@ -8,7 +8,6 @@
+@@ -9,7 +9,6 @@
  #include "base/metrics/histogram_macros.h"
  #include "build/build_config.h"
  #include "components/prefs/pref_service.h"
@@ -3820,7 +3823,7 @@
  #include "components/safe_browsing/core/common/utils.h"
  #include "components/unified_consent/pref_names.h"
  #include "components/user_prefs/user_prefs.h"
-@@ -36,7 +35,7 @@ bool RealTimePolicyEngine::IsUserMbbOpte
+@@ -54,7 +53,7 @@ bool RealTimePolicyEngine::IsUserMbbOpte
  
  // static
  bool RealTimePolicyEngine::IsUserEpOptedIn(PrefService* pref_service) {
@@ -3829,13 +3832,19 @@
  }
  
  // static
-@@ -82,9 +81,7 @@ bool RealTimePolicyEngine::CanPerformEnt
+@@ -107,15 +106,7 @@ bool RealTimePolicyEngine::CanPerformEnt
      return false;
    }
  
--  return pref_service->GetInteger(
--             prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode) ==
--         REAL_TIME_CHECK_FOR_MAINFRAME_ENABLED;
+-  if (pref_service->GetInteger(
+-          prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode) !=
+-      REAL_TIME_CHECK_FOR_MAINFRAME_ENABLED) {
+-    base::UmaHistogramEnumeration("SafeBrowsing.RT.ConsumerVersionReason",
+-                                  ConsumerVersionReason::POLICY_DISABLED);
+-    return false;
+-  }
+-
+-  return true;
 +  return false;
  }
  
@@ -3948,7 +3957,7 @@
    ScheduleNextLoggingAfterInterval(base::Days(kMetricsLoggingIntervalDay));
  }
  
-@@ -103,87 +83,16 @@ void SafeBrowsingMetricsCollector::Sched
+@@ -103,88 +83,16 @@ void SafeBrowsingMetricsCollector::Sched
  }
  
  void SafeBrowsingMetricsCollector::LogDailyOptInMetrics() {
@@ -4004,17 +4013,18 @@
  }
  
  void SafeBrowsingMetricsCollector::RemoveOldEventsFromPref() {
--  DictionaryPrefUpdate update(pref_service_,
+-  ScopedDictPrefUpdate update(pref_service_,
 -                              prefs::kSafeBrowsingEventTimestamps);
--  base::Value::Dict* mutable_state_dict = update->GetIfDict();
--  bool is_pref_valid = !!mutable_state_dict;
--  base::UmaHistogramBoolean("SafeBrowsing.MetricsCollector.IsPrefValid",
--                            is_pref_valid);
--  if (!is_pref_valid) {
--    return;
--  }
+-  base::Value::Dict& mutable_state_dict = update.Get();
 -
--  for (auto state_map : *mutable_state_dict) {
+-  // Histogram to check whether prefs::kSafeBrowsingEventTimestamp is a dict.
+-  // Prefs DCHECKs if it's the wrong type, or not registered, so this is not
+-  // actually needed.
+-  //
+-  // TODO(mmenke): Remove this histogram.
+-  base::UmaHistogramBoolean("SafeBrowsing.MetricsCollector.IsPrefValid", true);
+-
+-  for (auto state_map : mutable_state_dict) {
 -    for (auto event_map : state_map.second.GetDict()) {
 -      event_map.second.GetList().EraseIf([&](const auto& timestamp) {
 -        return base::Time::Now() - PrefValueToTime(timestamp) >
@@ -4036,7 +4046,7 @@
  }
  
  void SafeBrowsingMetricsCollector::AddBypassEventToPref(
-@@ -220,15 +129,7 @@ absl::optional<base::Time>
+@@ -221,15 +129,7 @@ absl::optional<base::Time>
  SafeBrowsingMetricsCollector::GetLatestEventTimestamp(
      EventTypeFilter event_type_filter) {
    // Events are not logged when Safe Browsing is disabled.
@@ -4052,13 +4062,13 @@
  }
  
  absl::optional<base::Time>
-@@ -240,45 +141,15 @@ SafeBrowsingMetricsCollector::GetLatestS
+@@ -241,45 +141,15 @@ SafeBrowsingMetricsCollector::GetLatestS
  void SafeBrowsingMetricsCollector::AddSafeBrowsingEventAndUserStateToPref(
      UserState user_state,
      EventType event_type) {
--  DictionaryPrefUpdate update(pref_service_,
+-  ScopedDictPrefUpdate update(pref_service_,
 -                              prefs::kSafeBrowsingEventTimestamps);
--  base::Value::Dict& mutable_state_dict = update->GetDict();
+-  base::Value::Dict& mutable_state_dict = update.Get();
 -  base::Value::Dict* event_dict =
 -      mutable_state_dict.EnsureDict(UserStateToPrefKey(user_state));
 -  base::Value::List* timestamps =
@@ -4099,7 +4109,7 @@
  }
  
  absl::optional<SafeBrowsingMetricsCollector::Event>
-@@ -440,20 +311,7 @@ int SafeBrowsingMetricsCollector::GetEve
+@@ -441,20 +311,7 @@ int SafeBrowsingMetricsCollector::GetEve
  }
  
  UserState SafeBrowsingMetricsCollector::GetUserState() {
@@ -4147,7 +4157,7 @@
  }
  
  TailoredSecurityService::~TailoredSecurityService() {
-@@ -406,20 +396,6 @@ void TailoredSecurityService::MaybeNotif
+@@ -406,24 +396,6 @@ void TailoredSecurityService::MaybeNotif
      return;
    }
  
@@ -4157,13 +4167,17 @@
 -  }
 -
 -  if (is_enabled && !IsEnhancedProtectionEnabled(*prefs())) {
--    ShowSyncNotification(true);
+-    for (auto& observer : observer_list_) {
+-      observer.OnSyncNotificationMessageRequest(true);
+-    }
 -  }
 -
 -  if (!is_enabled && IsEnhancedProtectionEnabled(*prefs()) &&
 -      prefs()->GetBoolean(
 -          prefs::kEnhancedProtectionEnabledViaTailoredSecurity)) {
--    ShowSyncNotification(false);
+-    for (auto& observer : observer_list_) {
+-      observer.OnSyncNotificationMessageRequest(false);
+-    }
 -  }
  }
  
@@ -4649,7 +4663,7 @@
    } else if (currently_authenticated && !previously_authenticated_) {
      SignedInAccountRelationReport(signed_in_accounts, signed_out_accounts,
                                    ReportingType::ON_CHANGE);
-@@ -247,10 +230,6 @@ void AccountInvestigator::DoPeriodicRepo
+@@ -246,10 +229,6 @@ void AccountInvestigator::DoPeriodicRepo
    }
  
    periodic_pending_ = false;
@@ -4660,7 +4674,7 @@
  }
  
  void AccountInvestigator::SharedCookieJarReport(
-@@ -258,8 +237,7 @@ void AccountInvestigator::SharedCookieJa
+@@ -257,8 +236,7 @@ void AccountInvestigator::SharedCookieJa
      const std::vector<ListedAccount>& signed_out_accounts,
      const Time now,
      const ReportingType type) {
@@ -4738,7 +4752,7 @@
  }
  #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
  
-@@ -552,27 +544,6 @@ void AccountTrackerService::OnAccountIma
+@@ -552,26 +544,6 @@ void AccountTrackerService::OnAccountIma
      const CoreAccountId& account_id,
      const std::string& image_url_with_size,
      bool success) {
@@ -4746,9 +4760,8 @@
 -    return;
 -
 -  base::Value::Dict* dict = nullptr;
--  ListPrefUpdate update(pref_service_, prefs::kAccountInfo);
--  base::Value::List& list = update->GetList();
--  for (base::Value& value : list) {
+-  ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo);
+-  for (base::Value& value : *update) {
 -    base::Value::Dict* maybe_dict = value.GetIfDict();
 -    if (maybe_dict) {
 -      const std::string* account_key = maybe_dict->FindString(kAccountKeyKey);
@@ -4766,7 +4779,7 @@
  }
  
  void AccountTrackerService::RemoveAccountImageFromDisk(
-@@ -584,177 +555,16 @@ void AccountTrackerService::RemoveAccoun
+@@ -583,176 +555,16 @@ void AccountTrackerService::RemoveAccoun
  }
  
  void AccountTrackerService::LoadFromPrefs() {
@@ -4803,8 +4816,8 @@
 -                                              ? signin::Tribool::kTrue
 -                                              : signin::Tribool::kFalse;
 -          // Migrate to kAccountChildAttributeKey.
--          ListPrefUpdate update(pref_service_, prefs::kAccountInfo);
--          base::Value::Dict& update_dict = update->GetList()[i].GetDict();
+-          ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo);
+-          base::Value::Dict& update_dict = (*update)[i].GetDict();
 -          update_dict.Set(kAccountChildAttributeKey,
 -                          static_cast<int>(account_info.is_child_account));
 -          update_dict.Remove(kDeprecatedChildStatusKey);
@@ -4824,8 +4837,8 @@
 -                dict->FindIntByDottedPath(
 -                    kDeprecatedCanOfferExtendedChromeSyncPromosPrefPath)) {
 -          // Migrate to Capability names based pref paths.
--          ListPrefUpdate update(pref_service_, prefs::kAccountInfo);
--          base::Value::Dict& update_dict = update->GetList()[i].GetDict();
+-          ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo);
+-          base::Value::Dict& update_dict = (*update)[i].GetDict();
 -          SetAccountCapabilityState(
 -              update_dict, kCanOfferExtendedChromeSyncPromosCapabilityName,
 -              ParseTribool(can_offer_extended_chrome_sync_promos));
@@ -4888,9 +4901,8 @@
 -    return;
 -
 -  base::Value::Dict* dict = nullptr;
--  ListPrefUpdate update(pref_service_, prefs::kAccountInfo);
--  base::Value::List& list = update->GetList();
--  for (base::Value& value : list) {
+-  ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo);
+-  for (base::Value& value : *update) {
 -    base::Value::Dict* maybe_dict = value.GetIfDict();
 -    if (maybe_dict) {
 -      const std::string* account_key = maybe_dict->FindString(kAccountKeyKey);
@@ -4902,8 +4914,8 @@
 -  }
 -
 -  if (!dict) {
--    list.Append(base::Value::Dict());
--    dict = &list.back().GetDict();
+-    update->Append(base::Value::Dict());
+-    dict = &update->back().GetDict();
 -    dict->Set(kAccountKeyKey, account_info.account_id.ToString());
 -  }
 -
@@ -4933,9 +4945,9 @@
    if (!pref_service_)
      return;
  
--  ListPrefUpdate update(pref_service_, prefs::kAccountInfo);
+-  ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo);
    const std::string account_id = account_info.account_id.ToString();
--  update->GetList().EraseIf([&account_id](const base::Value& value) {
+-  update->EraseIf([&account_id](const base::Value& value) {
 -    if (!value.is_dict())
 -      return false;
 -    const std::string* account_key = value.GetDict().FindString(kAccountKeyKey);
@@ -5359,7 +5371,7 @@
  #include "components/signin/public/identity_manager/identity_test_utils.h"
 --- a/tools/metrics/histograms/enums.xml
 +++ b/tools/metrics/histograms/enums.xml
-@@ -97060,7 +97060,6 @@ Full version information for the fingerp
+@@ -97846,7 +97846,6 @@ Full version information for the fingerp
    <int value="3" label="kRestoreOnStartup"/>
    <int value="4" label="kURLsToRestoreOnStartup"/>
    <int value="5" label="extensions::pref_names::kExtensions"/>
@@ -5367,7 +5379,7 @@
    <int value="7" label="kSearchProviderOverrides"/>
    <int value="8" label="kDefaultSearchProviderSearchURL (Obsolete 12/2016)"/>
    <int value="9" label="kDefaultSearchProviderKeyword (Obsolete 12/2016)"/>
-@@ -97075,10 +97074,7 @@ Full version information for the fingerp
+@@ -97861,10 +97860,7 @@ Full version information for the fingerp
    <int value="18" label="kSafeBrowsingIncidentsSent"/>
    <int value="19" label="kSwReporterPromptVersion"/>
    <int value="20" label="kSwReporterPromptReason"/>

+ 2 - 1
patches/core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch

@@ -1,6 +1,6 @@
 --- a/components/search_engines/prepopulated_engines.json
 +++ b/components/search_engines/prepopulated_engines.json
-@@ -113,23 +113,11 @@
+@@ -113,24 +113,11 @@
      },
  
      "google": {
@@ -14,6 +14,7 @@
 -      "image_url_post_params": "encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}",
 -      "side_search_param": "sidesearch",
 -      "side_image_search_param": "sideimagesearch",
+-      "image_search_branding_label": "Google Lens",
 -      "alternate_urls": [
 -        "{google:baseURL}#q={searchTerms}",
 -        "{google:baseURL}search#q={searchTerms}",

+ 11 - 20
patches/core/ungoogled-chromium/toggle-translation-via-switch.patch

@@ -1,7 +1,7 @@
 # Disables translation and removes the "Translate to" context menu when --translate-script-url flag is not set
 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
 +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
-@@ -140,6 +140,7 @@
+@@ -141,6 +141,7 @@
  #include "components/spellcheck/common/spellcheck_common.h"
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/strings/grit/components_strings.h"
@@ -9,23 +9,14 @@
  #include "components/translate/core/browser/translate_download_manager.h"
  #include "components/translate/core/browser/translate_manager.h"
  #include "components/translate/core/browser/translate_prefs.h"
-@@ -1815,6 +1816,8 @@ void RenderViewContextMenu::AppendPageIt
-   if (has_sharing_menu_items)
+@@ -1816,6 +1817,7 @@ void RenderViewContextMenu::AppendPageIt
      menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
  
-+  const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
-+  if (command_line.HasSwitch(translate::switches::kTranslateScriptURL)) {
-   ChromeTranslateClient* chrome_translate_client =
-       ChromeTranslateClient::FromWebContents(embedder_web_contents_);
-   const bool canTranslate =
-@@ -1827,6 +1830,7 @@ void RenderViewContextMenu::AppendPageIt
-         l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE,
-                                    GetTargetLanguageDisplayName()));
-   }
-+  } // if (command_line.HasSwitch(translate::switches::kTranslateScriptURL))
- }
- 
- void RenderViewContextMenu::AppendExitFullscreenItem() {
+   if (CanTranslate(/*menu_logging=*/true)) {
++   if (base::CommandLine::ForCurrentProcess()->HasSwitch(translate::switches::kTranslateScriptURL))
+     menu_model_.AddItem(
+         IDC_CONTENT_CONTEXT_TRANSLATE,
+         l10n_util::GetStringFUTF16(
 --- a/components/translate/core/browser/translate_language_list.cc
 +++ b/components/translate/core/browser/translate_language_list.cc
 @@ -11,6 +11,7 @@
@@ -44,7 +35,7 @@
  #include "components/translate/core/common/translate_util.h"
  #include "net/base/url_util.h"
  #include "third_party/abseil-cpp/absl/types/optional.h"
-@@ -219,6 +221,9 @@ GURL TranslateLanguageList::TranslateLan
+@@ -230,6 +232,9 @@ GURL TranslateLanguageList::TranslateLan
  }
  
  void TranslateLanguageList::RequestLanguageList() {
@@ -56,7 +47,7 @@
      request_pending_ = true;
 --- a/components/translate/core/browser/translate_manager.cc
 +++ b/components/translate/core/browser/translate_manager.cc
-@@ -872,8 +872,9 @@ void TranslateManager::FilterIsTranslate
+@@ -885,8 +885,9 @@ void TranslateManager::FilterIsTranslate
          ->LogAutofillAssistantDeferredTriggerDecision();
    }
  
@@ -70,7 +61,7 @@
      // settings syncs and we don't want to turn off translate everywhere else.
 --- a/components/translate/core/browser/translate_ranker_impl.cc
 +++ b/components/translate/core/browser/translate_ranker_impl.cc
-@@ -156,12 +156,9 @@ TranslateRankerImpl::TranslateRankerImpl
+@@ -158,12 +158,9 @@ TranslateRankerImpl::TranslateRankerImpl
                                           ukm::UkmRecorder* ukm_recorder)
      : ukm_recorder_(ukm_recorder),
        is_uma_logging_enabled_(false),
@@ -86,7 +77,7 @@
    if (is_query_enabled_ || is_enforcement_enabled_) {
      model_loader_ = std::make_unique<assist_ranker::RankerModelLoaderImpl>(
          base::BindRepeating(&ValidateModel),
-@@ -235,6 +232,8 @@ bool TranslateRankerImpl::ShouldOfferTra
+@@ -237,6 +234,8 @@ bool TranslateRankerImpl::ShouldOfferTra
    // (or become False).
    const bool kDefaultResponse = true;
  

+ 15 - 15
patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch

@@ -9,7 +9,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2434,6 +2434,7 @@ static_library("browser") {
+@@ -2450,6 +2450,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
@@ -19,7 +19,7 @@
      "//third_party/widevine/cdm:headers",
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -154,6 +154,7 @@
+@@ -155,6 +155,7 @@
  #include "components/translate/core/browser/translate_ranker_impl.h"
  #include "components/translate/core/common/translate_util.h"
  #include "components/ui_devtools/switches.h"
@@ -44,7 +44,7 @@
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -246,6 +246,7 @@ source_set("browser") {
+@@ -247,6 +247,7 @@ source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -54,7 +54,7 @@
      "//third_party/zlib",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -76,6 +76,7 @@
+@@ -77,6 +77,7 @@
  #include "components/services/storage/public/cpp/quota_error_or.h"
  #include "components/services/storage/public/mojom/cache_storage_control.mojom.h"
  #include "components/tracing/common/tracing_switches.h"
@@ -62,7 +62,7 @@
  #include "components/viz/common/switches.h"
  #include "components/viz/host/gpu_client.h"
  #include "content/browser/bad_message.h"
-@@ -3288,6 +3289,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3299,6 +3300,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLImageChromium,
      switches::kEnableWebGPUDeveloperFeatures,
      switches::kFileUrlPathAlias,
@@ -91,7 +91,7 @@
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
-@@ -401,6 +402,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -402,6 +403,10 @@ void SetRuntimeFeaturesFromCommandLine(c
        {wrf::EnableWebGPUDeveloperFeatures,
         switches::kEnableWebGPUDeveloperFeatures, true},
        {wrf::EnableDirectSockets, switches::kIsolatedAppOrigins, true},
@@ -121,10 +121,10 @@
  #include "base/metrics/histogram_functions.h"
  #include "base/notreached.h"
 +#include "base/rand_util.h"
+ #include "base/ranges/algorithm.h"
  #include "base/time/time.h"
  #include "cc/animation/animation_host.h"
- #include "cc/animation/animation_timeline.h"
-@@ -908,6 +909,14 @@ Range* Document::CreateRangeAdjustedToTr
+@@ -919,6 +920,14 @@ Range* Document::CreateRangeAdjustedToTr
                                       Position::BeforeNode(*shadow_host));
  }
  
@@ -139,7 +139,7 @@
  SelectorQueryCache& Document::GetSelectorQueryCache() {
    if (!selector_query_cache_)
      selector_query_cache_ = std::make_unique<SelectorQueryCache>();
-@@ -2231,6 +2240,15 @@ void Document::UpdateStyleAndLayoutTreeF
+@@ -2238,6 +2247,15 @@ void Document::UpdateStyleAndLayoutTreeF
  #if DCHECK_IS_ON()
    AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
  #endif
@@ -157,7 +157,7 @@
  void Document::InvalidateStyleAndLayoutForFontUpdates() {
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -510,6 +510,10 @@ class CORE_EXPORT Document : public Cont
+@@ -513,6 +513,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -168,7 +168,7 @@
    AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -2298,6 +2302,9 @@ class CORE_EXPORT Document : public Cont
+@@ -2329,6 +2333,9 @@ class CORE_EXPORT Document : public Cont
  
    base::ElapsedTimer start_time_;
  
@@ -180,7 +180,7 @@
  
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -2144,6 +2144,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2074,6 +2074,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads,
                                                      *element_layout_object);
@@ -192,7 +192,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2168,6 +2173,9 @@ gfx::RectF Element::GetBoundingClientRec
+@@ -2098,6 +2103,9 @@ gfx::RectF Element::GetBoundingClientRec
    DCHECK(element_layout_object);
    GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
                                                     *element_layout_object);
@@ -296,7 +296,7 @@
      "//components/webrtc:net_address_utils",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -64,4 +64,12 @@ void WebRuntimeFeatures::EnableFluentScr
+@@ -65,4 +65,12 @@ void WebRuntimeFeatures::EnableFluentScr
    ScrollbarThemeSettings::SetFluentScrollbarsEnabled(enable);
  }
  
@@ -311,7 +311,7 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1237,6 +1237,12 @@
+@@ -1270,6 +1270,12 @@
        origin_trial_feature_name: "Focusgroup",
      },
      {

+ 4 - 4
patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch

@@ -34,7 +34,7 @@ approach to change color components.
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3291,6 +3291,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3302,6 +3302,7 @@ void RenderProcessHostImpl::PropagateBro
      switches::kFileUrlPathAlias,
      switches::kFingerprintingClientRectsNoise,
      switches::kFingerprintingCanvasMeasureTextNoise,
@@ -44,7 +44,7 @@ approach to change color components.
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -406,6 +406,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -407,6 +407,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -98,7 +98,7 @@ approach to change color components.
      "//third_party/blink/renderer/platform/blob",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -72,4 +72,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -73,4 +73,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -322,7 +322,7 @@ approach to change color components.
    // Methods overridden by all sub-classes
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1243,6 +1243,9 @@
+@@ -1276,6 +1276,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {

+ 4 - 4
patches/extra/bromite/flag-max-connections-per-host.patch

@@ -17,7 +17,7 @@ with limited CPU/memory resources and it is disabled by default.
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2172,6 +2172,7 @@ static_library("browser") {
+@@ -2185,6 +2185,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -79,7 +79,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "ppapi/buildflags/buildflags.h"
  #include "printing/buildflags/buildflags.h"
  #include "services/network/public/cpp/features.h"
-@@ -349,6 +353,18 @@ void BrowserProcessImpl::Init() {
+@@ -351,6 +355,18 @@ void BrowserProcessImpl::Init() {
    pref_change_registrar_.Add(metrics::prefs::kMetricsReportingEnabled,
                               base::BindRepeating(&ApplyMetricsReportingPolicy));
  
@@ -100,7 +100,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1810,6 +1810,10 @@ const char kUnthrottledNestedTimeoutDesc
+@@ -1870,6 +1870,10 @@ const char kUnthrottledNestedTimeoutDesc
      "websites abusing the API will still eventually have their setTimeouts "
      "clamped.";
  
@@ -113,7 +113,7 @@ with limited CPU/memory resources and it is disabled by default.
  const char kMediaRouterCastAllowAllIPsDescription[] =
 --- a/chrome/browser/flag_descriptions.h
 +++ b/chrome/browser/flag_descriptions.h
-@@ -1011,6 +1011,9 @@ extern const char kLogJsConsoleMessagesD
+@@ -1047,6 +1047,9 @@ extern const char kLogJsConsoleMessagesD
  extern const char kUnthrottledNestedTimeoutName[];
  extern const char kUnthrottledNestedTimeoutDescription[];
  

+ 1 - 1
patches/extra/debian/disable/welcome-page.patch

@@ -4,7 +4,7 @@ bug-debian: http://bugs.debian.org/857767
 
 --- a/chrome/browser/profiles/profile_manager.cc
 +++ b/chrome/browser/profiles/profile_manager.cc
-@@ -1425,11 +1425,6 @@ void ProfileManager::InitProfileUserPref
+@@ -1432,11 +1432,6 @@ void ProfileManager::InitProfileUserPref
      profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
                                     supervised_user_id);
    }

+ 3 - 3
patches/extra/inox-patchset/0006-modify-default-prefs.patch

@@ -12,7 +12,7 @@
  void BackgroundModeManager::RegisterProfile(Profile* profile) {
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1406,7 +1406,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1416,7 +1416,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -45,7 +45,7 @@
  // Enum representing possible values of the Preload Pages opt-in state.  Since
 --- a/chrome/browser/profiles/profile.cc
 +++ b/chrome/browser/profiles/profile.cc
-@@ -282,7 +282,7 @@ const char Profile::kProfileKey[] = "__P
+@@ -302,7 +302,7 @@ const char Profile::kProfileKey[] = "__P
  void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
        prefs::kSearchSuggestEnabled,
@@ -114,7 +114,7 @@
        prefs::kAutofillIBANEnabled, true,
 --- a/components/bookmarks/browser/bookmark_utils.cc
 +++ b/components/bookmarks/browser/bookmark_utils.cc
-@@ -440,7 +440,7 @@ bool DoesBookmarkContainWords(const std:
+@@ -443,7 +443,7 @@ bool DoesBookmarkContainWords(const std:
  
  void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(

+ 16 - 15
patches/extra/inox-patchset/0008-restore-classic-ntp.patch

@@ -30,25 +30,26 @@
    const GURL url;
 --- a/components/ntp_snippets/features.cc
 +++ b/components/ntp_snippets/features.cc
-@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[
-     &kOptionalImagesEnabledFeature};
+@@ -40,7 +40,7 @@ const base::Feature* const kAllFeatures[
  
- const base::Feature kArticleSuggestionsFeature{
--    "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
-+    "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kArticleSuggestionsFeature,
+              "NTPArticleSuggestions",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
- const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
-     "RemoteSuggestionsEmulateM58FetchingSchedule",
-@@ -68,10 +68,10 @@ const char kNotificationsDailyLimit[] =
- const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
+ BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
+              "RemoteSuggestionsEmulateM58FetchingSchedule",
+@@ -72,11 +72,11 @@ const char kNotificationsIgnoredLimitPar
  
- const base::Feature kKeepPrefetchedContentSuggestions{
--    "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
-+    "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kKeepPrefetchedContentSuggestions,
+              "KeepPrefetchedContentSuggestions",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
- const base::Feature kOptionalImagesEnabledFeature{
--    "NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
-+    "NTPRemoteSuggestionsOptionalImages", base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kOptionalImagesEnabledFeature,
+              "NTPRemoteSuggestionsOptionalImages",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
  std::vector<const base::Feature*> GetAllFeatures() {
    // Skip the last feature as it's a nullptr.

+ 1 - 1
patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/startup/startup_tab_provider.cc
 +++ b/chrome/browser/ui/startup/startup_tab_provider.cc
-@@ -151,7 +151,7 @@ bool IsChromeControlledNtpUrl(const GURL
+@@ -149,7 +149,7 @@ bool IsChromeControlledNtpUrl(const GURL
  
  StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const {
  // Chrome OS has its own welcome flow provided by OOBE.

+ 2 - 2
patches/extra/iridium-browser/Remove-EV-certificates.patch

@@ -10,11 +10,11 @@ Instead, let them appear just like regular ones.
 
 --- a/net/cert/ev_root_ca_metadata.cc
 +++ b/net/cert/ev_root_ca_metadata.cc
-@@ -41,7 +41,17 @@ struct EVMetadata {
+@@ -40,7 +40,17 @@ struct EVMetadata {
    const base::StringPiece policy_oids[kMaxOIDsPerCA];
  };
  
--#include "net/data/ssl/ev_roots/chrome-ev-root-store-inc.cc"
+-#include "net/data/ssl/chrome_root_store/chrome-ev-roots-inc.cc"
 +static const EVMetadata kEvRootCaMetadata[] = {
 +    // need some dummy thing to make compiler happy, because
 +    // arraysize() is implemented as a convoluted template rather than

+ 8 - 5
patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch

@@ -5,12 +5,15 @@ Subject: [PATCH 56/66] browser: disable profile auto-import on first run
 
 --- a/chrome/browser/chrome_browser_main.cc
 +++ b/chrome/browser/chrome_browser_main.cc
-@@ -1638,8 +1638,6 @@ int ChromeBrowserMainParts::PreMainMessa
+@@ -1651,11 +1651,6 @@ int ChromeBrowserMainParts::PreMainMessa
    // and preferences have been registered since some of the import code depends
    // on preferences.
    if (first_run::IsChromeFirstRun()) {
--    first_run::AutoImport(profile, master_prefs_->import_bookmarks_path);
--
+-    // `profile` may be nullptr even on first run, for example when the
+-    // "BrowserSignin" policy is set to "Force". If so, skip the auto import.
+-    if (profile) {
+-      first_run::AutoImport(profile, master_prefs_->import_bookmarks_path);
+-    }
+ 
      // Note: This can pop-up the first run consent dialog on Linux & Mac.
-     first_run::DoPostImportTasks(profile,
-                                  master_prefs_->make_chrome_default_for_user);
+     first_run::DoPostImportTasks(master_prefs_->make_chrome_default_for_user);

+ 1 - 1
patches/extra/iridium-browser/updater-disable-auto-update.patch

@@ -16,7 +16,7 @@ the case anyway, since we are based off Chromium, not Chrome.
 
 --- a/chrome/browser/app_controller_mac.mm
 +++ b/chrome/browser/app_controller_mac.mm
-@@ -856,7 +856,7 @@ class AppControllerNativeThemeObserver :
+@@ -857,7 +857,7 @@ class AppControllerNativeThemeObserver :
    CFStringRef checkInterval = CFSTR("checkInterval");
    CFPropertyListRef plist = CFPreferencesCopyAppValue(checkInterval, app);
    if (!plist) {

+ 5 - 5
patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch

@@ -9,7 +9,7 @@
  #include "chrome/browser/ui/web_applications/app_browser_controller.h"
  #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
  #include "chrome/browser/ui/webui/signin/login_ui_service.h"
-@@ -472,6 +474,7 @@ Browser::Browser(const CreateParams& par
+@@ -473,6 +475,7 @@ Browser::Browser(const CreateParams& par
        omit_from_session_restore_(params.omit_from_session_restore),
        should_trigger_session_restore_(params.should_trigger_session_restore),
        cancel_download_confirmation_state_(NOT_PROMPTED),
@@ -17,7 +17,7 @@
        override_bounds_(params.initial_bounds),
        initial_show_state_(params.initial_show_state),
        initial_workspace_(params.initial_workspace),
-@@ -833,6 +836,7 @@ Browser::WarnBeforeClosingResult Browser
+@@ -834,6 +837,7 @@ Browser::WarnBeforeClosingResult Browser
    // true or there are no pending downloads we need to prompt about) then
    // there's no need to warn.
    if (force_skip_warning_user_on_close_ || CanCloseWithInProgressDownloads())
@@ -25,7 +25,7 @@
      return WarnBeforeClosingResult::kOkToClose;
  
    DCHECK(!warn_before_closing_callback_)
-@@ -867,6 +871,7 @@ bool Browser::TryToCloseWindow(
+@@ -868,6 +872,7 @@ bool Browser::TryToCloseWindow(
  
  void Browser::ResetTryToCloseWindow() {
    cancel_download_confirmation_state_ = NOT_PROMPTED;
@@ -33,7 +33,7 @@
    unload_controller_.ResetTryToCloseWindow();
  }
  
-@@ -2768,6 +2773,62 @@ bool Browser::CanCloseWithInProgressDown
+@@ -2773,6 +2778,62 @@ bool Browser::CanCloseWithInProgressDown
    return false;
  }
  
@@ -96,7 +96,7 @@
  void Browser::InProgressDownloadResponse(bool cancel_downloads) {
    if (cancel_downloads) {
      cancel_download_confirmation_state_ = RESPONSE_RECEIVED;
-@@ -2786,6 +2847,22 @@ void Browser::InProgressDownloadResponse
+@@ -2791,6 +2852,22 @@ void Browser::InProgressDownloadResponse
  
    std::move(warn_before_closing_callback_)
        .Run(WarnBeforeClosingResult::kDoNotClose);

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -827,10 +827,14 @@ bool HandleNewTabPageLocationOverride(
+@@ -832,10 +832,14 @@ bool HandleNewTabPageLocationOverride(
  
    // Don't change the URL when incognito mode.
    if (profile->IsOffTheRecord())

+ 8 - 8
patches/extra/ungoogled-chromium/add-flag-for-disabling-link-drag.patch

@@ -11,25 +11,25 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -23,6 +23,8 @@ namespace features {
- const base::Feature kAnonymousIframeOriginTrial{
-     "AnonymousIframeOriginTrial", base::FEATURE_ENABLED_BY_DEFAULT};
+@@ -25,6 +25,8 @@ BASE_FEATURE(kAnonymousIframeOriginTrial
+              "AnonymousIframeOriginTrial",
+              base::FEATURE_ENABLED_BY_DEFAULT);
  
-+const base::Feature kDisableLinkDrag{"DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT};
++BASE_FEATURE(kDisableLinkDrag, "DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT);
 +
  // Apply lazy-loading to ad frames which have embeds likely impacting Core Web
  // Vitals.
- const base::Feature kAutomaticLazyFrameLoadingToAds{
+ BASE_FEATURE(kAutomaticLazyFrameLoadingToAds,
 --- a/third_party/blink/public/common/features.h
 +++ b/third_party/blink/public/common/features.h
 @@ -18,6 +18,8 @@
  namespace blink {
  namespace features {
  
-+BLINK_COMMON_EXPORT extern const base::Feature kDisableLinkDrag;
++BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDisableLinkDrag);
 +
- BLINK_COMMON_EXPORT extern const base::Feature kAnonymousIframeOriginTrial;
- BLINK_COMMON_EXPORT extern const base::Feature kAutomaticLazyFrameLoadingToAds;
+ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAnonymousIframeOriginTrial);
+ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAutomaticLazyFrameLoadingToAds);
  BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
 --- a/third_party/blink/renderer/core/editing/selection_controller.cc
 +++ b/third_party/blink/renderer/core/editing/selection_controller.cc

+ 2 - 2
patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch

@@ -42,7 +42,7 @@
  #include "base/feature_list.h"
  #include "base/format_macros.h"
  #include "base/metrics/histogram_functions.h"
-@@ -328,6 +330,15 @@ AutocompleteController::AutocompleteCont
+@@ -339,6 +341,15 @@ AutocompleteController::AutocompleteCont
        search_service_worker_signal_sent_(false),
        template_url_service_(provider_client_->GetTemplateURLService()) {
    provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
@@ -80,7 +80,7 @@
  #include "base/feature_list.h"
  #include "base/i18n/break_iterator.h"
  #include "base/i18n/case_conversion.h"
-@@ -681,6 +682,9 @@ void SearchProvider::Run(bool query_is_p
+@@ -677,6 +678,9 @@ void SearchProvider::Run(bool query_is_p
  }
  
  void SearchProvider::DoHistoryQuery(bool minimal_changes) {

+ 10 - 10
patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch

@@ -1,18 +1,18 @@
 --- a/chrome/browser/sharing/features.cc
 +++ b/chrome/browser/sharing/features.cc
-@@ -26,3 +26,5 @@ const base::Feature kSharingSendViaSync{
- 
- const base::Feature kSharingPreferVapid {
-   "SharingPreferVapid", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -30,3 +30,5 @@ BASE_FEATURE(kSharingSendViaSync,
+ BASE_FEATURE(kSharingPreferVapid,
+              "SharingPreferVapid",
+              base::FEATURE_DISABLED_BY_DEFAULT);
 +
-+const base::Feature kDisableQRGenerator{"DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT};
++BASE_FEATURE(kDisableQRGenerator, "DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT);
 --- a/chrome/browser/sharing/features.h
 +++ b/chrome/browser/sharing/features.h
-@@ -34,4 +34,5 @@ extern const base::Feature kSharingSendV
+@@ -34,4 +34,5 @@ BASE_DECLARE_FEATURE(kSharingSendViaSync
  // Feature flag for prefer sending sharing message using VAPID.
- extern const base::Feature kSharingPreferVapid;
+ BASE_DECLARE_FEATURE(kSharingPreferVapid);
  
-+extern const base::Feature kDisableQRGenerator;
++BASE_DECLARE_FEATURE(kDisableQRGenerator);
  #endif  // CHROME_BROWSER_SHARING_FEATURES_H_
 --- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
 +++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
@@ -27,8 +27,8 @@
    return true;
 --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
 +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
-@@ -311,7 +311,8 @@ void LocationBarView::Init() {
-     }
+@@ -313,7 +313,8 @@ void LocationBarView::Init() {
+ 
      params.types_enabled.push_back(PageActionIconType::kSendTabToSelf);
      params.types_enabled.push_back(PageActionIconType::kClickToCall);
 -    params.types_enabled.push_back(PageActionIconType::kQRCodeGenerator);

+ 10 - 10
patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch

@@ -14,24 +14,24 @@
 --- a/chrome/renderer/chrome_render_frame_observer.cc
 +++ b/chrome/renderer/chrome_render_frame_observer.cc
 @@ -249,14 +249,16 @@ void ChromeRenderFrameObserver::DidFinis
-   if (frame->Parent())
+   if (frame->Parent() || frame->IsInFencedFrameTree())
      return;
  
 -  GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
 -  if (!osdd_url.is_empty()) {
--    mojo::AssociatedRemote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
+-    mojo::Remote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
 -        osdd_handler;
--    render_frame()->GetRemoteAssociatedInterfaces()->GetInterface(
--        &osdd_handler);
+-    render_frame()->GetBrowserInterfaceBroker()->GetInterface(
+-        osdd_handler.BindNewPipeAndPassReceiver());
 -    osdd_handler->PageHasOpenSearchDescriptionDocument(
 -        frame->GetDocument().Url(), osdd_url);
 +  if (!base::CommandLine::ForCurrentProcess()->HasSwitch("disable-search-engine-collection")) {
 +    GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
 +    if (!osdd_url.is_empty()) {
-+      mojo::AssociatedRemote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
++      mojo::Remote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
 +          osdd_handler;
-+      render_frame()->GetRemoteAssociatedInterfaces()->GetInterface(
-+          &osdd_handler);
++      render_frame()->GetBrowserInterfaceBroker()->GetInterface(
++          osdd_handler.BindNewPipeAndPassReceiver());
 +      osdd_handler->PageHasOpenSearchDescriptionDocument(
 +          frame->GetDocument().Url(), osdd_url);
 +    }
@@ -80,7 +80,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
-@@ -1618,6 +1626,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1634,6 +1642,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -89,7 +89,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1756,6 +1766,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1772,6 +1782,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {
@@ -101,7 +101,7 @@
      return true;
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -752,6 +752,8 @@ class TemplateURLService : public WebDat
+@@ -762,6 +762,8 @@ class TemplateURLService : public WebDat
    // ---------- Browser state related members ---------------------------------
    raw_ptr<PrefService> prefs_ = nullptr;
  

+ 3 - 3
patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch

@@ -8,7 +8,7 @@
  #include "base/debug/alias.h"
  #include "base/i18n/rtl.h"
  #include "base/memory/raw_ptr.h"
-@@ -643,6 +644,8 @@ void Tab::OnGestureEvent(ui::GestureEven
+@@ -642,6 +643,8 @@ void Tab::OnGestureEvent(ui::GestureEven
  }
  
  std::u16string Tab::GetTooltipText(const gfx::Point& p) const {
@@ -19,7 +19,7 @@
  }
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -16,6 +16,7 @@
+@@ -15,6 +15,7 @@
  
  #include "base/bind.h"
  #include "base/callback.h"
@@ -27,7 +27,7 @@
  #include "base/compiler_specific.h"
  #include "base/containers/adapters.h"
  #include "base/containers/contains.h"
-@@ -1654,6 +1655,8 @@ void TabStrip::OnMouseEventInTab(views::
+@@ -1616,6 +1617,8 @@ void TabStrip::OnMouseEventInTab(views::
  }
  
  void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) {

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/browser_command_controller.cc
 +++ b/chrome/browser/ui/browser_command_controller.cc
-@@ -1219,7 +1219,8 @@ void BrowserCommandController::InitComma
+@@ -1220,7 +1220,8 @@ void BrowserCommandController::InitComma
    command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS,
                                          normal_window);
  

+ 7 - 7
patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch

@@ -79,18 +79,18 @@
  namespace browsing_data {
  namespace features {
  
-+const base::Feature kClearDataOnExit{"ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT};
++BASE_FEATURE(kClearDataOnExit, "ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT);
 +
- const base::Feature kEnableRemovingAllThirdPartyCookies{
-     "EnableRemovingAllThirdPartyCookies", base::FEATURE_DISABLED_BY_DEFAULT};
- 
+ BASE_FEATURE(kEnableRemovingAllThirdPartyCookies,
+              "EnableRemovingAllThirdPartyCookies",
+              base::FEATURE_DISABLED_BY_DEFAULT);
 --- a/components/browsing_data/core/features.h
 +++ b/components/browsing_data/core/features.h
-@@ -17,6 +17,7 @@ extern const base::Feature kEnableRemovi
+@@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kEnableRemovingAllT
  // defined by the BrowsingDataLifetime policy.
- extern const base::Feature kEnableBrowsingDataLifetimeManager;
+ BASE_DECLARE_FEATURE(kEnableBrowsingDataLifetimeManager);
  
-+extern const base::Feature kClearDataOnExit;
++BASE_DECLARE_FEATURE(kClearDataOnExit);
  }  // namespace features
  }  // namespace browsing_data
  

+ 2 - 2
patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch

@@ -5,10 +5,10 @@
  
  #include "base/auto_reset.h"
 +#include "base/command_line.h"
+ #include "base/containers/adapters.h"
  #include "base/containers/contains.h"
  #include "base/containers/flat_map.h"
- #include "base/cxx17_backports.h"
-@@ -1822,6 +1823,10 @@ bool TabStripModel::CloseTabs(base::span
+@@ -1815,6 +1816,10 @@ bool TabStripModel::CloseTabs(base::span
    if (items.empty())
      return true;
  

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch

@@ -50,7 +50,7 @@
  bool IsExtensionDownload(const download::DownloadItem& download_item);
 --- a/chrome/browser/download/download_target_determiner.cc
 +++ b/chrome/browser/download/download_target_determiner.cc
-@@ -1145,10 +1145,12 @@ DownloadConfirmationReason DownloadTarge
+@@ -1148,10 +1148,12 @@ DownloadConfirmationReason DownloadTarge
      return DownloadConfirmationReason::SAVE_AS;
  
  #if BUILDFLAG(ENABLE_EXTENSIONS)

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch

@@ -13,7 +13,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -1154,6 +1154,8 @@ WindowOpenDisposition NavigationPolicyTo
+@@ -1162,6 +1162,8 @@ WindowOpenDisposition NavigationPolicyTo
      case blink::kWebNavigationPolicyNewWindow:
        return WindowOpenDisposition::NEW_WINDOW;
      case blink::kWebNavigationPolicyNewPopup:

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch

@@ -21,7 +21,7 @@
  #include "base/callback_helpers.h"
  #include "base/compiler_specific.h"
  #include "base/containers/flat_set.h"
-@@ -1094,7 +1095,8 @@ void HistoryBackend::InitImpl(
+@@ -1096,7 +1097,8 @@ void HistoryBackend::InitImpl(
    db_->GetStartDate(&first_recorded_time_);
  
    // Start expiring old stuff.

+ 3 - 3
patches/extra/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch

@@ -8,7 +8,7 @@
  #include "base/cxx17_backports.h"
  #include "base/feature_list.h"
  #include "base/no_destructor.h"
-@@ -29,6 +30,7 @@
+@@ -30,6 +31,7 @@
  #include "chrome/browser/ui/views/frame/browser_view.h"
  #include "chrome/browser/ui/views/toolbar/toolbar_action_hover_card_controller.h"
  #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
@@ -16,7 +16,7 @@
  #include "chrome/browser/ui/views/web_apps/frame_toolbar/web_app_frame_toolbar_view.h"
  #include "extensions/common/extension_features.h"
  #include "ui/base/dragdrop/drag_drop_types.h"
-@@ -335,6 +337,17 @@ void ExtensionsToolbarContainer::AnchorA
+@@ -354,6 +356,17 @@ void ExtensionsToolbarContainer::AnchorA
    widget->widget_delegate()->AsBubbleDialogDelegate()->SetAnchorView(
        anchor_view && anchor_view->GetVisible() ? anchor_view
                                                 : GetExtensionsButton());
@@ -34,7 +34,7 @@
    widget->Show();
  }
  
-@@ -831,6 +844,9 @@ void ExtensionsToolbarContainer::UpdateC
+@@ -854,6 +867,9 @@ void ExtensionsToolbarContainer::UpdateC
  }
  
  bool ExtensionsToolbarContainer::ShouldContainerBeVisible() const {

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-hide-side-panel-button.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/frame/browser_view.cc
 +++ b/chrome/browser/ui/views/frame/browser_view.cc
-@@ -920,6 +920,7 @@ BrowserView::BrowserView(std::unique_ptr
+@@ -923,6 +923,7 @@ BrowserView::BrowserView(std::unique_ptr
          AddChildView(std::make_unique<ContentsSeparator>());
      side_panel_coordinator_ = std::make_unique<SidePanelCoordinator>(this);
    } else {

+ 2 - 2
patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/tabs/tab.cc
 +++ b/chrome/browser/ui/views/tabs/tab.cc
-@@ -991,7 +991,11 @@ void Tab::UpdateIconVisibility() {
+@@ -990,7 +990,11 @@ void Tab::UpdateIconVisibility() {
    if (IsActive()) {
      // Close button is shown on active tabs regardless of the size.
      showing_close_button_ = true;
@@ -12,7 +12,7 @@
  
      showing_alert_indicator_ =
          has_alert_icon && alert_icon_width <= available_width;
-@@ -1012,6 +1016,8 @@ void Tab::UpdateIconVisibility() {
+@@ -1011,6 +1015,8 @@ void Tab::UpdateIconVisibility() {
        available_width -= favicon_width;
  
      showing_close_button_ = large_enough_for_close_button;

+ 3 - 3
patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -347,14 +347,30 @@ void ToolbarView::Init() {
+@@ -348,14 +348,30 @@ void ToolbarView::Init() {
      side_panel_button_ = AddChildView(std::move(side_panel_button));
  
    avatar_ = AddChildView(std::make_unique<AvatarToolbarButton>(browser_view_));
@@ -10,13 +10,13 @@
 +  const std::string flag_value =
 +      command_line.GetSwitchValueASCII("show-avatar-button");
 +
-+  bool in_incognito_or_guest_mode = browser_->profile()->IsOffTheRecord() ||
++  bool in_incognito_or_guest_mode = browser_->profile()->IsIncognitoProfile() ||
 +                                    browser_->profile()->IsGuestSession();
 +
    bool show_avatar_toolbar_button = true;
  #if BUILDFLAG(IS_CHROMEOS_ASH)
    // ChromeOS only badges Incognito and Guest icons in the browser window.
--  show_avatar_toolbar_button = browser_->profile()->IsOffTheRecord() ||
+-  show_avatar_toolbar_button = browser_->profile()->IsIncognitoProfile() ||
 -                               browser_->profile()->IsGuestSession();
 +  show_avatar_toolbar_button = in_incognito_or_guest_mode;
  #elif BUILDFLAG(IS_CHROMEOS_LACROS)

+ 8 - 8
patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch

@@ -17,18 +17,18 @@
  
  namespace net::features {
  
-+const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT};
++BASE_FEATURE(kSetIpv6ProbeFalse, "SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT);
 +
- const base::Feature kAlpsForHttp2{"AlpsForHttp2",
-                                   base::FEATURE_ENABLED_BY_DEFAULT};
+ BASE_FEATURE(kAlpsForHttp2, "AlpsForHttp2", base::FEATURE_ENABLED_BY_DEFAULT);
  
+ BASE_FEATURE(kAvoidH2Reprioritization,
 --- a/net/base/features.h
 +++ b/net/base/features.h
 @@ -17,6 +17,8 @@
  
  namespace net::features {
  
-+NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse;
++NET_EXPORT BASE_DECLARE_FEATURE(kSetIpv6ProbeFalse);
 +
  // Enables ALPS extension of TLS 1.3 for HTTP/2, see
  // https://vasilvv.github.io/tls-alps/draft-vvv-tls-alps.html and
@@ -44,10 +44,10 @@
 -                                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 -                                     0x00, 0x00, 0x00, 0x01};
 -
- enum DnsResolveStatus {
-   RESOLVE_STATUS_DNS_SUCCESS = 0,
-   RESOLVE_STATUS_PROC_SUCCESS,
-@@ -4085,7 +4080,7 @@ bool HostResolverManager::IsIPv6Reachabl
+ // ICANN uses this localhost address to indicate a name collision.
+ //
+ // The policy in Chromium is to fail host resolving if it resolves to
+@@ -3728,7 +3723,7 @@ bool HostResolverManager::IsIPv6Reachabl
        (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
            kIPv6ProbePeriodMs) {
      SetLastIPv6ProbeResult(

+ 1 - 1
patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -3484,7 +3484,13 @@ const FeatureEntry::FeatureVariation kPa
+@@ -3584,7 +3584,13 @@ const FeatureEntry::FeatureVariation kFa
  // calculate and verify checksum.
  //
  // When adding a new choice, add it to the end of the list.

+ 7 - 7
patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch

@@ -1,11 +1,11 @@
 --- a/components/optimization_guide/core/optimization_guide_features.cc
 +++ b/components/optimization_guide/core/optimization_guide_features.cc
-@@ -82,7 +82,7 @@ const base::Feature kOptimizationHints{"
- 
+@@ -84,7 +84,7 @@ BASE_FEATURE(kOptimizationHints,
  // Enables fetching from a remote Optimization Guide Service.
- const base::Feature kRemoteOptimizationGuideFetching{
--    "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
-+    "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kRemoteOptimizationGuideFetching,
+              "OptimizationHintsFetching",
+-             base::FEATURE_ENABLED_BY_DEFAULT);
++             base::FEATURE_DISABLED_BY_DEFAULT);
  
- const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
-     "OptimizationHintsFetchingAnonymousDataConsent",
+ BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
+              "OptimizationHintsFetchingAnonymousDataConsent",

+ 2 - 2
patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch

@@ -3,7 +3,7 @@
 
 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
 +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -3693,8 +3693,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3694,8 +3694,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_RENDERER))));
          }
@@ -13,7 +13,7 @@
        }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-@@ -3708,8 +3707,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3709,8 +3708,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_VENDOR))));
          }

+ 5 - 5
patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch

@@ -2,12 +2,12 @@
 
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -460,7 +460,7 @@ const base::Feature kAllowSyncXHRInPageD
- // Prefetch request properties are updated to be privacy-preserving. See
+@@ -510,7 +510,7 @@ BASE_FEATURE(kAllowSyncXHRInPageDismissa
  // crbug.com/988956.
- const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
--                                            base::FEATURE_DISABLED_BY_DEFAULT};
-+                                            base::FEATURE_ENABLED_BY_DEFAULT};
+ BASE_FEATURE(kPrefetchPrivacyChanges,
+              "PrefetchPrivacyChanges",
+-             base::FEATURE_DISABLED_BY_DEFAULT);
++             base::FEATURE_ENABLED_BY_DEFAULT);
  
  // 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

+ 1 - 1
patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/views/toolbar/reload_button.cc
 +++ b/chrome/browser/ui/views/toolbar/reload_button.cc
-@@ -83,7 +83,7 @@ bool ReloadButton::GetMenuEnabled() cons
+@@ -84,7 +84,7 @@ bool ReloadButton::GetMenuEnabled() cons
  }
  
  void ReloadButton::SetMenuEnabled(bool enable) {

+ 2 - 2
patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch

@@ -13,7 +13,7 @@
        AddChildView(std::make_unique<views::InkDropContainerView>());
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -1897,8 +1897,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -1865,8 +1865,6 @@ void TabStrip::NewTabButtonPressed(const
  
      const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
      if (mouse.IsOnlyMiddleMouseButton()) {
@@ -22,7 +22,7 @@
          ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
          CHECK(clipboard);
          std::u16string clipboard_text;
-@@ -1906,7 +1904,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -1874,7 +1872,6 @@ void TabStrip::NewTabButtonPressed(const
                              /* data_dst = */ nullptr, &clipboard_text);
          if (!clipboard_text.empty())
            controller_->CreateNewTabWithLocation(clipboard_text);

+ 1 - 1
patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/startup/bad_flags_prompt.cc
 +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc
-@@ -60,7 +60,6 @@ static const char* kBadFlags[] = {
+@@ -62,7 +62,6 @@ static const char* kBadFlags[] = {
      // These flags disable sandbox-related security.
      sandbox::policy::switches::kDisableGpuSandbox,
      sandbox::policy::switches::kDisableSeccompFilterSandbox,

+ 3 - 3
patches/extra/ungoogled-chromium/remove-uneeded-ui.patch

@@ -98,7 +98,7 @@
 -            external>
 -        </cr-link-row>
        </div>
- <if expr="not chromeos_ash">
+ <if expr="not is_chromeos">
        <template is="dom-if" if="[[!captionSettingsOpensExternally_]]">
 --- a/chrome/browser/resources/settings/about_page/about_page.html
 +++ b/chrome/browser/resources/settings/about_page/about_page.html
@@ -131,7 +131,7 @@
              <div class="separator"></div>
 --- a/chrome/browser/resources/settings/autofill_page/passwords_section.html
 +++ b/chrome/browser/resources/settings/autofill_page/passwords_section.html
-@@ -122,6 +122,7 @@
+@@ -125,6 +125,7 @@
          </settings-toggle-button>
        </template>
      </if>
@@ -139,7 +139,7 @@
      <div id="checkPasswordsBannerContainer" class="cr-row"
          hidden$="[[!shouldShowBanner_]]">
        <picture>
-@@ -183,6 +184,7 @@
+@@ -186,6 +187,7 @@
        </cr-icon-button>
      </div>
  </if>

+ 46 - 30
pruning.list

@@ -37,11 +37,18 @@ build/android/tests/symbolize/liba.so
 build/android/tests/symbolize/libb.so
 build/linux/sysroot_scripts/keyring.gpg
 buildtools/linux64/gn
+buildtools/reclient/bootstrap
+buildtools/reclient/dumpstats
+buildtools/reclient/logdump
+buildtools/reclient/reproxy
+buildtools/reclient/reproxystatus
+buildtools/reclient/rewrapper
+buildtools/reclient/rpl2cloudtrace
+buildtools/reclient/rpl2trace
 buildtools/third_party/eu-strip/bin/eu-strip
 chrome/app/etw_events/MSG00001.bin
 chrome/app/etw_events/chrome_events_winTEMP.BIN
 chrome/browser/ash/power/ml/smart_dim/20190521_example_preprocessor_config.pb
-chrome/browser/resources/chromeos/accessibility/accessibility_common/dictation/parse/pumpkin/pumpkin_files.zip
 chrome/browser/resources/chromeos/accessibility/chromevox/background/earcons/alert_modal.ogg
 chrome/browser/resources/chromeos/accessibility/chromevox/background/earcons/alert_nonmodal.ogg
 chrome/browser/resources/chromeos/accessibility/chromevox/background/earcons/button.ogg
@@ -72,7 +79,9 @@ chrome/browser/resources/chromeos/accessibility/select_to_speak/earcons/null_sel
 chrome/browser/resources/media/mei_preload/preloaded_data.pb
 chrome/browser/ui/app_list/search/search_result_ranker/20190722_example_preprocessor_config.pb
 chrome/browser/ui/app_list/search/search_result_ranker/search_ranker_assets/20190923_example_preprocessor_config.pb
-chrome/build/pgo_profiles/chrome-linux-5304-1666797109-a3a76dd7938da631f62885246f730eda0ded4ba1.profdata
+chrome/browser/web_applications/test/data/simple_signed.wbn
+chrome/browser/web_applications/test/data/simple_signed_tampered.wbn
+chrome/build/pgo_profiles/chrome-linux-5359-1669656947-a415d5db65dd3e05ade5e2d1d5f3750801174642.profdata
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/Network Share Test.lnk
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/New folder - Shortcut.lnk
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/long_name.lnk
@@ -94,9 +103,6 @@ chrome/updater/test/data/tag_extractor_corpus/tagged_magic_utf16.exe
 chrome/updater/test/data/tagged_encode_utf8.exe
 chrome/updater/test/data/tagged_magic_utf16.exe
 chromeos/test/data/smart_dim/20181115_example_preprocessor_config.pb
-components/cast_channel/fuzz_corpus/cast_message0
-components/cast_channel/fuzz_corpus/cast_message1
-components/cast_channel/fuzz_corpus/cast_message2
 components/cbor/reader_fuzzer_corpus/cbor0
 components/cbor/reader_fuzzer_corpus/cbor1
 components/cbor/reader_fuzzer_corpus/cbor11
@@ -169,6 +175,9 @@ components/domain_reliability/baked_in_configs/gvt2_com.json
 components/domain_reliability/baked_in_configs/gvt6_com.json
 components/domain_reliability/baked_in_configs/ssl_gstatic_com.json
 components/domain_reliability/baked_in_configs/www_google_com.json
+components/media_router/common/providers/cast/channel/fuzz_corpus/cast_message0
+components/media_router/common/providers/cast/channel/fuzz_corpus/cast_message1
+components/media_router/common/providers/cast/channel/fuzz_corpus/cast_message2
 components/safe_browsing/content/resources/empty_file_type_policy.pb
 components/safe_browsing/core/common/safe_browsing_prefs.cc
 components/safe_browsing/core/common/safe_browsing_prefs.h
@@ -179,20 +188,23 @@ components/test/data/ad_tagging/allow.zip
 components/test/data/ad_tagging/bear-320x240-video-only.webm
 components/test/data/ad_tagging/disallow.zip
 components/test/data/autofill_assistant/model/model.tflite
-components/test/data/cast_certificate/testsuite/testsuite1.pb
 components/test/data/crx_file/sample.zip
 components/test/data/crx_file/unsigned.crx3
 components/test/data/crx_file/valid.crx2
 components/test/data/crx_file/valid_no_publisher.crx3
 components/test/data/crx_file/valid_publisher.crx3
 components/test/data/crx_file/valid_test_publisher.crx3
+components/test/data/device_signals/TestApp.app/Contents/MacOS/TestApp
+components/test/data/device_signals/UnsignedApp.app/Contents/MacOS/UnsignedApp
 components/test/data/device_signals/empty.exe
 components/test/data/device_signals/metadata.exe
+components/test/data/device_signals/multi-signed.exe
 components/test/data/device_signals/signed.exe
 components/test/data/feed/response.binarypb
 components/test/data/history/HistoryNoDuration
 components/test/data/history/HistoryNoSource
 components/test/data/history/History_with_starred
+components/test/data/media_router/common/providers/cast/certificate/testsuite/testsuite1.pb
 components/test/data/omnibox/on_device_head_test_model_index.bin
 components/test/data/optimization_guide/bert_page_topics_model.tflite
 components/test/data/optimization_guide/invalid_model.crx3
@@ -323,6 +335,7 @@ ios/chrome/browser/crash_report/seed_corpuses/process_snapshot_dump_2
 ios/chrome/browser/crash_report/seed_corpuses/process_snapshot_dump_3
 ios/chrome/browser/crash_report/seed_corpuses/process_snapshot_dump_4
 ios/chrome/browser/ui/main/browser_view_wrangler.mm
+ios/chrome/browser/ui/omnibox/popup/omnibox_popup_carousel_control.mm
 ios/chrome/test/data/optimization_guide/additional_file_doesnt_exist.crx3
 ios/chrome/test/data/optimization_guide/additional_file_exists.crx3
 ios/chrome/test/data/optimization_guide/signed_valid_model.crx3
@@ -331,7 +344,6 @@ ios/chrome/test/data/sessions/session_m57.plist
 ios/chrome/test/data/sessions/session_m58.plist
 ios/chrome/test/data/voice/test_sound.m4a
 ios/chrome/test/earl_grey/chrome_earl_grey.mm
-ios/public/provider/chrome/browser/signin/chrome_identity_service.mm
 ios/testing/data/http_server_files/generic.pkpass
 ios/testing/data/http_server_files/redchair.usdz
 ios/testing/data/http_server_files/video_sample.mov
@@ -3110,26 +3122,6 @@ third_party/angle/third_party/VK-GL-CTS/src/external/openglcts/data/spirv/spirv_
 third_party/angle/third_party/VK-GL-CTS/src/external/openglcts/data/spirv/spirv_validation_capabilities/binary_p1s3.nspv
 third_party/angle/third_party/VK-GL-CTS/src/external/openglcts/data/spirv/spirv_validation_capabilities/binary_p1s4.nspv
 third_party/angle/third_party/VK-GL-CTS/src/external/openglcts/data/spirv/spirv_validation_capabilities/binary_p2s0.nspv
-third_party/angle/third_party/astc-encoder/src/Test/Data/HDR-A-1x1.astc
-third_party/angle/third_party/astc-encoder/src/Test/Data/HDR-A-1x1.exr
-third_party/angle/third_party/astc-encoder/src/Test/Data/LDR-A-1x1.astc
-third_party/angle/third_party/astc-encoder/src/Test/Data/LDRS-A-1x1.astc
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/hdr-complex.exr
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/hdr.astc
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/hdr.exr
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/hdr.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/ldr.astc
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/ldr.dds
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/ldr.ktx
-third_party/angle/third_party/astc-encoder/src/Test/Data/Tiles/ldr.tga
-third_party/angle/third_party/astc-encoder/src/Test/Images/HDRIHaven/HDR-RGB/hdr-rgb-arboretum.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/HDRIHaven/HDR-RGB/hdr-rgb-bellparkpier.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/HDRIHaven/HDR-RGB/hdr-rgb-canarywharf.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/HDRIHaven/HDR-RGB/hdr-rgb-eveningroad.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/HDRIHaven/HDR-RGB/hdr-rgb-riverwalk.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/Small/HDR-RGB/hdr-rgb-00.hdr
-third_party/angle/third_party/astc-encoder/src/Test/Images/Small/LDR-L/ldr-l-00-3.dds
-third_party/angle/third_party/astc-encoder/src/Test/Images/Small/LDR-L/ldr-l-01-3.dds
 third_party/angle/third_party/glmark2/src/data/models/asteroid-high.3ds
 third_party/angle/third_party/glmark2/src/data/models/asteroid-low.3ds
 third_party/angle/third_party/glmark2/src/data/models/cat.3ds
@@ -8556,7 +8548,7 @@ third_party/crashpad/crashpad/snapshot/ios/testdata/crash-1fa088dda0adb41459d063
 third_party/crashpad/crashpad/snapshot/ios/testdata/crash-5726011582644224
 third_party/crashpad/crashpad/snapshot/ios/testdata/crash-6605504629637120
 third_party/crashpad/crashpad/util/net/testdata/binary_http_body.dat
-third_party/dawn/test/tint/bug/tint/804.spv
+third_party/dawn/third_party/ninja/ninja
 third_party/dawn/third_party/webgpu-cts/deploy_key.enc
 third_party/dawn/third_party/webgpu-cts/src/resources/red-green.bt2020.vp9.webm
 third_party/dawn/third_party/webgpu-cts/src/resources/red-green.bt601.vp9.webm
@@ -12024,6 +12016,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6595199411159040
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6624904746106880
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6723367514144768
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-4523349576908800
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5061207689134080
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5138182937772032
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5154718402215936
@@ -12095,6 +12088,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5768601332613120
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5769590820044800
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-6306977171374080
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4549523149553664
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4681956043390976
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4880059756969984
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4901143794810880
@@ -12109,6 +12103,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5127321313476608
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5137462782066688
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5141317848530944.fuzz
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5145429829877760
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5148388450631680
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5160311461511168
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5167653459329024
@@ -12118,6 +12113,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5205038086094848
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5206191479455744
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5229304507138048
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5234369031176192
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5241922561114112
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5250795600740352
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5269686781607936
@@ -12126,6 +12122,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5362189182566400
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5363902507515904
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5416421032067072
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5417800474165248
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5417934246772736
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5422577634377728
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5443213648330752
@@ -12233,6 +12230,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6276691949518848
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6315334756335616
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6316256152780800
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6362213417353216
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6365271012540416
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6372147008241664
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6382598554255360
@@ -15621,6 +15619,8 @@ third_party/libzip/src/regress/zip-in-archive-comment.zip
 third_party/libzip/src/regress/zip64-3mf.zip
 third_party/libzip/src/regress/zip64.zip
 third_party/llvm/clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
+third_party/llvm/clang/test/CodeGen/Inputs/memprof.exe
+third_party/llvm/clang/test/CodeGen/Inputs/memprof.memprofraw
 third_party/llvm/clang/test/CodeGen/Inputs/thinlto-distributed-backend-skip.bc
 third_party/llvm/clang/test/Driver/Inputs/dummy-bc.bc
 third_party/llvm/clang/test/Driver/Inputs/dummy-elf.o
@@ -15785,7 +15785,6 @@ third_party/llvm/lldb/test/Shell/Register/Core/Inputs/x86-64-linux-multithread.c
 third_party/llvm/lldb/test/Shell/Register/Core/Inputs/x86-64-linux.core
 third_party/llvm/lldb/test/Shell/Register/Core/Inputs/x86-64-netbsd-multithread.core
 third_party/llvm/lldb/test/Shell/Register/Core/Inputs/x86-64-netbsd.core
-third_party/llvm/lldb/test/Shell/Reproducer/Inputs/core
 third_party/llvm/lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so
 third_party/llvm/lldb/unittests/Process/minidump/Inputs/fizzbuzz_no_heap.dmp
 third_party/llvm/lldb/unittests/Process/minidump/Inputs/fizzbuzz_wow64.dmp
@@ -16320,6 +16319,9 @@ third_party/llvm/llvm/test/Other/Inputs/no-block-info.bc
 third_party/llvm/llvm/test/ThinLTO/X86/Inputs/autoupgrade.bc
 third_party/llvm/llvm/test/ThinLTO/X86/Inputs/drop-debug-info.bc
 third_party/llvm/llvm/test/Transforms/GlobalOpt/2007-04-05-Crash.ll
+third_party/llvm/llvm/test/Transforms/PGOProfile/Inputs/memprof.exe
+third_party/llvm/llvm/test/Transforms/PGOProfile/Inputs/memprof.memprofraw
+third_party/llvm/llvm/test/Transforms/PGOProfile/Inputs/memprof_pgo.profraw
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/bad.extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/ctxsplit.extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/fnptr.binprof
@@ -16749,7 +16751,7 @@ third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-bind-uleb-times
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-disassemble-stab-x86_64
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-do-bind-no-dylib-ordinal
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-do-bind-no-symbol
-third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-inconsistant-export
+third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-inconsistent-export
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-invalid-bind-entry
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-invalid-linker-command
 third_party/llvm/llvm/test/tools/llvm-objdump/MachO/Inputs/macho-invalid-reloc-section-index
@@ -17059,6 +17061,17 @@ third_party/llvm/mlir/test/Bytecode/invalid/invalid-structure-section-id-unknown
 third_party/llvm/mlir/test/Bytecode/invalid/invalid-structure-section-length.mlirbc
 third_party/llvm/mlir/test/Bytecode/invalid/invalid-structure-section-missing.mlirbc
 third_party/llvm/mlir/test/IR/zero_whitespace.mlir
+third_party/lzma_sdk/google/fuzzer_corpus/compressed_exe.7z
+third_party/lzma_sdk/google/fuzzer_corpus/file_folder_file.7z
+third_party/lzma_sdk/google/test_data/bad_crc.7z
+third_party/lzma_sdk/google/test_data/compressed_exe.7z
+third_party/lzma_sdk/google/test_data/empty.7z
+third_party/lzma_sdk/google/test_data/empty_file.7z
+third_party/lzma_sdk/google/test_data/encrypted.7z
+third_party/lzma_sdk/google/test_data/fake_crc_table.7z
+third_party/lzma_sdk/google/test_data/file_folder_file.7z
+third_party/lzma_sdk/google/test_data/folder.7z
+third_party/lzma_sdk/google/test_data/inner_archive.7z
 third_party/minizip/minizip_uncompress_corpus/As.zip
 third_party/minizip/minizip_uncompress_corpus/comments.zip
 third_party/minizip/minizip_uncompress_corpus/corpus.zip
@@ -17210,6 +17223,7 @@ third_party/nasm/travis/test/vmread.bin.t
 third_party/nasm/travis/test/weirdpaste.bin.t
 third_party/nasm/travis/test/xcrypt.bin.t
 third_party/nasm/travis/test/zerobyte.bin.t
+third_party/ninja/ninja
 third_party/node/node_modules.tar.gz
 third_party/node/node_modules/terser/node_modules/source-map/lib/mappings.wasm
 third_party/openh264/src/autotest/performanceTest/ios/fruitstrap
@@ -17480,6 +17494,8 @@ third_party/rust/libloading/v0_7/crate/tests/nagisa32.dll
 third_party/rust/libloading/v0_7/crate/tests/nagisa64.dll
 third_party/rust/regex/v1/crate/src/testdata/basic.dat
 third_party/rust/regex/v1/crate/tests/fowler.rs
+third_party/rust/unicode_ident/v1/crate/tests/fst/xid_continue.fst
+third_party/rust/unicode_ident/v1/crate/tests/fst/xid_start.fst
 third_party/skia/modules/canvaskit/tests/assets/Roboto-Regular.otf
 third_party/skia/modules/canvaskit/tests/assets/red_line.skp
 third_party/skia/modules/canvaskit/tests/assets/test.ttc

Some files were not shown because too many files changed in this diff