Browse Source

Update to Chromium 94.0.4606.54

Blaise 2 years ago
parent
commit
a40aba5785
64 changed files with 1523 additions and 1539 deletions
  1. 1 1
      chromium_version.txt
  2. 336 337
      domain_substitution.list
  3. 1 1
      flags.gn
  4. 4 4
      patches/core/bromite/disable-fetching-field-trials.patch
  5. 22 0
      patches/core/chromium-upstream/missing-header-without-tflite.patch
  6. 52 43
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  7. 1 1
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  8. 1 1
      patches/core/inox-patchset/0005-disable-default-extensions.patch
  9. 1 1
      patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch
  10. 1 1
      patches/core/inox-patchset/0015-disable-update-pings.patch
  11. 1 1
      patches/core/inox-patchset/0021-disable-rlz.patch
  12. 10 10
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  13. 1 1
      patches/core/iridium-browser/safe_browsing-disable-incident-reporting.patch
  14. 2 2
      patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
  15. 11 11
      patches/core/ungoogled-chromium/block-requests.patch
  16. 5 5
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  17. 1 1
      patches/core/ungoogled-chromium/disable-crash-reporter.patch
  18. 1 1
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  19. 4 4
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  20. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  21. 1 1
      patches/core/ungoogled-chromium/disable-network-time-tracker.patch
  22. 1 1
      patches/core/ungoogled-chromium/disable-privacy-sandbox.patch
  23. 1 1
      patches/core/ungoogled-chromium/disable-signin.patch
  24. 3 3
      patches/core/ungoogled-chromium/disable-untraceable-urls.patch
  25. 21 32
      patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch
  26. 2 2
      patches/core/ungoogled-chromium/fix-building-without-one-click-signin.patch
  27. 97 82
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  28. 184 191
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  29. 1 1
      patches/core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch
  30. 6 6
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  31. 15 15
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  32. 11 11
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  33. 4 4
      patches/extra/bromite/flag-max-connections-per-host.patch
  34. 1 1
      patches/extra/debian/disable/google-api-warning.patch
  35. 3 3
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  36. 1 1
      patches/extra/inox-patchset/0008-restore-classic-ntp.patch
  37. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  38. 1 1
      patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
  39. 1 1
      patches/extra/iridium-browser/updater-disable-auto-update.patch
  40. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  41. 6 6
      patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch
  42. 10 7
      patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
  43. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  44. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
  45. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  46. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  47. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
  48. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
  49. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
  50. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  51. 8 8
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  52. 61 49
      patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
  53. 1 1
      patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
  54. 1 1
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  55. 2 2
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  56. 1 1
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  57. 1 1
      patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
  58. 4 4
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  59. 2 2
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  60. 0 14
      patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch
  61. 1 1
      patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch
  62. 8 8
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  63. 1 0
      patches/series
  64. 585 630
      pruning.list

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-93.0.4577.82
+94.0.4606.54

File diff suppressed because it is too large
+ 336 - 337
domain_substitution.list


+ 1 - 1
flags.gn

@@ -1,6 +1,7 @@
 build_with_tflite_lib=false
 chrome_pgo_phase=0
 clang_use_chrome_plugins=false
+disable_fieldtrial_testing_config=true
 enable_hangout_services_extension=false
 enable_js_type_check=false
 enable_mdns=false
@@ -14,7 +15,6 @@ enable_reporting=false
 enable_service_discovery=false
 enable_widevine=true
 exclude_unwind_tables=true
-fieldtrial_testing_like_official_build=true
 google_api_key=""
 google_default_client_id=""
 google_default_client_secret=""

+ 4 - 4
patches/core/bromite/disable-fetching-field-trials.patch

@@ -10,7 +10,7 @@ Subject: Disable fetching of all field trials
 
 --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
-@@ -123,11 +123,7 @@ public abstract class ChromeFeatureList 
+@@ -123,11 +123,7 @@ public abstract class ChromeFeatureList
       *   the specified parameter does not exist.
       */
      public static String getFieldTrialParamByFeature(String featureName, String paramName) {
@@ -23,7 +23,7 @@ Subject: Disable fetching of all field trials
      }
  
      /**
-@@ -144,12 +140,7 @@ public abstract class ChromeFeatureList 
+@@ -144,12 +140,7 @@ public abstract class ChromeFeatureList
       */
      public static int getFieldTrialParamByFeatureAsInt(
              String featureName, String paramName, int defaultValue) {
@@ -37,7 +37,7 @@ Subject: Disable fetching of all field trials
      }
  
      /**
-@@ -166,12 +157,7 @@ public abstract class ChromeFeatureList 
+@@ -166,12 +157,7 @@ public abstract class ChromeFeatureList
       */
      public static double getFieldTrialParamByFeatureAsDouble(
              String featureName, String paramName, double defaultValue) {
@@ -51,7 +51,7 @@ Subject: Disable fetching of all field trials
      }
  
      /**
-@@ -202,12 +188,7 @@ public abstract class ChromeFeatureList 
+@@ -202,12 +188,7 @@ public abstract class ChromeFeatureList
       */
      public static boolean getFieldTrialParamByFeatureAsBoolean(
              String featureName, String paramName, boolean defaultValue) {

+ 22 - 0
patches/core/chromium-upstream/missing-header-without-tflite.patch

@@ -0,0 +1,22 @@
+From d7b0aa0df41d24fc1875a8d87c9298eb9098cf09 Mon Sep 17 00:00:00 2001
+From: Robert Ogden <robertogden@chromium.org>
+Date: Mon, 13 Sep 2021 19:23:58 +0000
+Subject: [PATCH] Missing header when TFLite isn't built in
+
+Change-Id: I4e89f7b8f2d67343e219a1935dbdcb64682a5df9
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3158501
+Auto-Submit: Robert Ogden <robertogden@chromium.org>
+Commit-Queue: Michael Crouse <mcrouse@chromium.org>
+Reviewed-by: Michael Crouse <mcrouse@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#920867}
+
+--- a/components/optimization_guide/content/browser/page_content_annotations_service.cc
++++ b/components/optimization_guide/content/browser/page_content_annotations_service.cc
+@@ -6,6 +6,7 @@
+ 
+ #include "base/metrics/histogram_functions.h"
+ #include "base/strings/string_util.h"
++#include "base/strings/utf_string_conversions.h"
+ #include "components/history/core/browser/history_service.h"
+ #include "components/optimization_guide/core/optimization_guide_enums.h"
+ #include "components/optimization_guide/core/optimization_guide_features.h"

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2149,7 +2149,6 @@ static_library("browser") {
+@@ -2158,7 +2158,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",
-@@ -3563,8 +3562,6 @@ static_library("browser") {
+@@ -3600,8 +3599,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"
-@@ -377,8 +376,6 @@ void BrowserProcessImpl::StartTearDown()
+@@ -388,8 +387,6 @@ void BrowserProcessImpl::StartTearDown()
  
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
@@ -59,7 +59,7 @@
    network_time_tracker_.reset();
  #if BUILDFLAG(ENABLE_PLUGINS)
    plugins_resource_service_.reset();
-@@ -995,14 +992,6 @@ StatusTray* BrowserProcessImpl::status_t
+@@ -1006,14 +1003,6 @@ StatusTray* BrowserProcessImpl::status_t
    return status_tray_.get();
  }
  
@@ -74,7 +74,7 @@
  subresource_filter::RulesetService*
  BrowserProcessImpl::subresource_filter_ruleset_service() {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1250,26 +1239,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1261,26 +1250,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -129,9 +129,9 @@
  #include "chrome/browser/profiles/scoped_profile_keep_alive.h"
 -#include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/search_engines/template_url_service_factory.h"
- #include "chrome/browser/spellchecker/spellcheck_factory.h"
- #include "chrome/browser/spellchecker/spellcheck_service.h"
-@@ -664,10 +663,6 @@ void ChromeBrowsingDataRemoverDelegate::
+ #include "chrome/browser/share/share_history.h"
+ #include "chrome/browser/share/share_ranking.h"
+@@ -674,10 +673,6 @@ void ChromeBrowsingDataRemoverDelegate::
      base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
  
      network::mojom::NetworkContext* safe_browsing_context = nullptr;
@@ -144,7 +144,7 @@
          delete_begin, delete_end, filter_builder, host_content_settings_map_,
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1016,30 +1016,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -914,30 +914,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -175,7 +175,7 @@
  #if BUILDFLAG(ENABLE_EXTENSIONS)
  
  AppLoadedInTabSource ClassifyAppLoadedInTabSource(
-@@ -1434,7 +1410,6 @@ void ChromeContentBrowserClient::PostAft
+@@ -1339,7 +1315,6 @@ void ChromeContentBrowserClient::PostAft
    InitNetworkContextsParentDirectory();
  
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -183,21 +183,27 @@
  }
  
  bool ChromeContentBrowserClient::IsBrowserStartupComplete() {
-@@ -4107,7 +4082,7 @@ ChromeContentBrowserClient::CreateThrott
-       base::BindRepeating(&MaybeTriggerSecurityInterstitialShownEvent));
+@@ -4054,7 +4029,7 @@ ChromeContentBrowserClient::CreateThrott
+   content::WebContents* web_contents = handle->GetWebContents();
    throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
        handle,
 -      std::make_unique<CertificateReportingServiceCertReporter>(web_contents),
 +      nullptr,
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp),
        base::BindOnce(
-           &ShouldIgnoreInterstitialBecauseNavigationDefaultedToHttps)));
-@@ -4134,9 +4109,6 @@ ChromeContentBrowserClient::CreateThrott
+           &ShouldIgnoreSslInterstitialBecauseNavigationDefaultedToHttps)));
+@@ -4083,15 +4058,6 @@ ChromeContentBrowserClient::CreateThrott
                     &throttles);
  #endif
  
+-  // g_browser_process->safe_browsing_service() may be null in unittests.
+-  safe_browsing::SafeBrowsingUIManager* ui_manager =
+-      g_browser_process->safe_browsing_service()
+-          ? g_browser_process->safe_browsing_service()->ui_manager().get()
+-          : nullptr;
 -  throttles.push_back(
--      std::make_unique<safe_browsing::SafeBrowsingNavigationThrottle>(handle));
+-      std::make_unique<safe_browsing::SafeBrowsingNavigationThrottle>(
+-          handle, ui_manager));
 -
    if (base::FeatureList::IsEnabled(safe_browsing::kDelayedWarnings)) {
      throttles.push_back(
@@ -227,7 +233,7 @@
  }  // namespace
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -393,13 +393,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
+@@ -395,13 +395,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
  
  void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
    download_manager_ = dm;
@@ -241,7 +247,7 @@
  }
  
  #if defined(OS_ANDROID)
-@@ -746,16 +739,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -748,16 +741,6 @@ void ChromeDownloadManagerDelegate::Choo
  
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename) {
@@ -260,7 +266,7 @@
  void ChromeDownloadManagerDelegate::SanitizeDownloadParameters(
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -86,7 +86,7 @@ class DownloadItemModelData : public bas
+@@ -87,7 +87,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.
@@ -269,7 +275,7 @@
  
    // Whether the download is currently being revived.
    bool is_being_revived_;
-@@ -123,7 +123,7 @@ DownloadItemModelData::DownloadItemModel
+@@ -124,7 +124,7 @@ DownloadItemModelData::DownloadItemModel
      : should_show_in_shelf_(true),
        was_ui_notified_(false),
        should_prefer_opening_in_browser_(false),
@@ -278,7 +284,7 @@
        is_being_revived_(false) {}
  
  }  // namespace
-@@ -377,13 +377,13 @@ void DownloadItemModel::SetShouldPreferO
+@@ -378,13 +378,13 @@ void DownloadItemModel::SetShouldPreferO
    data->should_prefer_opening_in_browser_ = preference;
  }
  
@@ -295,7 +301,7 @@
    DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
    data->danger_level_ = danger_level;
  }
-@@ -592,9 +592,6 @@ bool DownloadItemModel::IsCommandEnabled
+@@ -593,9 +593,6 @@ bool DownloadItemModel::IsCommandEnabled
        // filename. Don't base an "Always open" decision based on it. Also
        // exclude extensions.
        return download_->CanOpenDownload() &&
@@ -336,7 +342,7 @@
    extension.erase(0, 1);
 --- a/chrome/browser/download/download_target_determiner.cc
 +++ b/chrome/browser/download/download_target_determiner.cc
-@@ -293,13 +293,6 @@ base::FilePath DownloadTargetDeterminer:
+@@ -297,13 +297,6 @@ base::FilePath DownloadTargetDeterminer:
        download_->GetURL(), download_->GetContentDisposition(), referrer_charset,
        suggested_filename, sniffed_mime_type, default_filename);
  
@@ -350,7 +356,7 @@
    // If no mime type or explicitly specified a name, don't replace file
    // extension.
    if (sniffed_mime_type.empty() || !suggested_filename.empty())
-@@ -1102,29 +1095,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -1111,29 +1104,7 @@ DownloadFileType::DangerLevel DownloadTa
        download_->HasUserGesture())
      return DownloadFileType::NOT_DANGEROUS;
  
@@ -380,7 +386,7 @@
 +  return DownloadFileType::NOT_DANGEROUS;
  }
  
- void DownloadTargetDeterminer::OnDownloadDestroyed(
+ absl::optional<base::Time>
 --- a/chrome/browser/extensions/api/downloads/downloads_api.cc
 +++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
 @@ -36,7 +36,6 @@
@@ -600,7 +606,7 @@
  WebstorePrivateGetExtensionStatusFunction::
 --- a/chrome/browser/extensions/blocklist_state_fetcher.cc
 +++ b/chrome/browser/extensions/blocklist_state_fetcher.cc
-@@ -33,33 +33,8 @@ BlocklistStateFetcher::~BlocklistStateFe
+@@ -34,33 +34,8 @@ BlocklistStateFetcher::~BlocklistStateFe
  void BlocklistStateFetcher::Request(const std::string& id,
                                      RequestCallback callback) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -636,7 +642,7 @@
  }
  
  void BlocklistStateFetcher::SendRequest(const std::string& id) {
-@@ -70,8 +45,7 @@ void BlocklistStateFetcher::SendRequest(
+@@ -71,8 +46,7 @@ void BlocklistStateFetcher::SendRequest(
    std::string request_str;
    request.SerializeToString(&request_str);
  
@@ -646,7 +652,7 @@
    net::NetworkTrafficAnnotationTag traffic_annotation =
        net::DefineNetworkTrafficAnnotation("extension_blacklist", R"(
          semantics {
-@@ -121,12 +95,6 @@ void BlocklistStateFetcher::SendRequest(
+@@ -122,12 +96,6 @@ void BlocklistStateFetcher::SendRequest(
                       base::Unretained(this), fetcher));
  }
  
@@ -680,7 +686,7 @@
    // SimpleURLLoader -> (owned loader, extension id).
 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
 +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -801,9 +801,6 @@ void ChromeMetricsServiceClient::Registe
+@@ -806,9 +806,6 @@ void ChromeMetricsServiceClient::Registe
    metrics_service_->RegisterMetricsProvider(
        std::make_unique<HttpsEngagementMetricsProvider>());
  
@@ -692,7 +698,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
-@@ -131,9 +131,6 @@ void TrialComparisonCertVerifierControll
+@@ -138,9 +138,6 @@ void TrialComparisonCertVerifierControll
    std::string serialized_report;
    if (!report.Serialize(&serialized_report))
      return;
@@ -704,7 +710,7 @@
  // static
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -281,7 +281,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -288,7 +288,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if BUILDFLAG(IS_CHROMEOS_LACROS)
    CertDbInitializerFactory::GetInstance();
  #endif
@@ -722,7 +728,7 @@
  #include "chrome/browser/sharing/sharing_service_factory.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
  #include "chrome/browser/signin/signin_ui_util.h"
-@@ -635,17 +634,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -647,17 +646,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -742,7 +748,7 @@
        CreatePrefService(pref_registry_, CreateExtensionPrefStore(this, false),
 --- a/chrome/browser/profiles/profiles_state.cc
 +++ b/chrome/browser/profiles/profiles_state.cc
-@@ -258,9 +258,6 @@ void RemoveBrowsingDataForProfile(const 
+@@ -258,9 +258,6 @@ void RemoveBrowsingDataForProfile(const
    // The BrowsingDataRemover relies on many objects that aren't created in unit
    // tests. Previously this code would depend on content::ResourceDispatcherHost
    // but that's gone, so do a similar hack for now.
@@ -770,7 +776,7 @@
  
    if (safe_browsing_mode != 0) {
      # "Safe Browsing Basic" files used for safe browsing in full mode
-@@ -397,6 +399,7 @@ static_library("advanced_protection") {
+@@ -398,6 +400,7 @@ static_library("advanced_protection") {
  }
  
  source_set("metrics_collector") {
@@ -778,7 +784,7 @@
    sources = [
      "safe_browsing_metrics_collector_factory.cc",
      "safe_browsing_metrics_collector_factory.h",
-@@ -413,6 +416,7 @@ source_set("metrics_collector") {
+@@ -414,6 +417,7 @@ source_set("metrics_collector") {
      "//components/safe_browsing/core/common:safe_browsing_prefs",
      "//content/public/browser",
    ]
@@ -788,7 +794,7 @@
  source_set("test_support") {
 --- a/chrome/browser/ssl/security_state_tab_helper.cc
 +++ b/chrome/browser/ssl/security_state_tab_helper.cc
-@@ -227,89 +227,6 @@ bool SecurityStateTabHelper::UsedPolicyI
+@@ -217,89 +217,6 @@ bool SecurityStateTabHelper::UsedPolicyI
  
  security_state::MaliciousContentStatus
  SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -880,7 +886,7 @@
  
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -3803,7 +3803,6 @@ static_library("ui") {
+@@ -3861,7 +3861,6 @@ static_library("ui") {
        "views/device_chooser_content_view.h",
        "views/devtools_process_observer.cc",
        "views/devtools_process_observer.h",
@@ -1014,7 +1020,7 @@
    bool IsDeletingHistoryAllowed();
 --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
 +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
-@@ -298,114 +298,6 @@ CreateHttpsOnlyModePage(content::WebCont
+@@ -279,117 +279,6 @@ CreateHttpsOnlyModePage(content::WebCont
                                                        request_url));
  }
  
@@ -1048,14 +1054,17 @@
 -      threat_type = safe_browsing::SB_THREAT_TYPE_BILLING;
 -    }
 -  }
+-  const content::GlobalRenderFrameHostId primary_main_frame_id =
+-      web_contents->GetMainFrame()->GetGlobalId();
 -  safe_browsing::SafeBrowsingBlockingPage::UnsafeResource resource;
 -  resource.url = request_url;
 -  resource.is_subresource = request_url != main_frame_url;
 -  resource.is_subframe = false;
 -  resource.threat_type = threat_type;
--  resource.web_contents_getter = security_interstitials::GetWebContentsGetter(
--      web_contents->GetMainFrame()->GetProcess()->GetID(),
--      web_contents->GetMainFrame()->GetRoutingID());
+-  resource.web_contents_getter =
+-      security_interstitials::GetWebContentsGetter(primary_main_frame_id);
+-  resource.render_process_id = primary_main_frame_id.child_id;
+-  resource.render_frame_id = primary_main_frame_id.frame_routing_id;
 -  resource.threat_source = g_browser_process->safe_browsing_service()
 -                               ->database_manager()
 -                               ->GetThreatSource();
@@ -1129,7 +1138,7 @@
  #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
  std::unique_ptr<CaptivePortalBlockingPage> CreateCaptivePortalBlockingPage(
      content::WebContents* web_contents) {
-@@ -522,8 +414,6 @@ void InterstitialHTMLSource::StartDataRe
+@@ -506,8 +395,6 @@ void InterstitialHTMLSource::StartDataRe
      interstitial_delegate = CreateBlockedInterceptionBlockingPage(web_contents);
    } else if (path_without_query == "/legacy-tls") {
      interstitial_delegate = CreateLegacyTLSBlockingPage(web_contents);
@@ -1138,7 +1147,7 @@
    } else if (path_without_query == "/clock") {
      interstitial_delegate = CreateBadClockBlockingPage(web_contents);
    } else if (path_without_query == "/lookalike") {
-@@ -540,16 +430,12 @@ void InterstitialHTMLSource::StartDataRe
+@@ -524,16 +411,12 @@ void InterstitialHTMLSource::StartDataRe
      interstitial_delegate = CreateHttpsOnlyModePage(web_contents);
    }
  
@@ -1160,7 +1169,7 @@
      html = ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -95,7 +95,6 @@
+@@ -97,7 +97,6 @@
  #include "components/page_load_metrics/renderer/metrics_render_frame_observer.h"
  #include "components/paint_preview/buildflags/buildflags.h"
  #include "components/safe_browsing/buildflags.h"

+ 1 - 1
patches/core/inox-patchset/0003-disable-autofill-download-manager.patch

@@ -1,6 +1,6 @@
 --- a/components/autofill/core/browser/autofill_download_manager.cc
 +++ b/components/autofill/core/browser/autofill_download_manager.cc
-@@ -807,96 +807,6 @@ std::tuple<GURL, std::string> AutofillDo
+@@ -825,96 +825,6 @@ std::tuple<GURL, std::string> AutofillDo
  }
  
  bool AutofillDownloadManager::StartRequest(FormRequestData request_data) {

+ 1 - 1
patches/core/inox-patchset/0005-disable-default-extensions.patch

@@ -43,7 +43,7 @@
        base::FilePath path = base::FilePath(command_line->GetSwitchValueASCII(
 --- a/chrome/browser/extensions/external_component_loader.cc
 +++ b/chrome/browser/extensions/external_component_loader.cc
-@@ -29,9 +29,6 @@ ExternalComponentLoader::~ExternalCompon
+@@ -30,9 +30,6 @@ ExternalComponentLoader::~ExternalCompon
  
  void ExternalComponentLoader::StartLoading() {
    auto prefs = std::make_unique<base::DictionaryValue>();

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

@@ -1,6 +1,6 @@
 --- a/net/dns/host_resolver_manager.cc
 +++ b/net/dns/host_resolver_manager.cc
-@@ -138,10 +138,10 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -136,10 +136,10 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  

+ 1 - 1
patches/core/inox-patchset/0015-disable-update-pings.patch

@@ -1,6 +1,6 @@
 --- a/chrome/updater/configurator.cc
 +++ b/chrome/updater/configurator.cc
-@@ -77,7 +77,7 @@ int Configurator::UpdateDelay() const {
+@@ -80,7 +80,7 @@ int Configurator::UpdateDelay() const {
  }
  
  std::vector<GURL> Configurator::UpdateUrl() const {

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

@@ -2,7 +2,7 @@
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -482,14 +482,6 @@ group("gn_all") {
+@@ -479,14 +479,6 @@ group("gn_all") {
      deps += [ "//chromeos:chromeos_unittests" ]
    }
  

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

@@ -90,7 +90,7 @@ by default.
  // creates and uses to publish OEM default apps to the extensions system.
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
-@@ -83,7 +83,7 @@ namespace {
+@@ -85,7 +85,7 @@ namespace {
  
  using api::file_manager_private::ProfileInfo;
  
@@ -125,7 +125,7 @@ by default.
      "-----BEGIN PUBLIC KEY-----"                                        \
 --- a/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
 +++ b/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -123,7 +123,7 @@ void OnURLLoadUploadProgress(uint64_t cu
+@@ -125,7 +125,7 @@ void OnURLLoadUploadProgress(uint64_t cu
  }  // namespace
  
  const char WebRtcEventLogUploaderImpl::kUploadURL[] =
@@ -136,7 +136,7 @@ by default.
      scoped_refptr<base::SequencedTaskRunner> task_runner)
 --- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc
 +++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -483,7 +483,7 @@ void WebRtcLogUploader::UploadCompressed
+@@ -485,7 +485,7 @@ void WebRtcLogUploader::UploadCompressed
              "Not implemented, it would be good to do so."
          })");
  
@@ -384,7 +384,7 @@ by default.
  // Mime type to create a directory.
 --- a/components/feedback/feedback_uploader.cc
 +++ b/components/feedback/feedback_uploader.cc
-@@ -26,7 +26,7 @@ constexpr base::FilePath::CharType kFeed
+@@ -27,7 +27,7 @@ constexpr base::FilePath::CharType kFeed
      FILE_PATH_LITERAL("Feedback Reports");
  
  constexpr char kFeedbackPostUrl[] =
@@ -406,7 +406,7 @@ by default.
    url::Component query(0, static_cast<int>(str.length())), key, value;
 --- a/components/history/core/browser/web_history_service.cc
 +++ b/components/history/core/browser/web_history_service.cc
-@@ -41,13 +41,13 @@ namespace history {
+@@ -42,13 +42,13 @@ namespace history {
  namespace {
  
  const char kHistoryOAuthScope[] =
@@ -436,7 +436,7 @@ by default.
      "http://clientservices.googleapis.com/uma/v2";
 --- a/components/safe_browsing/content/browser/client_side_detection_service.cc
 +++ b/components/safe_browsing/content/browser/client_side_detection_service.cc
-@@ -60,7 +60,7 @@ const int ClientSideDetectionService::kN
+@@ -62,7 +62,7 @@ const int ClientSideDetectionService::kN
  const int ClientSideDetectionService::kPositiveCacheIntervalMinutes = 30;
  
  const char ClientSideDetectionService::kClientReportPhishingUrl[] =
@@ -469,7 +469,7 @@ by default.
    base::DictionaryValue dict;
 --- a/components/translate/core/browser/translate_url_fetcher.cc
 +++ b/components/translate/core/browser/translate_url_fetcher.cc
-@@ -99,6 +99,7 @@ bool TranslateURLFetcher::Request(const 
+@@ -99,6 +99,7 @@ bool TranslateURLFetcher::Request(const
    if (!extra_request_header_.empty())
      resource_request->headers.AddHeaderFromString(extra_request_header_);
  
@@ -479,7 +479,7 @@ by default.
            std::move(resource_request),
 --- a/components/translate/core/common/translate_util.cc
 +++ b/components/translate/core/common/translate_util.cc
-@@ -20,7 +20,7 @@ const char kDetectLanguageInSubFrames[] 
+@@ -20,7 +20,7 @@ const char kDetectLanguageInSubFrames[]
  
  }  // namespace
  
@@ -709,8 +709,8 @@ by default.
 -    "https://www.googleapis.com/auth/account.capabilities";
 +    "trk:102:https://www.googleapis.com/auth/account.capabilities";
  
- // Used to mint uber auth tokens when needed.
- const char kGaiaSid[] = "sid";
+ // OAuth2 scope for support content API.
+ const char kSupportContentOAuth2Scope[] =
 --- a/google_apis/gaia/gaia_urls.cc
 +++ b/google_apis/gaia/gaia_urls.cc
 @@ -24,6 +24,7 @@

+ 1 - 1
patches/core/iridium-browser/safe_browsing-disable-incident-reporting.patch

@@ -56,7 +56,7 @@ the URL so we get notified if this happens again in the future).
  IncidentReportingService::IncidentReportingService(
 --- a/chrome/browser/safe_browsing/safe_browsing_service.cc
 +++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
-@@ -280,7 +280,7 @@ SafeBrowsingUIManager* SafeBrowsingServi
+@@ -285,7 +285,7 @@ SafeBrowsingUIManager* SafeBrowsingServi
  }
  
  void SafeBrowsingService::RegisterAllDelayedAnalysis() {

+ 2 - 2
patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch

@@ -13,7 +13,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
 
 --- a/components/safe_browsing/content/browser/client_side_detection_service.cc
 +++ b/components/safe_browsing/content/browser/client_side_detection_service.cc
-@@ -208,6 +208,10 @@ void ClientSideDetectionService::StartCl
+@@ -210,6 +210,10 @@ void ClientSideDetectionService::StartCl
      return;
    }
  
@@ -24,7 +24,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
    // Fill in metadata about which model we used.
    *request->mutable_population() = delegate_->GetUserPopulation();
  
-@@ -288,6 +292,7 @@ void ClientSideDetectionService::StartCl
+@@ -290,6 +294,7 @@ void ClientSideDetectionService::StartCl
        base::BindOnce(&WebUIInfoSingleton::AddToClientPhishingRequestsSent,
                       base::Unretained(WebUIInfoSingleton::GetInstance()),
                       std::move(request), access_token));

+ 11 - 11
patches/core/ungoogled-chromium/block-requests.patch

@@ -10,6 +10,16 @@
    callbacks_.push_back(std::move(callback));
  
    // Note: If there is an ongoing request, abandon it. It's possible that
+--- a/chrome/browser/new_tab_page/promos/promo_service.cc
++++ b/chrome/browser/new_tab_page/promos/promo_service.cc
+@@ -138,6 +138,7 @@ PromoService::PromoService(
+ PromoService::~PromoService() = default;
+ 
+ void PromoService::Refresh() {
++  return;
+   net::NetworkTrafficAnnotationTag traffic_annotation =
+       net::DefineNetworkTrafficAnnotation("promo_service", R"(
+         semantics {
 --- a/chrome/browser/resources/discards/graph_doc_template.html
 +++ b/chrome/browser/resources/discards/graph_doc_template.html
 @@ -78,10 +78,6 @@ URL. As result, this document needs to b
@@ -25,7 +35,7 @@
    </script>
 --- a/chrome/browser/search/background/ntp_background_service.cc
 +++ b/chrome/browser/search/background/ntp_background_service.cc
-@@ -65,6 +65,7 @@ void NtpBackgroundService::Shutdown() {
+@@ -66,6 +66,7 @@ void NtpBackgroundService::Shutdown() {
  }
  
  void NtpBackgroundService::FetchCollectionInfo() {
@@ -33,16 +43,6 @@
    if (collections_loader_ != nullptr)
      return;
    collection_error_info_.ClearError();
---- a/chrome/browser/search/promos/promo_service.cc
-+++ b/chrome/browser/search/promos/promo_service.cc
-@@ -138,6 +138,7 @@ PromoService::PromoService(
- PromoService::~PromoService() = default;
- 
- void PromoService::Refresh() {
-+  return;
-   net::NetworkTrafficAnnotationTag traffic_annotation =
-       net::DefineNetworkTrafficAnnotation("promo_service", R"(
-         semantics {
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 @@ -286,6 +286,7 @@ GURL SpellcheckHunspellDictionary::GetDi

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

@@ -60,7 +60,7 @@
      return GURL(parts.scheme.is_valid() ? text : FixupPath(text));
 --- a/content/browser/child_process_security_policy_impl.cc
 +++ b/content/browser/child_process_security_policy_impl.cc
-@@ -810,6 +810,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
+@@ -819,6 +819,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
  #endif  // BUILDFLAG(ENABLE_WEBSOCKETS)
    RegisterWebSafeScheme(url::kFtpScheme);
    RegisterWebSafeScheme(url::kDataScheme);
@@ -70,7 +70,7 @@
    // TODO(nick): https://crbug.com/651534 blob: and filesystem: schemes embed
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1009,6 +1009,8 @@ component("net") {
+@@ -1013,6 +1013,8 @@ component("net") {
      "url_request/report_sender.h",
      "url_request/static_http_user_agent_settings.cc",
      "url_request/static_http_user_agent_settings.h",
@@ -175,7 +175,7 @@
      return NetLogURLRequestConstructorParams(url, priority_,
 --- a/net/url_request/url_request_context_builder.cc
 +++ b/net/url_request/url_request_context_builder.cc
-@@ -45,6 +45,7 @@
+@@ -46,6 +46,7 @@
  #include "net/quic/quic_stream_factory.h"
  #include "net/ssl/ssl_config_service_defaults.h"
  #include "net/url_request/static_http_user_agent_settings.h"
@@ -183,7 +183,7 @@
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_storage.h"
  #include "net/url_request/url_request_job_factory.h"
-@@ -553,6 +554,9 @@ std::unique_ptr<URLRequestContext> URLRe
+@@ -554,6 +555,9 @@ std::unique_ptr<URLRequestContext> URLRe
    }
    protocol_handlers_.clear();
  
@@ -205,7 +205,7 @@
  const char kWssScheme[] = "wss";
 --- a/url/url_constants.h
 +++ b/url/url_constants.h
-@@ -32,6 +32,7 @@ COMPONENT_EXPORT(URL) extern const char 
+@@ -32,6 +32,7 @@ COMPONENT_EXPORT(URL) extern const char
  COMPONENT_EXPORT(URL) extern const char kMailToScheme[];
  COMPONENT_EXPORT(URL) extern const char kQuicTransportScheme[];
  COMPONENT_EXPORT(URL) extern const char kTelScheme[];

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

@@ -23,7 +23,7 @@
  }
  
  void TraceCrashServiceUploader::DoCompressOnBackgroundThread(
-@@ -308,6 +313,7 @@ bool TraceCrashServiceUploader::Compress
+@@ -310,6 +315,7 @@ bool TraceCrashServiceUploader::Compress
  void TraceCrashServiceUploader::CreateAndStartURLLoader(
      const std::string& upload_url,
      const std::string& post_data) {

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

@@ -46,7 +46,7 @@
  <script src="../../../../../ui/webui/resources/js/cr.js"></script>
 --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
 +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
-@@ -297,7 +297,7 @@ bool DomDistillerViewerSource::ShouldSer
+@@ -300,7 +300,7 @@ bool DomDistillerViewerSource::ShouldSer
  std::string DomDistillerViewerSource::GetContentSecurityPolicy(
      network::mojom::CSPDirectiveName directive) {
    if (directive == network::mojom::CSPDirectiveName::StyleSrc) {

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/common/google_url_loader_throttle.cc
 +++ b/chrome/common/google_url_loader_throttle.cc
-@@ -18,10 +18,6 @@
+@@ -19,10 +19,6 @@
  #include "ui/base/device_form_factor.h"
  #endif
  
@@ -13,7 +13,7 @@
  namespace {
  
  #if defined(OS_ANDROID)
-@@ -64,52 +60,6 @@ void GoogleURLLoaderThrottle::DetachFrom
+@@ -65,52 +61,6 @@ void GoogleURLLoaderThrottle::DetachFrom
  void GoogleURLLoaderThrottle::WillStartRequest(
      network::ResourceRequest* request,
      bool* defer) {
@@ -66,7 +66,7 @@
  }
  
  void GoogleURLLoaderThrottle::WillRedirectRequest(
-@@ -119,37 +69,6 @@ void GoogleURLLoaderThrottle::WillRedire
+@@ -120,37 +70,6 @@ void GoogleURLLoaderThrottle::WillRedire
      std::vector<std::string>* to_be_removed_headers,
      net::HttpRequestHeaders* modified_headers,
      net::HttpRequestHeaders* modified_cors_exempt_headers) {
@@ -104,7 +104,7 @@
  }
  
  #if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -157,23 +76,5 @@ void GoogleURLLoaderThrottle::WillProces
+@@ -158,23 +77,5 @@ void GoogleURLLoaderThrottle::WillProces
      const GURL& response_url,
      network::mojom::URLResponseHead* response_head,
      bool* defer) {

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -319,7 +319,6 @@ if (!is_android && !is_mac) {
+@@ -325,7 +325,6 @@ if (!is_android && !is_mac) {
      }
  
      data_deps += [
@@ -15,7 +15,7 @@
        "//third_party/widevine/cdm",
      ]
    }
-@@ -1136,7 +1135,6 @@ if (is_win) {
+@@ -1131,7 +1130,6 @@ if (is_win) {
        ":keystone_registration_framework",
        ":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
-@@ -279,7 +279,7 @@ void NetworkTimeTracker::UpdateNetworkTi
+@@ -278,7 +278,7 @@ void NetworkTimeTracker::UpdateNetworkTi
  }
  
  bool NetworkTimeTracker::AreTimeFetchesEnabled() const {

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

@@ -11,7 +11,7 @@
  bool PrivacySandboxSettings::IsFlocAllowed() const {
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -754,7 +754,7 @@ const base::Feature kPrivacyReview{"Priv
+@@ -782,7 +782,7 @@ const base::Feature kPrivacyReview{"Priv
  
  // Enables the privacy sandbox settings page.
  const base::Feature kPrivacySandboxSettings{"PrivacySandboxSettings",

+ 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
-@@ -478,32 +478,6 @@ GURL GetOSSettingsUrl(const std::string&
+@@ -480,32 +480,6 @@ GURL GetOSSettingsUrl(const std::string&
  void ShowBrowserSignin(Browser* browser,
                         signin_metrics::AccessPoint access_point,
                         signin::ConsentLevel consent_level) {

+ 3 - 3
patches/core/ungoogled-chromium/disable-untraceable-urls.patch

@@ -23,7 +23,7 @@
  }  // namespace
 --- a/components/safe_browsing/content/browser/client_side_model_loader.cc
 +++ b/components/safe_browsing/content/browser/client_side_model_loader.cc
-@@ -60,8 +60,6 @@ std::string ReadFileIntoString(base::Fil
+@@ -61,8 +61,6 @@ std::string ReadFileIntoString(base::Fil
  // Model Loader strings
  const size_t ModelLoader::kMaxModelSizeBytes = 150 * 1024;
  const int ModelLoader::kClientModelFetchIntervalMs = 3600 * 1000;
@@ -32,7 +32,7 @@
  const char ModelLoader::kClientModelNamePattern[] =
      "client_model_v5%s_variation_%d.pb";
  #if !BUILDFLAG(FULL_SAFE_BROWSING)
-@@ -124,7 +122,7 @@ ModelLoader::ModelLoader(
+@@ -125,7 +123,7 @@ ModelLoader::ModelLoader(
      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
      bool is_extended_reporting)
      : name_(FillInModelName(is_extended_reporting, GetModelNumber())),
@@ -41,7 +41,7 @@
        update_renderers_callback_(update_renderers_callback),
        url_loader_factory_(url_loader_factory),
        last_client_model_status_(ClientModelStatus::MODEL_NEVER_FETCHED) {
-@@ -137,7 +135,7 @@ ModelLoader::ModelLoader(
+@@ -138,7 +136,7 @@ ModelLoader::ModelLoader(
      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
      const std::string& model_name)
      : name_(model_name),

+ 21 - 32
patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch

@@ -1,6 +1,6 @@
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -1226,6 +1226,10 @@ source_set("browser") {
+@@ -1239,6 +1239,10 @@ source_set("browser") {
      "net/browser_online_state_observer.cc",
      "net/browser_online_state_observer.h",
      "net/cookie_store_factory.cc",
@@ -11,7 +11,7 @@
      "net/network_errors_listing_ui.cc",
      "net/network_errors_listing_ui.h",
      "net/network_quality_observer_impl.cc",
-@@ -2965,10 +2969,6 @@ source_set("browser") {
+@@ -2988,10 +2992,6 @@ source_set("browser") {
  
    if (enable_reporting) {
      sources += [
@@ -22,6 +22,20 @@
        "net/reporting_service_proxy.cc",
        "net/reporting_service_proxy.h",
      ]
+--- a/content/public/common/content_switch_dependent_feature_overrides.cc
++++ b/content/public/common/content_switch_dependent_feature_overrides.cc
+@@ -47,9 +47,11 @@ GetSwitchDependentFeatureOverrides(const
+        std::cref(features::kDocumentPolicyNegotiation),
+        base::FeatureList::OVERRIDE_ENABLE_FEATURE},
+       {switches::kEnableExperimentalWebPlatformFeatures,
++#if BUILDFLAG(ENABLE_REPORTING)
+        std::cref(net::features::kDocumentReporting),
+        base::FeatureList::OVERRIDE_ENABLE_FEATURE},
+       {switches::kEnableExperimentalWebPlatformFeatures,
++#endif
+        std::cref(features::kExperimentalContentSecurityPolicyFeatures),
+        base::FeatureList::OVERRIDE_ENABLE_FEATURE},
+       {switches::kEnableExperimentalWebPlatformFeatures,
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -39,6 +39,7 @@
@@ -32,27 +46,13 @@
  #include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
  #include "services/network/public/cpp/features.h"
  #include "services/network/public/mojom/content_security_policy.mojom-blink.h"
-@@ -423,7 +424,9 @@ void LocalFrame::Trace(Visitor* visitor)
-   visitor->Trace(raw_system_clipboard_);
-   visitor->Trace(virtual_keyboard_overlay_changed_observers_);
-   visitor->Trace(pause_handle_receivers_);
-+#if BUILDFLAG(ENABLE_REPORTING)
-   visitor->Trace(reporting_service_);
-+#endif
- #if defined(OS_MAC)
-   visitor->Trace(text_input_host_);
- #endif
-@@ -2310,6 +2313,7 @@ const base::UnguessableToken& LocalFrame
+@@ -2284,9 +2285,11 @@ const base::UnguessableToken& LocalFrame
    return base::UnguessableToken::Null();
  }
  
 +#if BUILDFLAG(ENABLE_REPORTING)
  mojom::blink::ReportingServiceProxy* LocalFrame::GetReportingService() {
-   if (!reporting_service_.is_bound()) {
-     GetBrowserInterfaceBroker().GetInterface(
-@@ -2318,6 +2322,7 @@ mojom::blink::ReportingServiceProxy* Loc
-   }
-   return reporting_service_.get();
+   return mojo_handler_->ReportingService();
  }
 +#endif
  
@@ -65,10 +65,10 @@
  #include "mojo/public/cpp/bindings/pending_associated_receiver.h"
  #include "mojo/public/cpp/bindings/pending_receiver.h"
 +#include "net/net_buildflags.h"
+ #include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
  #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
  #include "third_party/blink/public/common/frame/frame_ad_evidence.h"
- #include "third_party/blink/public/common/frame/payment_request_token.h"
-@@ -545,9 +546,9 @@ class CORE_EXPORT LocalFrame final : pub
+@@ -543,9 +544,9 @@ class CORE_EXPORT LocalFrame final : pub
    }
  
    SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -80,17 +80,6 @@
    // Returns the frame host ptr. The interface returned is backed by an
    // associated interface with the legacy Chrome IPC channel.
    mojom::blink::LocalFrameHost& GetLocalFrameHostRemote() const;
-@@ -875,8 +876,10 @@ class CORE_EXPORT LocalFrame final : pub
-   // const methods.
-   //
-   // LocalFrame can be reused by multiple ExecutionContext.
-+#if BUILDFLAG(ENABLE_REPORTING)
-   mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy>
-       reporting_service_{nullptr};
-+#endif
- 
- #if defined(OS_MAC)
-   // LocalFrame can be reused by multiple ExecutionContext.
 --- a/third_party/blink/renderer/core/frame/reporting_context.cc
 +++ b/third_party/blink/renderer/core/frame/reporting_context.cc
 @@ -4,6 +4,7 @@
@@ -129,7 +118,7 @@
  const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
  ReportingContext::GetReportingService() const {
    if (!reporting_service_.is_bound()) {
-@@ -149,6 +155,7 @@ ReportingContext::GetReportingService() 
+@@ -149,6 +155,7 @@ ReportingContext::GetReportingService()
    }
    return reporting_service_;
  }

+ 2 - 2
patches/core/ungoogled-chromium/fix-building-without-one-click-signin.patch

@@ -14,7 +14,7 @@
  }
 --- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
 +++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
-@@ -347,6 +347,7 @@ void InlineSigninHelper::OnClientOAuthSu
+@@ -360,6 +360,7 @@ void InlineSigninHelper::OnClientOAuthSu
      const ClientOAuthResult& result,
      Profile* /*profile*/,
      Profile::CreateStatus /*status*/) {
@@ -22,7 +22,7 @@
    HandlerSigninReason reason = GetHandlerSigninReason(current_url_);
    if (reason == HandlerSigninReason::kFetchLstOnly) {
      // Constants are only available on Windows for the Google Credential
-@@ -423,6 +424,7 @@ void InlineSigninHelper::OnClientOAuthSu
+@@ -436,6 +437,7 @@ void InlineSigninHelper::OnClientOAuthSu
    }
  
    base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);

+ 97 - 82
patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -3583,9 +3583,6 @@ static_library("browser") {
+@@ -3620,9 +3620,6 @@ static_library("browser") {
        "download/offline_item_model_manager_factory.h",
        "enterprise/connectors/analysis/analysis_service_settings.cc",
        "enterprise/connectors/analysis/analysis_service_settings.h",
@@ -12,8 +12,8 @@
        "enterprise/connectors/analysis/content_analysis_dialog.cc",
        "enterprise/connectors/analysis/content_analysis_dialog.h",
        "enterprise/connectors/analysis/content_analysis_downloads_delegate.cc",
-@@ -6680,9 +6677,14 @@ static_library("browser") {
-     deps += [
+@@ -6804,9 +6801,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",
 -      "//components/safe_browsing/content/common/proto:download_file_types_proto",
@@ -30,21 +30,21 @@
      sources += [
 --- a/chrome/browser/accuracy_tips/accuracy_service_factory.cc
 +++ b/chrome/browser/accuracy_tips/accuracy_service_factory.cc
-@@ -40,10 +40,7 @@ KeyedService* AccuracyServiceFactory::Bu
-     content::BrowserContext* profile) const {
+@@ -48,10 +48,7 @@ KeyedService* AccuracyServiceFactory::Bu
+     content::BrowserContext* browser_context) const {
    DCHECK(base::FeatureList::IsEnabled(safe_browsing::kAccuracyTipsFeature));
-   auto ui = std::make_unique<ChromeAccuracyTipUI>();
+   Profile* profile = Profile::FromBrowserContext(browser_context);
 -  auto sb_database =
 -      g_browser_process->safe_browsing_service()
 -          ? g_browser_process->safe_browsing_service()->database_manager()
 -          : nullptr;
 +  auto sb_database = nullptr;
-   return new accuracy_tips::AccuracyService(
-       std::move(ui), std::move(sb_database), content::GetUIThreadTaskRunner({}),
-       content::GetIOThreadTaskRunner({}));
+   auto* history_service = HistoryServiceFactory::GetForProfile(
+       profile, ServiceAccessType::IMPLICIT_ACCESS);
+   auto delegate = std::make_unique<AccuracyServiceDelegate>(profile);
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -4109,11 +4109,13 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4058,11 +4058,13 @@ ChromeContentBrowserClient::CreateThrott
                     &throttles);
  #endif
  
@@ -58,7 +58,7 @@
  
  // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
  // of lacros-chrome is complete.
-@@ -5436,26 +5438,7 @@ ChromeContentBrowserClient::GetSafeBrows
+@@ -5387,26 +5389,7 @@ ChromeContentBrowserClient::GetSafeBrows
      const std::vector<std::string>& allowlist_domains) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);
  
@@ -86,7 +86,7 @@
  }
  
  safe_browsing::RealTimeUrlLookupServiceBase*
-@@ -5476,11 +5459,6 @@ ChromeContentBrowserClient::GetUrlLookup
+@@ -5427,11 +5410,6 @@ ChromeContentBrowserClient::GetUrlLookup
          GetForProfile(profile);
    }
  #endif
@@ -100,7 +100,7 @@
  
 --- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
 +++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
-@@ -97,45 +97,6 @@ void MaybeCreateSafeBrowsingForRenderer(
+@@ -131,45 +131,6 @@ void MaybeCreateSafeBrowsingForRenderer(
          const std::vector<std::string>& allowlist_domains)>
          get_checker_delegate,
      mojo::PendingReceiver<safe_browsing::mojom::SafeBrowsing> receiver) {
@@ -189,7 +189,7 @@
  using safe_browsing::DownloadProtectionService;
  using ConnectionType = net::NetworkChangeNotifier::ConnectionType;
  
-@@ -1373,8 +1372,6 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -1382,8 +1381,6 @@ void ChromeDownloadManagerDelegate::OnDo
      if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
        DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
  #endif
@@ -198,7 +198,7 @@
    }
    if (ShouldBlockFile(target_info->danger_type, item)) {
      MaybeReportDangerousDownloadBlocked(
-@@ -1513,10 +1510,10 @@ void ChromeDownloadManagerDelegate::Mayb
+@@ -1522,10 +1519,10 @@ void ChromeDownloadManagerDelegate::Mayb
      service->MaybeSendDangerousDownloadOpenedReport(download,
                                                      show_download_in_folder);
    }
@@ -233,7 +233,7 @@
  void RecordOpenedDangerousConfirmDialog(
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
-@@ -38,14 +38,12 @@
+@@ -32,14 +32,12 @@
  #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service_factory.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"
@@ -250,7 +250,7 @@
  #include "crypto/secure_hash.h"
 --- a/chrome/browser/enterprise/connectors/connectors_service.cc
 +++ b/chrome/browser/enterprise/connectors/connectors_service.cc
-@@ -449,19 +449,6 @@ absl::optional<std::string> ConnectorsSe
+@@ -446,19 +446,6 @@ absl::optional<std::string> ConnectorsSe
    return absl::nullopt;
  }
  
@@ -280,7 +280,7 @@
  #include "content/public/browser/browser_context.h"
  
  namespace base {
-@@ -82,12 +81,6 @@ class ConnectorsService : public KeyedSe
+@@ -79,12 +78,6 @@ class ConnectorsService : public KeyedSe
    // is no token to use.
    absl::optional<std::string> GetDMTokenForRealTimeUrlCheck() const;
  
@@ -295,7 +295,7 @@
    // precedence.
 --- a/chrome/browser/enterprise/signals/context_info_fetcher.cc
 +++ b/chrome/browser/enterprise/signals/context_info_fetcher.cc
-@@ -75,7 +75,6 @@ void ContextInfoFetcher::Fetch(ContextIn
+@@ -174,7 +174,6 @@ void ContextInfoFetcher::Fetch(ContextIn
        GetAnalysisConnectorProviders(enterprise_connectors::FILE_DOWNLOADED);
    info.on_bulk_data_entry_providers =
        GetAnalysisConnectorProviders(enterprise_connectors::BULK_DATA_ENTRY);
@@ -303,7 +303,7 @@
    info.on_security_event_providers = GetOnSecurityEventProviders();
    info.browser_version = version_info::GetVersionNumber();
    info.safe_browsing_protection_level = GetSafeBrowsingProtectionLevel();
-@@ -108,11 +107,6 @@ std::vector<std::string> ContextInfoFetc
+@@ -223,11 +222,6 @@ std::vector<std::string> ContextInfoFetc
    return connectors_service_->GetAnalysisServiceProviderNames(connector);
  }
  
@@ -317,7 +317,7 @@
        enterprise_connectors::ReportingConnector::SECURITY_EVENT);
 --- a/chrome/browser/enterprise/signals/context_info_fetcher.h
 +++ b/chrome/browser/enterprise/signals/context_info_fetcher.h
-@@ -6,10 +6,10 @@
+@@ -6,12 +6,12 @@
  #define CHROME_BROWSER_ENTERPRISE_SIGNALS_CONTEXT_INFO_FETCHER_H_
  
  #include <string>
@@ -325,11 +325,13 @@
  #include <vector>
  
  #include "base/callback_forward.h"
+ #include "build/build_config.h"
+ #include "chrome/browser/enterprise/signals/signals_common.h"
 -#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
  
  namespace content {
  class BrowserContext;
-@@ -35,7 +35,6 @@ struct ContextInfo {
+@@ -37,7 +37,6 @@ struct ContextInfo {
    std::vector<std::string> on_file_downloaded_providers;
    std::vector<std::string> on_bulk_data_entry_providers;
    std::vector<std::string> on_security_event_providers;
@@ -337,7 +339,7 @@
    std::string browser_version;
    safe_browsing::SafeBrowsingState safe_browsing_protection_level;
    bool site_isolation_enabled;
-@@ -83,7 +82,6 @@ class ContextInfoFetcher {
+@@ -87,7 +86,6 @@ class ContextInfoFetcher {
    std::vector<std::string> GetAnalysisConnectorProviders(
        enterprise_connectors::AnalysisConnector connector);
  
@@ -347,7 +349,7 @@
  
 --- a/chrome/browser/extensions/BUILD.gn
 +++ b/chrome/browser/extensions/BUILD.gn
-@@ -652,8 +652,6 @@ static_library("extensions") {
+@@ -646,8 +646,6 @@ static_library("extensions") {
      "menu_manager_factory.h",
      "navigation_observer.cc",
      "navigation_observer.h",
@@ -358,10 +360,10 @@
      "pending_extension_info.cc",
 --- 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
-@@ -66,17 +66,8 @@ api::enterprise_reporting_private::Conte
+@@ -71,17 +71,8 @@ api::enterprise_reporting_private::Conte
+           ? std::make_unique<bool>(signals.third_party_blocking_enabled.value())
            : nullptr;
-   info.chrome_remote_desktop_app_blocked =
-       signals.chrome_remote_desktop_app_blocked;
+   info.os_firewall = ToInfoSettingValue(signals.os_firewall);
 -  switch (signals.realtime_url_check_mode) {
 -    case safe_browsing::REAL_TIME_CHECK_DISABLED:
        info.realtime_url_check_mode = extensions::api::
@@ -538,7 +540,7 @@
  }
  
  // static
-@@ -1006,7 +1026,11 @@ void SafeBrowsingPrivateEventRouter::Rep
+@@ -1010,7 +1030,11 @@ void SafeBrowsingPrivateEventRouter::Rep
  }
  
  std::string SafeBrowsingPrivateEventRouter::GetProfileUserName() const {
@@ -560,7 +562,7 @@
  #include "chrome/browser/extensions/pending_extension_manager.h"
  #include "chrome/browser/extensions/permissions_updater.h"
  #include "chrome/browser/extensions/shared_module_service.h"
-@@ -380,7 +379,6 @@ ExtensionService::ExtensionService(Profi
+@@ -373,7 +372,6 @@ ExtensionService::ExtensionService(Profi
        safe_browsing_verdict_handler_(extension_prefs,
                                       ExtensionRegistry::Get(profile),
                                       this),
@@ -568,7 +570,7 @@
        registry_(ExtensionRegistry::Get(profile)),
        pending_extension_manager_(profile),
        install_directory_(install_directory),
-@@ -848,50 +846,6 @@ bool ExtensionService::IsExtensionEnable
+@@ -841,47 +839,6 @@ bool ExtensionService::IsExtensionEnable
    return extension_registrar_.IsExtensionEnabled(extension_id);
  }
  
@@ -588,9 +590,7 @@
 -  bool has_malware_value =
 -      OmahaAttributesHandler::HasOmahaBlocklistStateInAttributes(
 -          attributes, BitMapBlocklistState::BLOCKLISTED_MALWARE);
--  if (!base::FeatureList::IsEnabled(
--          extensions_features::kDisableMalwareExtensionsRemotely) ||
--      !has_malware_value) {
+-  if (!has_malware_value) {
 -    OmahaAttributesHandler::ReportNoUpdateCheckKeys();
 -    // Omaha attributes may have previously have the "_malware" key.
 -    MaybeEnableRemotelyDisabledExtension(extension_id);
@@ -615,11 +615,10 @@
 -  // Show an error for the newly blocklisted extension.
 -  error_controller_->ShowErrorIfNeeded();
 -}
--
+ 
  void ExtensionService::MaybeEnableRemotelyDisabledExtension(
      const std::string& extension_id) {
-   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-@@ -907,56 +861,6 @@ void ExtensionService::MaybeEnableRemote
+@@ -898,56 +855,6 @@ void ExtensionService::MaybeEnableRemote
    unchanged.erase(extension_id);
    // Remove the extension from the blocklist.
    UpdateBlocklistedExtensions({}, unchanged);
@@ -629,8 +628,9 @@
 -
 -void ExtensionService::ClearGreylistedAcknowledgedStateAndMaybeReenable(
 -    const std::string& extension_id) {
--  bool is_on_sb_list = (extension_prefs_->GetExtensionBlocklistState(
--                            extension_id) != NOT_BLOCKLISTED);
+-  bool is_on_sb_list = (blocklist_prefs::GetSafeBrowsingExtensionBlocklistState(
+-                            extension_id, extension_prefs_) !=
+-                        BitMapBlocklistState::NOT_BLOCKLISTED);
 -  bool is_on_omaha_list =
 -      blocklist_prefs::HasAnyOmahaGreylistState(extension_id, extension_prefs_);
 -  if (is_on_sb_list || is_on_omaha_list) {
@@ -649,9 +649,8 @@
 -    BitMapBlocklistState new_state) {
 -#if DCHECK_IS_ON()
 -  bool has_new_state_on_sb_list =
--      (blocklist_prefs::BlocklistStateToBitMapBlocklistState(
--           extension_prefs_->GetExtensionBlocklistState(extension_id)) ==
--       new_state);
+-      (blocklist_prefs::GetSafeBrowsingExtensionBlocklistState(
+-           extension_id, extension_prefs_) == new_state);
 -  bool has_new_state_on_omaha_list = blocklist_prefs::HasOmahaBlocklistState(
 -      extension_id, new_state, extension_prefs_);
 -  DCHECK(has_new_state_on_sb_list || has_new_state_on_omaha_list);
@@ -715,7 +714,7 @@
    // Disables the extension. If the extension is already disabled, just adds
    // the |disable_reasons| (a bitmask of disable_reason::DisableReason - there
    // can be multiple DisableReasons e.g. when an extension comes in disabled
-@@ -551,11 +533,6 @@ class ExtensionService : public Extensio
+@@ -546,11 +528,6 @@ class ExtensionService : public Extensio
    // Helper method to determine if an extension can be blocked.
    bool CanBlockExtension(const Extension* extension) const;
  
@@ -727,7 +726,7 @@
    // Enables an extension that was only previously disabled remotely.
    void MaybeEnableRemotelyDisabledExtension(const std::string& extension_id);
  
-@@ -628,8 +605,6 @@ class ExtensionService : public Extensio
+@@ -623,8 +600,6 @@ class ExtensionService : public Extensio
  
    SafeBrowsingVerdictHandler safe_browsing_verdict_handler_;
  
@@ -750,35 +749,35 @@
 --- a/chrome/browser/extensions/safe_browsing_verdict_handler.cc
 +++ b/chrome/browser/extensions/safe_browsing_verdict_handler.cc
 @@ -101,8 +101,6 @@ void SafeBrowsingVerdictHandler::UpdateG
-     greylist_.Remove(id);
-     extension_prefs_->SetExtensionBlocklistState(extension->id(),
-                                                  NOT_BLOCKLISTED);
+     blocklist_prefs::SetSafeBrowsingExtensionBlocklistState(
+         extension->id(), BitMapBlocklistState::NOT_BLOCKLISTED,
+         extension_prefs_);
 -    extension_service_->ClearGreylistedAcknowledgedStateAndMaybeReenable(
 -        extension->id());
    }
  
    // Iterate over `greylist` instead of `not_yet_greylisted`, because the
-@@ -120,9 +118,6 @@ void SafeBrowsingVerdictHandler::UpdateG
-     greylist_.Insert(extension);
-     BlocklistState greylist_state = state_map.find(id)->second;
-     extension_prefs_->SetExtensionBlocklistState(id, greylist_state);
--    extension_service_->MaybeDisableGreylistedExtension(
--        id,
--        blocklist_prefs::BlocklistStateToBitMapBlocklistState(greylist_state));
+@@ -123,8 +121,6 @@ void SafeBrowsingVerdictHandler::UpdateG
+         blocklist_prefs::BlocklistStateToBitMapBlocklistState(greylist_state);
+     blocklist_prefs::SetSafeBrowsingExtensionBlocklistState(
+         extension->id(), bitmap_greylist_state, extension_prefs_);
+-    extension_service_->MaybeDisableGreylistedExtension(id,
+-                                                        bitmap_greylist_state);
    }
  }
  
 --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
 +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-@@ -35,7 +35,6 @@
+@@ -35,8 +35,6 @@
  #include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
  #include "chrome/browser/installable/installable_utils.h"
  #include "chrome/browser/profiles/profile.h"
 -#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
+-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/ui/file_system_access_dialogs.h"
  #include "chrome/common/chrome_paths.h"
  #include "components/content_settings/core/browser/host_content_settings_map.h"
-@@ -311,80 +310,6 @@ BindResultCallbackToCurrentSequence(
+@@ -301,80 +299,6 @@ BindResultCallbackToCurrentSequence(
        base::SequencedTaskRunnerHandle::Get(), std::move(callback));
  }
  
@@ -859,7 +858,7 @@
  std::string GenerateLastPickedDirectoryKey(const std::string& id) {
    return id.empty() ? kDefaultLastPickedDirectoryKey
                      : base::StrCat({kCustomLastPickedDirectoryKey, "-", id});
-@@ -1115,28 +1040,6 @@ void ChromeFileSystemAccessPermissionCon
+@@ -1105,28 +1029,6 @@ void ChromeFileSystemAccessPermissionCon
                       std::move(callback)));
  }
  
@@ -903,7 +902,15 @@
  
 --- a/chrome/browser/media/webrtc/display_media_access_handler.cc
 +++ b/chrome/browser/media/webrtc/display_media_access_handler.cc
-@@ -109,6 +109,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -25,6 +25,7 @@
+ #include "chrome/browser/safe_browsing/user_interaction_observer.h"
+ #include "chrome/common/pref_names.h"
+ #include "components/prefs/pref_service.h"
++#include "components/safe_browsing/buildflags.h"
+ #include "components/url_formatter/elide_url.h"
+ #include "content/public/browser/browser_thread.h"
+ #include "content/public/browser/desktop_capture.h"
+@@ -111,6 +112,7 @@ void DisplayMediaAccessHandler::HandleRe
      return;
    }
  
@@ -911,7 +918,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
-@@ -123,6 +124,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -125,6 +127,7 @@ void DisplayMediaAccessHandler::HandleRe
      observer->OnDesktopCaptureRequest();
      return;
    }
@@ -929,7 +936,7 @@
  #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"
-@@ -110,11 +109,11 @@
+@@ -111,11 +110,11 @@
  #if BUILDFLAG(FULL_SAFE_BROWSING)
  #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
  #include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
@@ -942,7 +949,7 @@
  
  #if defined(OS_ANDROID)
  #include "base/feature_list.h"
-@@ -807,6 +806,7 @@ autofill::LanguageCode ChromePasswordMan
+@@ -820,6 +819,7 @@ autofill::LanguageCode ChromePasswordMan
    return autofill::LanguageCode();
  }
  
@@ -950,7 +957,7 @@
  safe_browsing::PasswordProtectionService*
  ChromePasswordManagerClient::GetPasswordProtectionService() const {
    return safe_browsing::ChromePasswordProtectionService::
-@@ -817,13 +817,6 @@ ChromePasswordManagerClient::GetPassword
+@@ -830,13 +830,6 @@ ChromePasswordManagerClient::GetPassword
  void ChromePasswordManagerClient::CheckSafeBrowsingReputation(
      const GURL& form_action,
      const GURL& frame_url) {
@@ -964,7 +971,7 @@
  }
  #endif  // defined(ON_FOCUS_PING_ENABLED)
  
-@@ -833,22 +826,10 @@ void ChromePasswordManagerClient::CheckP
+@@ -846,22 +839,10 @@ void ChromePasswordManagerClient::CheckP
      const std::vector<password_manager::MatchingReusedCredential>&
          matching_reused_credentials,
      bool password_field_exists) {
@@ -988,7 +995,7 @@
  }
  
  ukm::SourceId ChromePasswordManagerClient::GetUkmSourceId() {
-@@ -1323,9 +1304,11 @@ void ChromePasswordManagerClient::OnPast
+@@ -1326,9 +1307,11 @@ void ChromePasswordManagerClient::OnPast
    }
  
    was_on_paste_called_ = true;
@@ -1001,7 +1008,7 @@
  
  void ChromePasswordManagerClient::RenderFrameCreated(
      content::RenderFrameHost* render_frame_host) {
-@@ -1360,7 +1343,9 @@ void ChromePasswordManagerClient::OnInpu
+@@ -1363,7 +1346,9 @@ void ChromePasswordManagerClient::OnInpu
    if (key_event.windows_key_code == (ui::VKEY_V & 0x1f)) {
      OnPaste();
    } else {
@@ -1011,7 +1018,7 @@
    }
  #endif  // defined(OS_ANDROID)
  }
-@@ -1399,6 +1384,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1402,6 +1387,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -1019,7 +1026,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
-@@ -1409,6 +1395,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1412,6 +1398,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -1029,7 +1036,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
-@@ -192,13 +192,14 @@ class ChromePasswordManagerClient
+@@ -200,13 +200,14 @@ class ChromePasswordManagerClient
    void AnnotateNavigationEntry(bool has_password_field) override;
    autofill::LanguageCode GetPageLanguage() const override;
  
@@ -1045,7 +1052,7 @@
  
    void CheckProtectedPasswordEntry(
        password_manager::metrics_util::PasswordType reused_password_type,
-@@ -206,6 +207,7 @@ class ChromePasswordManagerClient
+@@ -214,6 +215,7 @@ class ChromePasswordManagerClient
        const std::vector<password_manager::MatchingReusedCredential>&
            matching_reused_credentials,
        bool password_field_exists) override;
@@ -1241,8 +1248,8 @@
  }
  
  content::BrowserContext* SCTReportingServiceFactory::GetBrowserContextToUse(
---- a/chrome/browser/subresource_filter/chrome_content_subresource_filter_throttle_manager_factory.cc
-+++ b/chrome/browser/subresource_filter/chrome_content_subresource_filter_throttle_manager_factory.cc
+--- a/chrome/browser/subresource_filter/chrome_content_subresource_filter_web_contents_helper_factory.cc
++++ b/chrome/browser/subresource_filter/chrome_content_subresource_filter_web_contents_helper_factory.cc
 @@ -6,7 +6,6 @@
  
  #include "chrome/browser/browser_process.h"
@@ -1250,7 +1257,7 @@
 -#include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/subresource_filter/subresource_filter_profile_context_factory.h"
  #include "components/safe_browsing/core/browser/db/database_manager.h"
- #include "components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h"
+ #include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h"
 @@ -18,10 +17,7 @@ namespace {
  // available. Otherwise returns nullptr.
  const scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager>
@@ -1265,7 +1272,15 @@
  }  // namespace
 --- a/chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc
 +++ b/chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc
-@@ -36,6 +36,7 @@ JavaScriptTabModalDialogManagerDelegateD
+@@ -16,6 +16,7 @@
+ #include "components/javascript_dialogs/tab_modal_dialog_manager.h"
+ #include "components/javascript_dialogs/tab_modal_dialog_view.h"
+ #include "components/navigation_metrics/navigation_metrics.h"
++#include "components/safe_browsing/buildflags.h"
+ #include "components/ukm/content/source_url_recorder.h"
+ #include "content/public/browser/devtools_agent_host.h"
+ #include "content/public/browser/navigation_handle.h"
+@@ -36,6 +37,7 @@ JavaScriptTabModalDialogManagerDelegateD
  
  void JavaScriptTabModalDialogManagerDelegateDesktop::WillRunDialog() {
    BrowserList::AddObserver(this);
@@ -1273,7 +1288,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
-@@ -46,6 +47,7 @@ void JavaScriptTabModalDialogManagerDele
+@@ -46,6 +48,7 @@ void JavaScriptTabModalDialogManagerDele
    if (observer) {
      observer->OnJavaScriptDialog();
    }
@@ -1354,7 +1369,7 @@
  }
 --- a/chrome/browser/ui/views/download/download_item_view.cc
 +++ b/chrome/browser/ui/views/download/download_item_view.cc
-@@ -806,9 +806,7 @@ void DownloadItemView::UpdateLabels() {
+@@ -836,9 +836,7 @@ void DownloadItemView::UpdateLabels() {
    deep_scanning_label_->SetVisible(mode_ ==
                                     download::DownloadItemMode::kDeepScanning);
    if (deep_scanning_label_->GetVisible()) {
@@ -1365,7 +1380,7 @@
                         ? IDS_PROMPT_DEEP_SCANNING_DOWNLOAD
                         : IDS_PROMPT_DEEP_SCANNING_APP_DOWNLOAD;
      const std::u16string filename = ElidedFilename(*deep_scanning_label_);
-@@ -855,11 +853,15 @@ void DownloadItemView::UpdateButtons() {
+@@ -885,11 +883,15 @@ void DownloadItemView::UpdateButtons() {
    }
  
    const bool allow_open_during_deep_scan =
@@ -1381,7 +1396,7 @@
    open_button_->SetEnabled((mode_ == download::DownloadItemMode::kNormal) ||
                             prompt_to_scan || allow_open_during_deep_scan);
  
-@@ -1352,7 +1354,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1406,7 +1408,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -1460,7 +1475,7 @@
                                 std::move(callback),
 --- a/components/password_manager/content/browser/content_password_manager_driver.cc
 +++ b/components/password_manager/content/browser/content_password_manager_driver.cc
-@@ -318,7 +318,7 @@ void ContentPasswordManagerDriver::Check
+@@ -408,7 +408,7 @@ void ContentPasswordManagerDriver::Check
    if (client_->GetMetricsRecorder()) {
      client_->GetMetricsRecorder()->RecordUserFocusedPasswordField();
    }
@@ -1471,7 +1486,7 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -331,11 +331,14 @@ class PasswordManagerClient {
+@@ -340,11 +340,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual autofill::LanguageCode GetPageLanguage() const;
  
@@ -1487,7 +1502,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.
-@@ -343,6 +346,7 @@ class PasswordManagerClient {
+@@ -352,6 +355,7 @@ class PasswordManagerClient {
                                             const GURL& frame_url) = 0;
  #endif
  
@@ -1495,7 +1510,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
-@@ -355,6 +359,7 @@ class PasswordManagerClient {
+@@ -364,6 +368,7 @@ class PasswordManagerClient {
        const std::string& username,
        const std::vector<MatchingReusedCredential>& matching_reused_credentials,
        bool password_field_exists) = 0;
@@ -1614,7 +1629,7 @@
    void DidSwapFileSkipQuarantine(base::File::Error result);
 --- a/content/public/browser/file_system_access_permission_context.h
 +++ b/content/public/browser/file_system_access_permission_context.h
-@@ -107,12 +107,6 @@ class FileSystemAccessPermissionContext 
+@@ -107,12 +107,6 @@ class FileSystemAccessPermissionContext
        base::OnceCallback<void(SensitiveDirectoryResult)> callback) = 0;
  
    enum class AfterWriteCheckResult { kAllow, kBlock };
@@ -1645,7 +1660,7 @@
  UpdateService::UpdateService(
 --- a/weblayer/BUILD.gn
 +++ b/weblayer/BUILD.gn
-@@ -454,7 +454,6 @@ source_set("weblayer_lib_base") {
+@@ -455,7 +455,6 @@ source_set("weblayer_lib_base") {
      "//components/pref_registry:pref_registry",
      "//components/prefs",
      "//components/profile_metrics",

File diff suppressed because it is too large
+ 184 - 191
patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch


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

@@ -25,5 +25,5 @@
 +      "search_url": "http://{searchTerms}",
 +      "new_tab_url": "about:blank",
        "type": "SEARCH_ENGINE_GOOGLE",
+       "preconnect_to_search_url" : "ALLOWED",
        "id": 1
-     },

+ 6 - 6
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
-@@ -128,6 +128,7 @@
+@@ -130,6 +130,7 @@
  #include "components/spellcheck/common/spellcheck_common.h"
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/strings/grit/components_strings.h"
@@ -9,7 +9,7 @@
  #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"
-@@ -1686,6 +1687,8 @@ void RenderViewContextMenu::AppendPageIt
+@@ -1731,6 +1732,8 @@ void RenderViewContextMenu::AppendPageIt
      menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
    }
  
@@ -18,7 +18,7 @@
    ChromeTranslateClient* chrome_translate_client =
        ChromeTranslateClient::FromWebContents(embedder_web_contents_);
    const bool canTranslate =
-@@ -1707,6 +1710,7 @@ void RenderViewContextMenu::AppendPageIt
+@@ -1752,6 +1755,7 @@ void RenderViewContextMenu::AppendPageIt
          IDC_CONTENT_CONTEXT_TRANSLATE,
          l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
    }
@@ -56,7 +56,7 @@
      request_pending_ = true;
 --- a/components/translate/core/browser/translate_manager.cc
 +++ b/components/translate/core/browser/translate_manager.cc
-@@ -915,8 +915,9 @@ void TranslateManager::FilterIsTranslate
+@@ -887,8 +887,9 @@ void TranslateManager::FilterIsTranslate
          ->LogAutofillAssistantDeferredTriggerDecision();
    }
  
@@ -66,8 +66,8 @@
 +  if (!command_line.HasSwitch(translate::switches::kTranslateScriptURL) ||
 +      (!ignore_missing_key_for_testing_ && !::google_apis::HasAPIKeyConfigured())) {
      // Without an API key, translate won't work, so don't offer to translate in
-     // the first place. Leave prefs::kOfferTranslateEnabled on, though, because
-     // that settings syncs and we don't want to turn off translate everywhere
+     // the first place. Leave kOfferTranslateEnabled on, though, because that
+     // 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

+ 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
-@@ -2320,6 +2320,7 @@ static_library("browser") {
+@@ -2331,6 +2331,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
@@ -44,7 +44,7 @@
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -222,6 +222,7 @@ source_set("browser") {
+@@ -221,6 +221,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
-@@ -213,6 +213,7 @@
+@@ -215,6 +215,7 @@
  #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
  #include "third_party/blink/public/mojom/disk_allocator.mojom.h"
  #include "third_party/blink/public/public_buildflags.h"
@@ -62,7 +62,7 @@
  #include "third_party/skia/include/core/SkBitmap.h"
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_switches.h"
-@@ -3483,6 +3484,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3443,6 +3444,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLDraftExtensions,
      switches::kEnableWebGLImageChromium,
      switches::kFileUrlPathAlias,
@@ -83,7 +83,7 @@
      "//ui/events/blink",
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -32,6 +32,7 @@
+@@ -31,6 +31,7 @@
  #include "third_party/blink/public/common/loader/referrer_utils.h"
  #include "third_party/blink/public/common/switches.h"
  #include "third_party/blink/public/platform/web_runtime_features.h"
@@ -91,7 +91,7 @@
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
-@@ -473,6 +474,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -468,6 +469,10 @@ void SetRuntimeFeaturesFromCommandLine(c
        {wrf::EnableWebGPU, switches::kEnableUnsafeWebGPU, true},
        {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo,
         true},
@@ -104,9 +104,9 @@
      if (command_line.HasSwitch(mapping.switch_name))
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -218,6 +218,8 @@ class WebRuntimeFeatures {
+@@ -219,6 +219,8 @@ class WebRuntimeFeatures {
+   BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
    BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
-   BLINK_PLATFORM_EXPORT static void EnableGetCurrentBrowsingContextMedia(bool);
    BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -167,7 +167,7 @@
    AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -2051,6 +2055,9 @@ class CORE_EXPORT Document : public Cont
+@@ -2049,6 +2053,9 @@ class CORE_EXPORT Document : public Cont
  
    base::ElapsedTimer start_time_;
  
@@ -179,7 +179,7 @@
    HeapVector<Member<ScriptElementBase>> current_script_stack_;
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -2103,6 +2103,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2107,6 +2107,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
        quads, *element_layout_object);
@@ -191,7 +191,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2120,6 +2125,9 @@ FloatRect Element::GetBoundingClientRect
+@@ -2124,6 +2129,9 @@ FloatRect Element::GetBoundingClientRect
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
                                                          *element_layout_object);
@@ -266,7 +266,7 @@
                const TextDirection&,
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
-@@ -946,9 +946,15 @@ TextMetrics* CanvasRenderingContext2D::m
+@@ -960,9 +960,15 @@ TextMetrics* CanvasRenderingContext2D::m
    TextDirection direction =
        ToTextDirection(GetState().GetDirection(), canvas());
  
@@ -285,7 +285,7 @@
  void CanvasRenderingContext2D::fillFormattedText(
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1679,6 +1679,7 @@ component("platform") {
+@@ -1678,6 +1678,7 @@ component("platform") {
      "//components/paint_preview/common",
      "//components/power_scheduler",
      "//components/search_engines:search_engine_utils",
@@ -295,7 +295,7 @@
      "//crypto",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -698,4 +698,12 @@ void WebRuntimeFeatures::EnableCLSScroll
+@@ -700,4 +700,12 @@ void WebRuntimeFeatures::EnableCLSScroll
    RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
  }
  
@@ -310,7 +310,7 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1023,6 +1023,12 @@
+@@ -1041,6 +1041,12 @@
        origin_trial_feature_name: "FledgeInterestGroupAPI",
      },
      {

+ 11 - 11
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
-@@ -3486,6 +3486,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3446,6 +3446,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
-@@ -478,6 +478,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -473,6 +473,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -55,7 +55,7 @@ approach to change color components.
      if (command_line.HasSwitch(mapping.switch_name))
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -220,6 +220,7 @@ class WebRuntimeFeatures {
+@@ -221,6 +221,7 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -65,15 +65,15 @@ approach to change color components.
    BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
-@@ -25,6 +25,7 @@
- #include "third_party/blink/renderer/platform/geometry/float_quad.h"
+@@ -28,6 +28,7 @@
  #include "third_party/blink/renderer/platform/graphics/bitmap_image.h"
+ #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
  #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
 +#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
  #include "third_party/blink/renderer/platform/graphics/stroke_data.h"
  #include "third_party/blink/renderer/platform/heap/heap.h"
- 
-@@ -2091,6 +2092,9 @@ ImageData* BaseRenderingContext2D::getIm
+ #include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
+@@ -2304,6 +2305,9 @@ ImageData* BaseRenderingContext2D::getIm
            snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
        DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
      }
@@ -85,7 +85,7 @@ approach to change color components.
    if (!IsPaint2D()) {
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1637,7 +1637,9 @@ component("platform") {
+@@ -1636,7 +1636,9 @@ component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  
@@ -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
-@@ -706,4 +706,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -708,4 +708,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -311,7 +311,7 @@ approach to change color components.
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
 +++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
-@@ -36,6 +36,8 @@ class PLATFORM_EXPORT StaticBitmapImage 
+@@ -36,6 +36,8 @@ class PLATFORM_EXPORT StaticBitmapImage
  
    StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {}
  
@@ -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
-@@ -1029,6 +1029,9 @@
+@@ -1047,6 +1047,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
-@@ -2083,6 +2083,7 @@ static_library("browser") {
+@@ -2091,6 +2091,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -80,7 +80,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"
-@@ -327,6 +331,18 @@ void BrowserProcessImpl::Init() {
+@@ -338,6 +342,18 @@ void BrowserProcessImpl::Init() {
                               base::BindRepeating(&ApplyMetricsReportingPolicy));
  #endif
  
@@ -101,7 +101,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1566,6 +1566,10 @@ const char kMediaHistoryDescription[] =
+@@ -1519,6 +1519,10 @@ const char kMediaHistoryDescription[] =
      "Enables Media History which records data around media playbacks on "
      "websites.";
  
@@ -114,7 +114,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
-@@ -902,6 +902,9 @@ extern const char kLogJsConsoleMessagesD
+@@ -874,6 +874,9 @@ extern const char kLogJsConsoleMessagesD
  extern const char kMediaHistoryName[];
  extern const char kMediaHistoryDescription[];
  

+ 1 - 1
patches/extra/debian/disable/google-api-warning.patch

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
 +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -652,9 +652,6 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -666,9 +666,6 @@ void StartupBrowserCreatorImpl::AddInfoB
      }
  #endif
  

+ 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
-@@ -1262,7 +1262,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1161,7 +1161,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -93,8 +93,8 @@
    registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
    registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
    registry->RegisterBooleanPref(
--      prefs::kOfferTranslateEnabled, true,
-+      prefs::kOfferTranslateEnabled, false,
+-      translate::prefs::kOfferTranslateEnabled, true,
++      translate::prefs::kOfferTranslateEnabled, false,
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterStringPref(prefs::kCloudPrintEmail, std::string());
    registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true);

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

@@ -39,7 +39,7 @@
  
  const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
      "RemoteSuggestionsEmulateM58FetchingSchedule",
-@@ -69,10 +69,10 @@ const char kNotificationsDailyLimit[] = 
+@@ -69,10 +69,10 @@ const char kNotificationsDailyLimit[] =
  const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
  
  const base::Feature kKeepPrefetchedContentSuggestions{

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

@@ -9,7 +9,7 @@ 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
-@@ -1480,8 +1480,6 @@ int ChromeBrowserMainParts::PreMainMessa
+@@ -1461,8 +1461,6 @@ int ChromeBrowserMainParts::PreMainMessa
    // and preferences have been registered since some of the import code depends
    // on preferences.
    if (first_run::IsChromeFirstRun()) {

+ 1 - 1
patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch

@@ -10,7 +10,7 @@ Out with all those tracking cookies!
 
 --- a/components/content_settings/core/browser/content_settings_registry.cc
 +++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -127,7 +127,7 @@ void ContentSettingsRegistry::Init() {
+@@ -126,7 +126,7 @@ void ContentSettingsRegistry::Init() {
    // WARNING: The string names of the permissions passed in below are used to
    // generate preference names and should never be changed!
  

+ 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
-@@ -862,7 +862,7 @@ static base::mac::ScopedObjCClassSwizzle
+@@ -858,7 +858,7 @@ static base::mac::ScopedObjCClassSwizzle
    CFStringRef checkInterval = CFSTR("checkInterval");
    CFPropertyListRef plist = CFPreferencesCopyAppValue(checkInterval, app);
    if (!plist) {

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

@@ -80,7 +80,7 @@
  #include "base/feature_list.h"
  #include "base/i18n/break_iterator.h"
  #include "base/i18n/case_conversion.h"
-@@ -646,6 +647,9 @@ void SearchProvider::Run(bool query_is_p
+@@ -647,6 +648,9 @@ void SearchProvider::Run(bool query_is_p
  }
  
  void SearchProvider::DoHistoryQuery(bool minimal_changes) {

+ 6 - 6
patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5794,7 +5794,7 @@ bool ChromeContentBrowserClient::ShouldA
+@@ -5752,7 +5752,7 @@ bool ChromeContentBrowserClient::ShouldA
      const url::Origin& embedder_origin,
      const content::PepperPluginInfo& plugin_info) {
  #if BUILDFLAG(ENABLE_PDF)
@@ -22,7 +22,7 @@
  }
 --- a/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc
 +++ b/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc
-@@ -65,7 +65,7 @@ class PDFIFrameNavigationThrottleTest : 
+@@ -65,7 +65,7 @@ class PDFIFrameNavigationThrottleTest :
      // Register a fake PDF Viewer plugin into our plugin service.
      content::WebPluginInfo info;
      info.name =
@@ -363,7 +363,7 @@
      FILE_PATH_LITERAL("internal-pdf-viewer");
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -1021,7 +1021,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -1027,7 +1027,7 @@ WebPlugin* ChromeContentRendererClient::
              }
            }
          } else if (info.name ==
@@ -372,7 +372,7 @@
            // Report PDF load metrics. Since the PDF plugin is comprised of an
            // extension that loads a second plugin, avoid double counting by
            // ignoring the creation of the second plugin.
-@@ -1053,7 +1053,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -1059,7 +1059,7 @@ WebPlugin* ChromeContentRendererClient::
  
  #if BUILDFLAG(ENABLE_PDF)
          if (info.name ==
@@ -380,8 +380,8 @@
 +            ASCIIToUTF16(ChromeContentClient::GetPDFInternalPluginName())) {
            return pdf::CreateInternalPlugin(
                info, std::move(params), render_frame,
-               std::make_unique<ChromePdfInternalPluginDelegate>(render_frame));
-@@ -1066,7 +1066,7 @@ WebPlugin* ChromeContentRendererClient::
+               std::make_unique<ChromePdfInternalPluginDelegate>());
+@@ -1072,7 +1072,7 @@ WebPlugin* ChromeContentRendererClient::
          PluginUMAReporter::GetInstance()->ReportPluginDisabled(orig_mime_type,
                                                                 url);
          if (info.name ==

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

@@ -1,16 +1,19 @@
 --- a/chrome/browser/sharing/features.cc
 +++ b/chrome/browser/sharing/features.cc
-@@ -32,3 +32,5 @@ const base::Feature kSharingPreferVapid 
-       base::FEATURE_DISABLED_BY_DEFAULT
+@@ -33,6 +33,8 @@ const base::Feature kSharingPreferVapid
  #endif  // defined(OS_ANDROID)
  };
-+
+ 
 +const base::Feature kDisableQRGenerator{"DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT};
++
+ namespace sharing {
+ 
+ const base::Feature kShareMenu{
 --- a/chrome/browser/sharing/features.h
 +++ b/chrome/browser/sharing/features.h
-@@ -34,4 +34,5 @@ extern const base::Feature kSharingSendV
- // Feature flag for prefer sending sharing message using VAPID.
- extern const base::Feature kSharingPreferVapid;
+@@ -40,4 +40,5 @@ extern const base::Feature kShareMenu;
+ 
+ }  // namespace sharing
  
 +extern const base::Feature kDisableQRGenerator;
  #endif  // CHROME_BROWSER_SHARING_FEATURES_H_
@@ -27,7 +30,7 @@
    return true;
 --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
 +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
-@@ -287,7 +287,8 @@ void LocationBarView::Init() {
+@@ -295,7 +295,8 @@ void LocationBarView::Init() {
      // the left most icon.
      params.types_enabled.push_back(PageActionIconType::kSendTabToSelf);
      params.types_enabled.push_back(PageActionIconType::kClickToCall);

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

@@ -102,7 +102,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
-@@ -1446,6 +1454,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1485,6 +1493,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -111,7 +111,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1582,6 +1592,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1621,6 +1631,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {
@@ -123,7 +123,7 @@
      return true;
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -681,6 +681,8 @@ class TemplateURLService : public WebDat
+@@ -697,6 +697,8 @@ class TemplateURLService : public WebDat
    // ---------- Browser state related members ---------------------------------
    PrefService* prefs_ = nullptr;
  

+ 2 - 2
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
-@@ -1135,7 +1135,8 @@ void BrowserCommandController::InitComma
+@@ -1138,7 +1138,8 @@ void BrowserCommandController::InitComma
    command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS,
                                          normal_window);
  
@@ -20,7 +20,7 @@
  #include "base/strings/utf_string_conversions.h"
  #include "build/build_config.h"
  #include "chrome/browser/themes/theme_properties.h"
-@@ -127,7 +128,8 @@ TabStripRegionView::TabStripRegionView(s
+@@ -132,7 +133,8 @@ TabStripRegionView::TabStripRegionView(s
      return;
  #endif
    const Browser* browser = tab_strip_->controller()->GetBrowser();

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

@@ -1,14 +1,14 @@
 --- a/chrome/browser/ui/tabs/tab_strip_model.cc
 +++ b/chrome/browser/ui/tabs/tab_strip_model.cc
-@@ -10,6 +10,7 @@
+@@ -11,6 +11,7 @@
  #include <utility>
  
  #include "base/auto_reset.h"
 +#include "base/command_line.h"
  #include "base/containers/flat_map.h"
+ #include "base/cxx17_backports.h"
  #include "base/metrics/histogram_macros.h"
- #include "base/metrics/user_metrics.h"
-@@ -1799,6 +1800,10 @@ bool TabStripModel::CloseTabs(base::span
+@@ -1776,6 +1777,10 @@ bool TabStripModel::CloseTabs(base::span
    if (items.empty())
      return true;
  

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

@@ -11,7 +11,7 @@
  #include "chrome/browser/chrome_notification_types.h"
  #include "chrome/browser/extensions/crx_installer.h"
  #include "chrome/browser/extensions/extension_install_prompt.h"
-@@ -128,6 +129,14 @@ scoped_refptr<extensions::CrxInstaller> 
+@@ -128,6 +129,14 @@ scoped_refptr<extensions::CrxInstaller>
    return installer;
  }
  
@@ -37,7 +37,7 @@
    }
 --- a/chrome/browser/download/download_crx_util.h
 +++ b/chrome/browser/download/download_crx_util.h
-@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller> 
+@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller>
      Profile* profile,
      const download::DownloadItem& download_item);
  
@@ -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
-@@ -1046,10 +1046,12 @@ DownloadConfirmationReason DownloadTarge
+@@ -1055,10 +1055,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_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
-@@ -69,6 +69,8 @@ WindowOpenDisposition RenderViewImpl::Na
+@@ -73,6 +73,8 @@ WindowOpenDisposition RenderViewImpl::Na
      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"
-@@ -886,7 +887,8 @@ void HistoryBackend::InitImpl(
+@@ -910,7 +911,8 @@ void HistoryBackend::InitImpl(
    db_->GetStartDate(&first_recorded_time_);
  
    // Start expiring old stuff.

+ 3 - 3
patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch

@@ -3,16 +3,16 @@
 
 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
 +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -609,7 +609,8 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -622,7 +622,8 @@ void StartupBrowserCreatorImpl::AddInfoB
    if (command_line_.HasSwitch(switches::kKioskMode))
      return;
  
 -  if (HasPendingUncleanExit(browser->profile()))
 +  if (HasPendingUncleanExit(browser->profile()) &&
 +      !command_line_.HasSwitch("hide-crashed-bubble"))
-     SessionCrashedBubble::ShowIfNotOffTheRecordProfile(browser);
+     SessionCrashedBubble::ShowIfNotOffTheRecordProfile(
+         browser, /*skip_tab_checking=*/false);
  
-   // The below info bars are only added to the first profile which is launched.
 --- a/chrome/browser/ungoogled_flag_entries.h
 +++ b/chrome/browser/ungoogled_flag_entries.h
 @@ -32,4 +32,8 @@

+ 1 - 1
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
-@@ -267,14 +267,30 @@ void ToolbarView::Init() {
+@@ -268,14 +268,30 @@ void ToolbarView::Init() {
  
    std::unique_ptr<ToolbarAccountIconContainerView>
        toolbar_account_icon_container;

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

@@ -13,9 +13,9 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/net/base/features.cc
 +++ b/net/base/features.cc
-@@ -263,5 +263,7 @@ const base::Feature kCookieSameSiteConsi
- const base::Feature kSamePartyCookiesConsideredFirstParty{
-     "SamePartyCookiesConsideredFirstParty", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -260,5 +260,7 @@ const base::Feature kSamePartyCookiesCon
+ const base::Feature kPartitionedCookies{"PartitionedCookies",
+                                         base::FEATURE_DISABLED_BY_DEFAULT};
  
 +const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT};
 +
@@ -23,9 +23,9 @@
  }  // namespace net
 --- a/net/base/features.h
 +++ b/net/base/features.h
-@@ -406,6 +406,8 @@ NET_EXPORT extern const base::Feature kC
- // privacy mode is disabled in same-party contexts.)
- NET_EXPORT extern const base::Feature kSamePartyCookiesConsideredFirstParty;
+@@ -387,6 +387,8 @@ NET_EXPORT extern const base::Feature kS
+ // the cookie was set.
+ NET_EXPORT extern const base::Feature kPartitionedCookies;
  
 +NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse;
 +
@@ -34,7 +34,7 @@
  
 --- a/net/dns/host_resolver_manager.cc
 +++ b/net/dns/host_resolver_manager.cc
-@@ -138,11 +138,6 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -136,11 +136,6 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  
@@ -46,7 +46,7 @@
  enum DnsResolveStatus {
    RESOLVE_STATUS_DNS_SUCCESS = 0,
    RESOLVE_STATUS_PROC_SUCCESS,
-@@ -3363,7 +3358,7 @@ bool HostResolverManager::IsIPv6Reachabl
+@@ -3513,7 +3508,7 @@ bool HostResolverManager::IsIPv6Reachabl
        (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
            kIPv6ProbePeriodMs) {
      SetLastIPv6ProbeResult(

+ 61 - 49
patches/extra/ungoogled-chromium/add-suggestions-url-field.patch

@@ -17,19 +17,33 @@
        </div>
        <div slot="button-container">
          <cr-button class="cancel-button" on-click="cancel_" id="cancel">
---- a/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.js
-+++ b/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.js
-@@ -56,6 +56,9 @@ class SettingsSearchEngineDialogElement 
+--- a/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.ts
++++ b/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.ts
+@@ -26,6 +26,7 @@ interface SettingsSearchEngineDialogElem
+     dialog: CrDialogElement,
+     keyword: CrInputElement,
+     queryUrl: CrInputElement,
++    suggestionsUrl: CrInputElement,
+     searchEngine: CrInputElement,
+   };
+ }
+@@ -55,6 +56,7 @@ class SettingsSearchEngineDialogElement
+       searchEngine_: String,
+       keyword_: String,
        queryUrl_: String,
- 
-       /** @private {string} */
 +      suggestionsUrl_: String,
-+
-+      /** @private {string} */
        dialogTitle_: String,
- 
-       /** @private {string} */
-@@ -93,6 +96,7 @@ class SettingsSearchEngineDialogElement 
+       actionButtonText_: String,
+     };
+@@ -64,6 +66,7 @@ class SettingsSearchEngineDialogElement
+   private searchEngine_: string;
+   private keyword_: string;
+   private queryUrl_: string;
++  private suggestionsUrl_: string;
+   private dialogTitle_: string;
+   private actionButtonText_: string;
+   private browserProxy_: SearchEnginesBrowserProxy =
+@@ -93,6 +96,7 @@ class SettingsSearchEngineDialogElement
        this.searchEngine_ = this.model.name;
        this.keyword_ = this.model.keyword;
        this.queryUrl_ = this.model.url;
@@ -37,7 +51,7 @@
      } else {
        this.dialogTitle_ =
            loadTimeData.getString('searchEnginesAddSearchEngine');
-@@ -133,8 +137,12 @@ class SettingsSearchEngineDialogElement 
+@@ -128,8 +132,12 @@ class SettingsSearchEngineDialogElement
        }
      }
  
@@ -51,10 +65,10 @@
 +    ].forEach(element => this.validateElement_(element));
    }
  
-   /** @private */
-@@ -145,7 +153,8 @@ class SettingsSearchEngineDialogElement 
-   /** @private */
-   onActionButtonTap_() {
+   private cancel_() {
+@@ -138,7 +146,8 @@ class SettingsSearchEngineDialogElement
+ 
+   private onActionButtonTap_() {
      this.browserProxy_.searchEngineEditCompleted(
 -        this.searchEngine_, this.keyword_, this.queryUrl_);
 +        this.searchEngine_, this.keyword_, this.queryUrl_,
@@ -62,9 +76,9 @@
      this.$.dialog.close();
    }
  
-@@ -182,9 +191,11 @@ class SettingsSearchEngineDialogElement 
-   /** @private */
-   updateActionButtonState_() {
+@@ -166,9 +175,11 @@ class SettingsSearchEngineDialogElement
+ 
+   private updateActionButtonState_() {
      const allValid = [
 -      this.$.searchEngine, this.$.keyword, this.$.queryUrl
 +      this.$.searchEngine, this.$.keyword, this.$.queryUrl,
@@ -76,33 +90,31 @@
      });
      this.$.actionButton.disabled = !allValid;
    }
---- a/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.js
-+++ b/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.js
-@@ -28,6 +28,7 @@ import {addSingletonGetter, sendWithProm
-  *            modelIndex: number,
-  *            name: string,
-  *            url: string,
-+ *            suggestionsUrl: string,
-  *            urlLocked: boolean}}
-  * @see chrome/browser/ui/webui/settings/search_engine_manager_handler.cc
-  */
-@@ -60,8 +61,9 @@ export class SearchEnginesBrowserProxy {
-    * @param {string} searchEngine
-    * @param {string} keyword
-    * @param {string} queryUrl
-+   * @param {string} suggestionsUrl
-    */
--  searchEngineEditCompleted(searchEngine, keyword, queryUrl) {}
-+  searchEngineEditCompleted(searchEngine, keyword, queryUrl, suggestionsUrl) {}
- 
-   /** @return {!Promise<!SearchEnginesInfo>} */
-   getSearchEnginesList() {}
-@@ -99,11 +101,12 @@ export class SearchEnginesBrowserProxyIm
+--- a/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts
++++ b/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts
+@@ -28,6 +28,7 @@ export type SearchEngine = {
+   modelIndex: number,
+   name: string,
+   url: string,
++  suggestionsUrl: string,
+   urlLocked: boolean,
+ };
+ 
+@@ -49,7 +50,7 @@ export interface SearchEnginesBrowserPro
+   searchEngineEditCancelled(): void;
+ 
+   searchEngineEditCompleted(
+-      searchEngine: string, keyword: string, queryUrl: string): void;
++      searchEngine: string, keyword: string, queryUrl: string, suggestionsUrl: string): void;
+ 
+   getSearchEnginesList(): Promise<SearchEnginesInfo>;
+ 
+@@ -76,11 +77,12 @@ export class SearchEnginesBrowserProxyIm
    }
  
-   /** @override */
--  searchEngineEditCompleted(searchEngine, keyword, queryUrl) {
-+  searchEngineEditCompleted(searchEngine, keyword, queryUrl, suggestionsUrl) {
+   searchEngineEditCompleted(
+-      searchEngine: string, keyword: string, queryUrl: string) {
++      searchEngine: string, keyword: string, queryUrl: string, suggestionsUrl: string) {
      chrome.send('searchEngineEditCompleted', [
        searchEngine,
        keyword,
@@ -260,7 +272,7 @@
    bool CanEdit(const TemplateURL* url) const;
 --- a/chrome/browser/ui/search_engines/template_url_table_model.cc
 +++ b/chrome/browser/ui/search_engines/template_url_table_model.cc
-@@ -112,20 +112,24 @@ void TemplateURLTableModel::Remove(int i
+@@ -109,20 +109,24 @@ void TemplateURLTableModel::Remove(int i
  void TemplateURLTableModel::Add(int index,
                                  const std::u16string& short_name,
                                  const std::u16string& keyword,
@@ -290,7 +302,7 @@
    DCHECK(index >= 0 && index <= RowCount());
    DCHECK(!url.empty());
    TemplateURL* template_url = GetTemplateURL(index);
-@@ -134,7 +138,8 @@ void TemplateURLTableModel::ModifyTempla
+@@ -131,7 +135,8 @@ void TemplateURLTableModel::ModifyTempla
    DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url ||
           template_url->SupportsReplacement(
               template_url_service_->search_terms_data()));
@@ -426,17 +438,17 @@
    DCHECK(!IsCreatedByExtension(url));
    DCHECK(!keyword.empty());
    DCHECK(!search_url.empty());
-@@ -654,6 +655,7 @@ void TemplateURLService::ResetTemplateUR
-   }
+@@ -655,6 +656,7 @@ void TemplateURLService::ResetTemplateUR
    data.safe_for_autoreplace = false;
    data.last_modified = clock_->Now();
+   data.is_active = TemplateURLData::ActiveStatus::kTrue;
 +  data.suggestions_url = suggestions_url;
+ 
    Update(url, TemplateURL(data));
  }
- 
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -248,7 +248,8 @@ class TemplateURLService : public WebDat
+@@ -249,7 +249,8 @@ class TemplateURLService : public WebDat
    void ResetTemplateURL(TemplateURL* url,
                          const std::u16string& title,
                          const std::u16string& keyword,

+ 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
-@@ -2745,7 +2745,13 @@ const FeatureEntry::FeatureVariation kCo
+@@ -2635,7 +2635,13 @@ const FeatureEntry::FeatureVariation kRe
  // calculate and verify checksum.
  //
  // When adding a new choice, add it to the end of the list.

+ 1 - 1
patches/extra/ungoogled-chromium/disable-download-quarantine.patch

@@ -153,7 +153,7 @@
  }  // namespace download
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -83,7 +83,6 @@ source_set("browser") {
+@@ -81,7 +81,6 @@ source_set("browser") {
      "//components/permissions:permissions_common",
      "//components/power_scheduler",
      "//components/services/filesystem:lib",

+ 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
-@@ -3590,8 +3590,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3597,8 +3597,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_RENDERER))));
          }
@@ -13,7 +13,7 @@
        }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-@@ -3605,8 +3604,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3612,8 +3611,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_VENDOR))));
          }

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

@@ -2,7 +2,7 @@
 
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -377,7 +377,7 @@ const base::Feature kComputePressure{"Co
+@@ -399,7 +399,7 @@ const base::Feature kComputePressure{"Co
  // Prefetch request properties are updated to be privacy-preserving. See
  // crbug.com/988956.
  const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",

+ 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) {

+ 4 - 4
patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/browser_commands.cc
 +++ b/chrome/browser/ui/browser_commands.cc
-@@ -426,11 +426,6 @@ int GetContentRestrictions(const Browser
+@@ -428,11 +428,6 @@ int GetContentRestrictions(const Browser
      CoreTabHelper* core_tab_helper =
          CoreTabHelper::FromWebContents(current_tab);
      content_restrictions = core_tab_helper->content_restrictions();
@@ -14,7 +14,7 @@
    }
    return content_restrictions;
  }
-@@ -1311,8 +1306,7 @@ bool CanSavePage(const Browser* browser)
+@@ -1329,8 +1324,7 @@ bool CanSavePage(const Browser* browser)
            prefs::kAllowFileSelectionDialogs)) {
      return false;
    }
@@ -37,7 +37,7 @@
  OfflinePageModel::OfflinePageModel() = default;
 --- a/content/common/url_schemes.cc
 +++ b/content/common/url_schemes.cc
-@@ -22,6 +22,9 @@ namespace {
+@@ -23,6 +23,9 @@ namespace {
  bool g_registered_url_schemes = false;
  
  const char* const kDefaultSavableSchemes[] = {
@@ -47,7 +47,7 @@
    url::kHttpScheme,
    url::kHttpsScheme,
    url::kFileScheme,
-@@ -29,7 +32,13 @@ const char* const kDefaultSavableSchemes
+@@ -30,7 +33,13 @@ const char* const kDefaultSavableSchemes
    url::kFtpScheme,
    kChromeDevToolsScheme,
    kChromeUIScheme,

+ 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
-@@ -2675,8 +2675,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -2676,8 +2676,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;
-@@ -2684,7 +2682,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -2685,7 +2683,6 @@ void TabStrip::NewTabButtonPressed(const
                              /* data_dst = */ nullptr, &clipboard_text);
          if (!clipboard_text.empty())
            controller_->CreateNewTabWithLocation(clipboard_text);

+ 0 - 14
patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch

@@ -40,17 +40,3 @@
  }
  
  }  // namespace media_router
---- a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
-+++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
-@@ -409,11 +409,9 @@ void AddPrintPreviewFlags(content::WebUI
- 
-   source->AddBoolean("isEnterpriseManaged", webui::IsEnterpriseManaged());
- 
--#if BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
-   source->AddBoolean(
-       "forceEnablePrivetPrinting",
-       profile->GetPrefs()->GetBoolean(prefs::kForceEnablePrivetPrinting));
--#endif
- }
- 
- void SetupPrintPreviewPlugin(content::WebUIDataSource* source) {

+ 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
-@@ -62,7 +62,6 @@ static const char* kBadFlags[] = {
+@@ -61,7 +61,6 @@ static const char* kBadFlags[] = {
      // These flags disable sandbox-related security.
      sandbox::policy::switches::kDisableGpuSandbox,
      sandbox::policy::switches::kDisableSeccompFilterSandbox,

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

@@ -16,11 +16,11 @@
 
 --- a/chrome/browser/resources/history/side_bar.html
 +++ b/chrome/browser/resources/history/side_bar.html
-@@ -104,11 +104,6 @@
-           $i18n{historyMenuItem}
-           <paper-ripple></paper-ripple>
-         </a>
--        <a role="menuitem" href="/syncedTabs" class="page-item"
+@@ -111,11 +111,6 @@
+             <paper-ripple></paper-ripple>
+           </a>
+         </template>
+-        <a id="syncedTabs" role="menuitem" href="/syncedTabs" class="page-item"
 -            path="syncedTabs" on-click="onItemClick_">
 -          $i18n{openTabsMenuItem}
 -          <paper-ripple></paper-ripple>
@@ -110,8 +110,8 @@
          $i18n{savedPasswordsHeading}
 --- a/chrome/browser/resources/settings/basic_page/basic_page.html
 +++ b/chrome/browser/resources/settings/basic_page/basic_page.html
-@@ -95,7 +95,7 @@
-             <settings-autofill-page prefs="{{prefs}}"></settings-autofill-page>
+@@ -102,7 +102,7 @@
+             <settings-privacy-review-promo></settings-privacy-review-promo>
            </settings-section>
          </template>
 -        <template is="dom-if" if="[[showPage_(pageVisibility.safetyCheck)]]"
@@ -145,7 +145,7 @@
          class="hr"
 --- a/chrome/browser/resources/settings/privacy_page/security_page.html
 +++ b/chrome/browser/resources/settings/privacy_page/security_page.html
-@@ -88,10 +88,3 @@
+@@ -96,10 +96,3 @@
          sub-label="$i18n{manageCertificatesDescription}"
          on-click="onManageCertificatesClick_"></cr-link-row>
  </if>

+ 1 - 0
patches/series

@@ -36,6 +36,7 @@ core/ungoogled-chromium/block-requests.patch
 core/ungoogled-chromium/disable-floc.patch
 core/ungoogled-chromium/disable-privacy-sandbox.patch
 core/bromite/disable-fetching-field-trials.patch
+core/chromium-upstream/missing-header-without-tflite.patch
 
 extra/inox-patchset/0006-modify-default-prefs.patch
 extra/inox-patchset/0008-restore-classic-ntp.patch

File diff suppressed because it is too large
+ 585 - 630
pruning.list


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