Browse Source

Update to Chromium 120.0.6099.62

Blaise 5 months ago
parent
commit
0d41e31bb7
65 changed files with 1051 additions and 566 deletions
  1. 1 1
      chromium_version.txt
  2. 220 90
      domain_substitution.list
  3. 1 1
      patches/core/bromite/disable-fetching-field-trials.patch
  4. 27 27
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  5. 1 1
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  6. 1 1
      patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch
  7. 1 1
      patches/core/inox-patchset/0021-disable-rlz.patch
  8. 12 12
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  9. 2 2
      patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
  10. 1 1
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  11. 2 2
      patches/core/ungoogled-chromium/disable-crash-reporter.patch
  12. 1 1
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  13. 1 1
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  14. 3 3
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  15. 1 1
      patches/core/ungoogled-chromium/disable-network-time-tracker.patch
  16. 6 6
      patches/core/ungoogled-chromium/disable-privacy-sandbox.patch
  17. 12 12
      patches/core/ungoogled-chromium/disable-web-environment-integrity.patch
  18. 5 4
      patches/core/ungoogled-chromium/disable-webrtc-log-uploader.patch
  19. 1 1
      patches/core/ungoogled-chromium/disable-webstore-urls.patch
  20. 2 2
      patches/core/ungoogled-chromium/doh-changes.patch
  21. 81 12
      patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch
  22. 182 79
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  23. 283 105
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  24. 1 1
      patches/core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch
  25. 3 3
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  26. 26 26
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  27. 8 8
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  28. 7 7
      patches/extra/bromite/flag-max-connections-per-host.patch
  29. 1 1
      patches/extra/debian/disable/google-api-warning.patch
  30. 7 7
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  31. 1 1
      patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
  32. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  33. 2 2
      patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
  34. 7 7
      patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
  35. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
  36. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  37. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  38. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch
  39. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
  40. 0 11
      patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch
  41. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  42. 4 4
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  43. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
  44. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
  45. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch
  46. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch
  47. 8 8
      patches/extra/ungoogled-chromium/add-flag-to-hide-side-panel-button.patch
  48. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch
  49. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  50. 1 1
      patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch
  51. 10 10
      patches/extra/ungoogled-chromium/add-flags-for-referrer-customization.patch
  52. 1 1
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  53. 11 11
      patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
  54. 1 1
      patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
  55. 1 1
      patches/extra/ungoogled-chromium/disable-capture-all-screens.patch
  56. 1 1
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  57. 2 2
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  58. 1 1
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  59. 4 3
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  60. 2 2
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  61. 3 3
      patches/extra/ungoogled-chromium/first-run-page.patch
  62. 0 15
      patches/extra/ungoogled-chromium/prepopulated-search-engines.patch
  63. 28 24
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  64. 24 4
      pruning.list
  65. 16 11
      utils/clone.py

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-119.0.6045.199
+120.0.6099.62

File diff suppressed because it is too large
+ 220 - 90
domain_substitution.list


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

@@ -51,7 +51,7 @@ Subject: Disable fetching of all field trials
      /**
 --- a/components/variations/service/variations_service.cc
 +++ b/components/variations/service/variations_service.cc
-@@ -220,17 +220,7 @@ bool GetInstanceManipulations(const net:
+@@ -221,17 +221,7 @@ bool GetInstanceManipulations(const net:
  // Variations seed fetching is only enabled in official Chrome builds, if a URL
  // is specified on the command line, and for testing.
  bool IsFetchingEnabled() {

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2359,7 +2359,6 @@ static_library("browser") {
+@@ -2388,7 +2388,6 @@ static_library("browser") {
      "//components/reporting/util:task_runner_context",
      "//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",
-@@ -3776,8 +3775,6 @@ static_library("browser") {
+@@ -3809,8 +3808,6 @@ static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -30,7 +30,7 @@
  namespace subresource_filter {
  class RulesetService;
  }
-@@ -215,9 +211,6 @@ class BrowserProcess {
+@@ -219,9 +215,6 @@ class BrowserProcess {
    // on this platform (or this is a unit test).
    virtual StatusTray* status_tray() = 0;
  
@@ -42,7 +42,7 @@
    virtual subresource_filter::RulesetService*
 --- a/chrome/browser/browser_process_impl.cc
 +++ b/chrome/browser/browser_process_impl.cc
-@@ -72,7 +72,6 @@
+@@ -71,7 +71,6 @@
  #include "chrome/browser/printing/print_job_manager.h"
  #include "chrome/browser/profiles/profile_manager.h"
  #include "chrome/browser/resource_coordinator/resource_coordinator_parts.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"
-@@ -437,8 +436,6 @@ void BrowserProcessImpl::StartTearDown()
+@@ -436,8 +435,6 @@ void BrowserProcessImpl::StartTearDown()
  #endif
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
@@ -59,7 +59,7 @@
    network_time_tracker_.reset();
  
  #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -1080,14 +1077,6 @@ StatusTray* BrowserProcessImpl::status_t
+@@ -1084,14 +1081,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_);
-@@ -1321,26 +1310,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1336,26 +1325,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -103,7 +103,7 @@
    created_subresource_filter_ruleset_service_ = true;
 --- a/chrome/browser/browser_process_impl.h
 +++ b/chrome/browser/browser_process_impl.h
-@@ -191,7 +191,6 @@ class BrowserProcessImpl : public Browse
+@@ -195,7 +195,6 @@ class BrowserProcessImpl : public Browse
        std::unique_ptr<BackgroundModeManager> manager) override;
  #endif
    StatusTray* status_tray() override;
@@ -111,7 +111,7 @@
    subresource_filter::RulesetService* subresource_filter_ruleset_service()
        override;
  
-@@ -349,9 +348,6 @@ class BrowserProcessImpl : public Browse
+@@ -355,9 +354,6 @@ class BrowserProcessImpl : public Browse
    std::unique_ptr<BackgroundModeManager> background_mode_manager_;
  #endif
  
@@ -123,7 +123,7 @@
        subresource_filter_ruleset_service_;
 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
 +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -67,7 +67,6 @@
+@@ -66,7 +66,6 @@
  #include "chrome/browser/profiles/keep_alive/profile_keep_alive_types.h"
  #include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h"
  #include "chrome/browser/profiles/profile.h"
@@ -131,7 +131,7 @@
  #include "chrome/browser/safe_browsing/verdict_cache_manager_factory.h"
  #include "chrome/browser/search_engines/template_url_service_factory.h"
  #include "chrome/browser/share/share_history.h"
-@@ -628,10 +627,6 @@ void ChromeBrowsingDataRemoverDelegate::
+@@ -627,10 +626,6 @@ void ChromeBrowsingDataRemoverDelegate::
      base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
  
      network::mojom::NetworkContext* safe_browsing_context = nullptr;
@@ -144,7 +144,7 @@
      browsing_data::RemoveFederatedSiteSettingsData(delete_begin_, delete_end_,
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1070,34 +1070,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -1063,34 +1063,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -179,7 +179,7 @@
  #if BUILDFLAG(ENABLE_EXTENSIONS)
  
  AppLoadedInTabSource ClassifyAppLoadedInTabSource(
-@@ -5168,14 +5140,9 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5201,14 +5173,9 @@ ChromeContentBrowserClient::CreateThrott
    throttles.push_back(std::make_unique<PolicyBlocklistNavigationThrottle>(
        handle, handle->GetWebContents()->GetBrowserContext()));
  
@@ -195,7 +195,7 @@
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp),
        base::BindOnce(
            &ShouldIgnoreSslInterstitialBecauseNavigationDefaultedToHttps)));
-@@ -5221,16 +5188,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5254,16 +5221,6 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -212,7 +212,7 @@
    if (base::FeatureList::IsEnabled(safe_browsing::kDelayedWarnings)) {
      throttles.push_back(
          std::make_unique<safe_browsing::DelayedWarningNavigationThrottle>(
-@@ -5504,8 +5461,6 @@ void ChromeContentBrowserClient::Overrid
+@@ -5542,8 +5499,6 @@ void ChromeContentBrowserClient::Overrid
  void ChromeContentBrowserClient::InitOnUIThread() {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
  
@@ -260,7 +260,7 @@
    if (download_manager_) {
      download_manager_->AddObserver(this);
    }
-@@ -871,17 +864,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -875,17 +868,6 @@ void ChromeDownloadManagerDelegate::Choo
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename,
      const GURL& source_url) {
@@ -298,7 +298,7 @@
        is_being_revived_(false) {}
  
  #if BUILDFLAG(FULL_SAFE_BROWSING)
-@@ -530,13 +530,13 @@ void DownloadItemModel::SetShouldPreferO
+@@ -534,13 +534,13 @@ void DownloadItemModel::SetShouldPreferO
    data->should_prefer_opening_in_browser_ = preference;
  }
  
@@ -315,7 +315,7 @@
    DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
    data->danger_level_ = danger_level;
  }
-@@ -716,9 +716,6 @@ bool DownloadItemModel::IsCommandEnabled
+@@ -717,9 +717,6 @@ bool DownloadItemModel::IsCommandEnabled
        // filename. Don't base an "Always open" decision based on it. Also
        // exclude extensions.
        return download_->CanOpenDownload() &&
@@ -343,7 +343,7 @@
    }
  }
  
-@@ -460,10 +453,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
+@@ -449,10 +442,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
  bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
      const base::FilePath& file_name) {
    base::FilePath::StringType extension = file_name.Extension();
@@ -370,7 +370,7 @@
    // If no mime type or explicitly specified a name, don't replace file
    // extension.
    if (sniffed_mime_type.empty() || !suggested_filename.empty())
-@@ -1274,30 +1267,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -1272,30 +1265,7 @@ DownloadFileType::DangerLevel DownloadTa
        download_->HasUserGesture())
      return DownloadFileType::NOT_DANGEROUS;
  
@@ -412,7 +412,7 @@
  #include "chrome/browser/download/download_file_icon_extractor.h"
  #include "chrome/browser/download/download_open_prompt.h"
  #include "chrome/browser/download/download_prefs.h"
-@@ -1364,9 +1363,6 @@ DownloadsAcceptDangerFunction::Downloads
+@@ -1368,9 +1367,6 @@ DownloadsAcceptDangerFunction::Downloads
  
  DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
  
@@ -422,7 +422,7 @@
  ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() {
    absl::optional<downloads::AcceptDanger::Params> params =
        downloads::AcceptDanger::Params::Create(args());
-@@ -1404,42 +1400,7 @@ void DownloadsAcceptDangerFunction::Prom
+@@ -1408,42 +1404,7 @@ void DownloadsAcceptDangerFunction::Prom
      return;
    }
    RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -705,7 +705,7 @@
  #include "chrome/browser/sessions/exit_type_service.h"
  #include "chrome/browser/sharing/sharing_service_factory.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
-@@ -641,17 +640,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -646,17 +645,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -753,7 +753,7 @@
  
    if (safe_browsing_mode != 0) {
      # "Safe Browsing Basic" files used for safe browsing in full mode
-@@ -494,6 +496,7 @@ static_library("advanced_protection") {
+@@ -495,6 +497,7 @@ static_library("advanced_protection") {
  }
  
  source_set("metrics_collector") {
@@ -761,7 +761,7 @@
    sources = [
      "safe_browsing_metrics_collector_factory.cc",
      "safe_browsing_metrics_collector_factory.h",
-@@ -513,6 +516,7 @@ source_set("metrics_collector") {
+@@ -514,6 +517,7 @@ source_set("metrics_collector") {
      "//components/safe_browsing/core/common:safe_browsing_prefs",
      "//content/public/browser",
    ]
@@ -866,7 +866,7 @@
  
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -4952,7 +4952,6 @@ static_library("ui") {
+@@ -5032,7 +5032,6 @@ static_library("ui") {
        "views/download/bubble/download_dialog_view.h",
        "views/download/bubble/download_toolbar_button_view.cc",
        "views/download/bubble/download_toolbar_button_view.h",
@@ -876,7 +876,7 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -454,22 +454,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -471,22 +471,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    //     See https://crbug.com/910288.
    resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
        web_contents);

+ 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
-@@ -769,95 +769,6 @@ std::tuple<GURL, std::string> AutofillDo
+@@ -758,95 +758,6 @@ std::tuple<GURL, std::string> AutofillDo
  }
  
  bool AutofillDownloadManager::StartRequest(FormRequestData request_data) {

+ 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
-@@ -158,10 +158,10 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -159,10 +159,10 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  

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

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

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

@@ -68,7 +68,7 @@ by default.
 
 --- a/build/apple/tweak_info_plist.py
 +++ b/build/apple/tweak_info_plist.py
-@@ -194,7 +194,7 @@ def _AddKeystoneKeys(plist, bundle_ident
+@@ -212,7 +212,7 @@ def _AddKeystoneKeys(plist, bundle_ident
    also requires the |bundle_identifier| argument (com.example.product)."""
    plist['KSVersion'] = plist['CFBundleShortVersionString']
    plist['KSProductID'] = bundle_identifier
@@ -77,17 +77,17 @@ by default.
  
    _RemoveKeys(plist, 'KSChannelID')
    if base_tag != '':
---- a/chrome/browser/ash/customization/customization_document.cc
-+++ b/chrome/browser/ash/customization/customization_document.cc
-@@ -202,7 +202,7 @@ std::string ReadFileInBackground(const b
+--- a/chrome/browser/ash/customization/customization_document.h
++++ b/chrome/browser/ash/customization/customization_document.h
+@@ -155,7 +155,7 @@ class ServicesCustomizationDocument : pu
  
- // Template URL where to fetch OEM services customization manifest from.
- const char ServicesCustomizationDocument::kManifestUrl[] =
--    "https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
-+    "trk:151:https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
+   // Template URL where to fetch OEM services customization manifest from.
+   static constexpr char kManifestUrl[] =
+-      "https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
++      "trk:151:https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
  
- // A custom extensions::ExternalLoader that the ServicesCustomizationDocument
- // creates and uses to publish OEM default apps to the extensions system.
+   // Return true if the customization was applied. Customization is applied only
+   // once per machine.
 --- a/chrome/browser/extensions/install_signer.cc
 +++ b/chrome/browser/extensions/install_signer.cc
 @@ -63,7 +63,7 @@ const int kSignatureFormatVersion = 2;
@@ -112,7 +112,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
-@@ -499,7 +499,7 @@ void WebRtcLogUploader::UploadCompressed
+@@ -500,7 +500,7 @@ void WebRtcLogUploader::UploadCompressed
            }
          })");
  
@@ -315,7 +315,7 @@ by default.
      "https://history.google.com/history/api/lookup?client=audio";
 --- a/components/safe_browsing/content/browser/client_side_detection_service.cc
 +++ b/components/safe_browsing/content/browser/client_side_detection_service.cc
-@@ -71,7 +71,7 @@ const int ClientSideDetectionService::kN
+@@ -69,7 +69,7 @@ const int ClientSideDetectionService::kN
  const int ClientSideDetectionService::kPositiveCacheIntervalMinutes = 30;
  
  const char ClientSideDetectionService::kClientReportPhishingUrl[] =

+ 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
-@@ -239,6 +239,10 @@ void ClientSideDetectionService::StartCl
+@@ -241,6 +241,10 @@ void ClientSideDetectionService::StartCl
      return;
    }
  
@@ -24,7 +24,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
    std::string request_data;
    request->SerializeToString(&request_data);
  
-@@ -325,6 +329,7 @@ void ClientSideDetectionService::StartCl
+@@ -327,6 +331,7 @@ void ClientSideDetectionService::StartCl
        base::BindOnce(&WebUIInfoSingleton::AddToClientPhishingRequestsSent,
                       base::Unretained(WebUIInfoSingleton::GetInstance()),
                       std::move(request), access_token));

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

@@ -70,7 +70,7 @@
    // other origins, so we should not treat them as web safe. Remove callers of
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1040,6 +1040,8 @@ component("net") {
+@@ -1042,6 +1042,8 @@ component("net") {
      "url_request/report_sender.h",
      "url_request/static_http_user_agent_settings.cc",
      "url_request/static_http_user_agent_settings.h",

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -2596,7 +2596,8 @@ void ChromeContentBrowserClient::AppendE
+@@ -2594,7 +2594,8 @@ void ChromeContentBrowserClient::AppendE
      command_line->AppendSwitchASCII(switches::kMetricsClientID,
                                      client_info->client_id);
    }
@@ -43,7 +43,7 @@
      const char* process_type) {
 --- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
 +++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
-@@ -747,8 +747,6 @@ void CrashpadClient::CrashWithoutDump(co
+@@ -748,8 +748,6 @@ void CrashpadClient::CrashWithoutDump(co
  // static
  void CrashpadClient::SetFirstChanceExceptionHandler(
      FirstChanceHandler handler) {

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

@@ -2,7 +2,7 @@
 
 --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
 +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
-@@ -301,7 +301,7 @@ bool DomDistillerViewerSource::ShouldSer
+@@ -291,7 +291,7 @@ bool DomDistillerViewerSource::ShouldSer
  std::string DomDistillerViewerSource::GetContentSecurityPolicy(
      network::mojom::CSPDirectiveName directive) {
    if (directive == network::mojom::CSPDirectiveName::StyleSrc) {

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

@@ -510,7 +510,7 @@
  bool IsGoogleHostname(const GURL& url) {
 --- a/components/search_engines/template_url.cc
 +++ b/components/search_engines/template_url.cc
-@@ -561,11 +561,7 @@ std::u16string TemplateURLRef::SearchTer
+@@ -562,11 +562,7 @@ std::u16string TemplateURLRef::SearchTer
  bool TemplateURLRef::HasGoogleBaseURLs(
      const SearchTermsData& search_terms_data) const {
    ParseIfNecessary(search_terms_data);

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -382,7 +382,6 @@ if (!is_android && !is_mac) {
+@@ -384,7 +384,6 @@ if (!is_android && !is_mac) {
        }
  
        data_deps += [
@@ -15,11 +15,11 @@
          "//third_party/widevine/cdm",
        ]
        if (invoker.collect_inputs_only) {
-@@ -1248,7 +1247,6 @@ if (is_win) {
+@@ -1258,7 +1257,6 @@ if (is_win) {
        ":optimization_guide_library",
        ":swiftshader_library",
        ":widevine_cdm_library",
 -      "//chrome/browser/resources/media/mei_preload:component_bundle",
      ]
  
-     if (is_chrome_branded) {
+     if (enable_ml_internal) {

+ 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
-@@ -289,7 +289,7 @@ void NetworkTimeTracker::UpdateNetworkTi
+@@ -294,7 +294,7 @@ void NetworkTimeTracker::UpdateNetworkTi
  }
  
  bool NetworkTimeTracker::AreTimeFetchesEnabled() const {

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

@@ -7,8 +7,8 @@
 -             base::FEATURE_ENABLED_BY_DEFAULT);
 +             base::FEATURE_DISABLED_BY_DEFAULT);
  
- BASE_FEATURE(kAttributionReportingNullAggregatableReports,
-              "AttributionReportingNullAggregatableReports",
+ BASE_FEATURE(kAttributionReportingTriggerConfig,
+              "AttributionReportingTriggerConfig",
 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
 @@ -12,7 +12,7 @@ namespace privacy_sandbox {
@@ -22,7 +22,7 @@
    registry->RegisterBooleanPref(prefs::kPrivacySandboxM1ConsentDecisionMade,
 --- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
-@@ -120,7 +120,7 @@ std::set<browsing_topics::Topic> GetTopi
+@@ -121,7 +121,7 @@ std::set<browsing_topics::Topic> GetTopi
  
  // static
  bool PrivacySandboxSettingsImpl::IsAllowed(Status status) {
@@ -31,7 +31,7 @@
  }
  
  // static
-@@ -728,20 +728,7 @@ bool PrivacySandboxSettingsImpl::IsPriva
+@@ -753,20 +753,7 @@ bool PrivacySandboxSettingsImpl::IsPriva
  }
  
  bool PrivacySandboxSettingsImpl::IsPrivacySandboxEnabled() const {
@@ -53,7 +53,7 @@
  }
  
  void PrivacySandboxSettingsImpl::SetAllPrivacySandboxAllowedForTesting() {
-@@ -766,11 +753,10 @@ void PrivacySandboxSettingsImpl::SetTopi
+@@ -791,11 +778,10 @@ void PrivacySandboxSettingsImpl::SetTopi
  }
  
  void PrivacySandboxSettingsImpl::SetPrivacySandboxEnabled(bool enabled) {
@@ -66,7 +66,7 @@
  }
  
  bool PrivacySandboxSettingsImpl::IsPrivacySandboxCurrentlyUnrestricted() const {
-@@ -857,11 +843,7 @@ PrivacySandboxSettingsImpl::GetPrivacySa
+@@ -882,11 +868,7 @@ PrivacySandboxSettingsImpl::GetPrivacySa
      return Status::kIncognitoProfile;
    }
  

+ 12 - 12
patches/core/ungoogled-chromium/disable-web-environment-integrity.patch

@@ -10,7 +10,7 @@
      "//components/keyed_service/content",
 --- a/chrome/android/chrome_test_java_sources.gni
 +++ b/chrome/android/chrome_test_java_sources.gni
-@@ -195,7 +195,6 @@ chrome_test_java_sources = [
+@@ -194,7 +194,6 @@ chrome_test_java_sources = [
    "javatests/src/org/chromium/chrome/browser/download/OMADownloadHandlerTest.java",
    "javatests/src/org/chromium/chrome/browser/download/ServicificationDownloadTest.java",
    "javatests/src/org/chromium/chrome/browser/download/dialogs/DownloadDialogIncognitoTest.java",
@@ -20,7 +20,7 @@
    "javatests/src/org/chromium/chrome/browser/feedback/ConnectivityCheckerTest.java",
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -3511,7 +3511,6 @@ static_library("browser") {
+@@ -3556,7 +3556,6 @@ static_library("browser") {
        "//components/embedder_support/android:util",
        "//components/embedder_support/android:web_contents_delegate",
        "//components/endpoint_fetcher:endpoint_fetcher",
@@ -30,7 +30,7 @@
        "//components/favicon/core:database",
 --- a/components/BUILD.gn
 +++ b/components/BUILD.gn
-@@ -597,7 +597,6 @@ test("components_unittests") {
+@@ -601,7 +601,6 @@ test("components_unittests") {
        "//components/embedder_support/android:native_java_unittests_java",
        "//components/embedder_support/android/metrics:test_support_java",
        "//components/embedder_support/android/metrics:unit_tests",
@@ -68,7 +68,7 @@
  void AndroidEnvironmentIntegrityService::OnGetHandle(
 --- a/content/browser/browser_interface_binders.cc
 +++ b/content/browser/browser_interface_binders.cc
-@@ -130,7 +130,6 @@
+@@ -129,7 +129,6 @@
  #include "third_party/blink/public/mojom/cookie_store/cookie_store.mojom.h"
  #include "third_party/blink/public/mojom/credentialmanagement/credential_manager.mojom.h"
  #include "third_party/blink/public/mojom/device/device.mojom.h"
@@ -76,7 +76,7 @@
  #include "third_party/blink/public/mojom/feature_observer/feature_observer.mojom.h"
  #include "third_party/blink/public/mojom/file/file_utilities.mojom.h"
  #include "third_party/blink/public/mojom/file_system_access/file_system_access_manager.mojom.h"
-@@ -1141,10 +1140,6 @@ void PopulateBinderMapWithContext(
+@@ -1150,10 +1149,6 @@ void PopulateBinderMapWithContext(
      map->Add<blink::mojom::BrowsingTopicsDocumentService>(
          base::BindRepeating(&BrowsingTopicsDocumentHost::CreateMojoService));
    }
@@ -84,9 +84,9 @@
 -    map->Add<blink::mojom::EnvironmentIntegrityService>(base::BindRepeating(
 -        &EmptyBinderForFrame<blink::mojom::EnvironmentIntegrityService>));
 -  }
-   if (base::FeatureList::IsEnabled(
-           features::kCookieDeprecationFacilitatedTesting)) {
-     map->Add<blink::mojom::CookieDeprecationLabelDocumentService>(
+ #if !BUILDFLAG(IS_ANDROID)
+   map->Add<blink::mojom::DirectSocketsService>(
+       base::BindRepeating(&DirectSocketsServiceImpl::CreateForFrame));
 --- a/third_party/blink/public/mojom/BUILD.gn
 +++ b/third_party/blink/public/mojom/BUILD.gn
 @@ -66,7 +66,6 @@ mojom("mojom_platform") {
@@ -99,7 +99,7 @@
      "fenced_frame/fenced_frame_config.mojom",
 --- a/third_party/blink/renderer/bindings/generated_in_modules.gni
 +++ b/third_party/blink/renderer/bindings/generated_in_modules.gni
-@@ -1921,8 +1921,6 @@ generated_interface_sources_in_modules =
+@@ -1936,8 +1936,6 @@ generated_interface_sources_in_modules =
    "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry.h",
    "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry_sync.cc",
    "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry_sync.h",
@@ -121,7 +121,7 @@
    "//third_party/blink/renderer/modules/eyedropper/color_selection_options.idl",
 --- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
 +++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
-@@ -550,10 +550,6 @@ bool OriginTrialContext::CanEnableTrialF
+@@ -553,10 +553,6 @@ bool OriginTrialContext::CanEnableTrialF
      return base::FeatureList::IsEnabled(features::kComputePressure);
    }
  
@@ -134,7 +134,7 @@
  
 --- a/third_party/blink/renderer/modules/BUILD.gn
 +++ b/third_party/blink/renderer/modules/BUILD.gn
-@@ -90,7 +90,6 @@ component("modules") {
+@@ -91,7 +91,6 @@ component("modules") {
      "//third_party/blink/renderer/modules/donottrack",
      "//third_party/blink/renderer/modules/encoding",
      "//third_party/blink/renderer/modules/encryptedmedia",
@@ -144,7 +144,7 @@
      "//third_party/blink/renderer/modules/eyedropper",
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -4180,17 +4180,6 @@
+@@ -4290,17 +4290,6 @@
        base_feature: "none",
      },
      {

+ 5 - 4
patches/core/ungoogled-chromium/disable-webrtc-log-uploader.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc
 +++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -128,30 +128,13 @@ void WebRtcLogUploader::OnLoggingStopped
+@@ -128,31 +128,13 @@ void WebRtcLogUploader::OnLoggingStopped
    DCHECK(meta_data.get());
    DCHECK(!upload_done_data.paths.directory.empty());
  
@@ -13,7 +13,8 @@
    if (base::PathExists(upload_done_data.paths.directory)) {
      webrtc_logging::DeleteOldWebRtcLogFiles(upload_done_data.paths.directory);
 -
--    local_log_id = base::NumberToString(base::Time::Now().ToDoubleT());
+-    local_log_id =
+-        base::NumberToString(base::Time::Now().InSecondsFSinceUnixEpoch());
 -    base::FilePath log_file_path =
 -        upload_done_data.paths.directory.AppendASCII(local_log_id)
 -            .AddExtension(FILE_PATH_LITERAL(".gz"));
@@ -34,7 +35,7 @@
    } else {
      main_task_runner_->PostTask(
          FROM_HERE,
-@@ -168,28 +151,7 @@ void WebRtcLogUploader::PrepareMultipart
+@@ -169,28 +151,7 @@ void WebRtcLogUploader::PrepareMultipart
    DCHECK(!compressed_log.empty());
    DCHECK(meta_data.get());
  
@@ -64,7 +65,7 @@
  }
  
  void WebRtcLogUploader::UploadStoredLog(
-@@ -255,50 +217,6 @@ void WebRtcLogUploader::LoggingStoppedDo
+@@ -256,50 +217,6 @@ void WebRtcLogUploader::LoggingStoppedDo
    DCHECK(log_buffer.get());
    DCHECK(!log_paths.directory.empty());
  

+ 1 - 1
patches/core/ungoogled-chromium/disable-webstore-urls.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
 +++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
-@@ -654,12 +654,6 @@ std::vector<url::Origin> ChromeContentBr
+@@ -655,12 +655,6 @@ std::vector<url::Origin> ChromeContentBr
      GetOriginsRequiringDedicatedProcess() {
    std::vector<url::Origin> list;
  

+ 2 - 2
patches/core/ungoogled-chromium/doh-changes.patch

@@ -1,6 +1,6 @@
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -370,12 +370,7 @@ BASE_FEATURE(kDisruptiveNotificationPerm
+@@ -365,12 +365,7 @@ BASE_FEATURE(kDisruptiveNotificationPerm
  // Enable DNS over HTTPS (DoH).
  BASE_FEATURE(kDnsOverHttps,
               "DnsOverHttps",
@@ -48,7 +48,7 @@
                DohProviderIij, base::FEATURE_ENABLED_BY_DEFAULT),
 --- a/services/network/public/cpp/features.cc
 +++ b/services/network/public/cpp/features.cc
-@@ -96,12 +96,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIso
+@@ -97,12 +97,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIso
  // Enable usage of hardcoded DoH upgrade mapping for use in automatic mode.
  BASE_FEATURE(kDnsOverHttpsUpgrade,
               "DnsOverHttpsUpgrade",

+ 81 - 12
patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch

@@ -3,7 +3,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -944,8 +944,6 @@ if (is_win) {
+@@ -946,8 +946,6 @@ if (is_win) {
  
    bundle_data("chrome_framework_resources") {
      sources = [
@@ -14,14 +14,10 @@
        # from disk image and Keystone promotion (if so enabled).  It
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -868,14 +868,6 @@ static_library("browser") {
+@@ -879,10 +879,6 @@ static_library("browser") {
      "navigation_predictor/navigation_predictor_metrics_document_data.h",
      "navigation_predictor/navigation_predictor_preconnect_client.cc",
      "navigation_predictor/navigation_predictor_preconnect_client.h",
--    "navigation_predictor/preloading_model_executor.cc",
--    "navigation_predictor/preloading_model_executor.h",
--    "navigation_predictor/preloading_model_handler.cc",
--    "navigation_predictor/preloading_model_handler.h",
 -    "navigation_predictor/preloading_model_keyed_service.cc",
 -    "navigation_predictor/preloading_model_keyed_service.h",
 -    "navigation_predictor/preloading_model_keyed_service_factory.cc",
@@ -128,7 +124,7 @@
  void NavigationPredictor::SetModelScoreCallbackForTesting(
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -91,7 +91,6 @@
+@@ -92,7 +92,6 @@
  #include "chrome/browser/media_galleries/media_galleries_preferences_factory.h"
  #include "chrome/browser/metrics/variations/google_groups_updater_service_factory.h"
  #include "chrome/browser/navigation_predictor/navigation_predictor_keyed_service_factory.h"
@@ -136,7 +132,7 @@
  #include "chrome/browser/net/dns_probe_service_factory.h"
  #include "chrome/browser/net/profile_network_context_service_factory.h"
  #include "chrome/browser/notifications/metrics/notification_metrics_logger_factory.h"
-@@ -850,7 +849,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -871,7 +870,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #endif
    ModelTypeStoreServiceFactory::GetInstance();
    NavigationPredictorKeyedServiceFactory::GetInstance();
@@ -154,7 +150,7 @@
  #include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
  #include "chrome/browser/prefs/incognito_mode_prefs.h"
  #include "chrome/browser/profiles/delete_profile_helper.h"
-@@ -1554,9 +1553,6 @@ void ProfileManager::DoFinalInitForServi
+@@ -1553,9 +1552,6 @@ void ProfileManager::DoFinalInitForServi
    // Ensure NavigationPredictorKeyedService is started.
    NavigationPredictorKeyedServiceFactory::GetForProfile(profile);
  
@@ -164,9 +160,61 @@
    IdentityManagerFactory::GetForProfile(profile)->OnNetworkInitialized();
    AccountReconcilorFactory::GetForProfile(profile);
  
+--- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
++++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
+@@ -39,7 +39,6 @@
+ #include "components/omnibox/browser/autocomplete_match.h"
+ #include "components/omnibox/browser/autocomplete_provider.h"
+ #include "components/omnibox/browser/autocomplete_result.h"
+-#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+ #include "components/omnibox/browser/omnibox_field_trial.h"
+ #include "components/search_engines/template_url.h"
+ #include "content/public/browser/web_ui.h"
+@@ -500,31 +499,12 @@ void OmniboxPageHandler::StartOmniboxQue
+ }
+ 
+ void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
+-  if (auto* service = GetMlService()) {
+-    auto version = service->GetModelVersion();
+-    if (version == -1) {
+-      service->AddOnModelUpdatedCallback(
+-          base::BindOnce(&OmniboxPageHandler::GetMlModelVersion,
+-                         weak_factory_.GetWeakPtr(), std::move(callback)));
+-    } else {
+-      std::move(callback).Run(version);
+-    }
+-  } else {
+     std::move(callback).Run(-1);
+-  }
+ }
+ 
+ void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
+                                  StartMlCallback callback) {
+-  if (auto* service = GetMlService()) {
+-    AutocompleteMatch::ScoringSignals signals =
+-        mojo::ConvertTo<AutocompleteMatch::ScoringSignals>(mojom_signals);
+-    std::vector<AutocompleteScoringModelService::Result> result =
+-        service->BatchScoreAutocompleteUrlMatchesSync({&signals}, {""});
+-    std::move(callback).Run(result.size() ? *std::get<0>(result[0]) : -1);
+-  } else {
+     std::move(callback).Run(-1);
+-  }
+ }
+ 
+ std::unique_ptr<AutocompleteController> OmniboxPageHandler::CreateController(
+@@ -549,8 +529,5 @@ OmniboxPageHandler::GetAutocompleteContr
+ }
+ 
+ AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
+-  return OmniboxFieldTrial::IsMlSyncBatchUrlScoringEnabled()
+-             ? AutocompleteScoringModelServiceFactory::GetInstance()
+-                   ->GetForProfile(profile_)
+-             : nullptr;
++  return nullptr;
+ }
 --- a/chrome/test/chromedriver/BUILD.gn
 +++ b/chrome/test/chromedriver/BUILD.gn
-@@ -389,7 +389,7 @@ source_set("lib") {
+@@ -399,7 +399,7 @@ source_set("lib") {
    }
  }
  
@@ -185,9 +233,30 @@
  }
  
  python_library("fixtures") {
+--- a/components/omnibox/browser/autocomplete_classifier.cc
++++ b/components/omnibox/browser/autocomplete_classifier.cc
+@@ -95,8 +95,6 @@ void AutocompleteClassifier::Classify(
+     metrics::OmniboxEventProto::PageClassification page_classification,
+     AutocompleteMatch* match,
+     GURL* alternate_nav_url) {
+-  TRACE_EVENT1("omnibox", "AutocompleteClassifier::Classify", "text",
+-               base::UTF16ToUTF8(text));
+   DCHECK(!inside_classify_);
+   base::AutoReset<bool> reset(&inside_classify_, true);
+   AutocompleteInput input(text, page_classification, *scheme_classifier_);
+--- a/components/omnibox/browser/autocomplete_controller.cc
++++ b/components/omnibox/browser/autocomplete_controller.cc
+@@ -45,7 +45,6 @@
+ #include "components/omnibox/browser/autocomplete_input.h"
+ #include "components/omnibox/browser/autocomplete_match_type.h"
+ #include "components/omnibox/browser/autocomplete_provider.h"
+-#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+ #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
+ #include "components/omnibox/browser/bookmark_provider.h"
+ #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
 --- a/components/update_client/BUILD.gn
 +++ b/components/update_client/BUILD.gn
-@@ -312,8 +312,6 @@ source_set("unit_tests") {
+@@ -326,8 +326,6 @@ source_set("unit_tests") {
      "//third_party/puffin:libpuffpatch",
      "//third_party/re2",
    ]
@@ -198,7 +267,7 @@
  fuzzer_test("update_client_protocol_serializer_fuzzer") {
 --- a/content/shell/BUILD.gn
 +++ b/content/shell/BUILD.gn
-@@ -737,10 +737,6 @@ if (is_apple) {
+@@ -735,10 +735,6 @@ if (is_apple) {
        deps = [ "//third_party/icu:icudata" ]
      }
  

+ 182 - 79
patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -629,8 +629,6 @@ static_library("browser") {
+@@ -640,8 +640,6 @@ static_library("browser") {
      "internal_auth.h",
      "interstitials/chrome_settings_page_helper.cc",
      "interstitials/chrome_settings_page_helper.h",
@@ -11,7 +11,7 @@
      "invalidation/profile_invalidation_provider_factory.cc",
      "invalidation/profile_invalidation_provider_factory.h",
      "ip_protection/ip_protection_config_http.cc",
-@@ -3792,9 +3790,6 @@ static_library("browser") {
+@@ -3829,9 +3827,6 @@ static_library("browser") {
        "enterprise/connectors/analysis/analysis_service_settings.h",
        "enterprise/connectors/analysis/analysis_settings.cc",
        "enterprise/connectors/analysis/analysis_settings.h",
@@ -21,7 +21,7 @@
        "enterprise/connectors/analysis/content_analysis_dialog.cc",
        "enterprise/connectors/analysis/content_analysis_dialog.h",
        "enterprise/connectors/analysis/content_analysis_downloads_delegate.cc",
-@@ -4108,10 +4103,6 @@ static_library("browser") {
+@@ -4138,10 +4133,6 @@ static_library("browser") {
        "new_tab_page/modules/recipes/recipes_service_factory.h",
        "new_tab_page/modules/recipes/time_format_util.cc",
        "new_tab_page/modules/recipes/time_format_util.h",
@@ -32,7 +32,7 @@
        "new_tab_page/modules/v2/history_clusters/history_clusters_page_handler_v2.cc",
        "new_tab_page/modules/v2/history_clusters/history_clusters_page_handler_v2.h",
        "new_tab_page/new_tab_page_util.cc",
-@@ -4591,7 +4582,6 @@ static_library("browser") {
+@@ -4615,7 +4606,6 @@ static_library("browser") {
        "//chrome/browser/new_tab_page/modules/history_clusters/discount:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/photos:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/recipes:mojo_bindings",
@@ -40,7 +40,7 @@
        "//chrome/browser/new_tab_page/modules/v2/history_clusters:mojo_bindings",
        "//chrome/browser/policy:path_parser",
        "//chrome/browser/profile_resetter:profile_reset_report_proto",
-@@ -6367,10 +6357,6 @@ static_library("browser") {
+@@ -6409,10 +6399,6 @@ static_library("browser") {
      sources += [
        "enterprise/chrome_browser_main_extra_parts_enterprise.cc",
        "enterprise/chrome_browser_main_extra_parts_enterprise.h",
@@ -51,7 +51,7 @@
        "enterprise/connectors/device_trust/attestation/browser/attestation_switches.cc",
        "enterprise/connectors/device_trust/attestation/browser/attestation_switches.h",
        "enterprise/connectors/device_trust/attestation/browser/attester.h",
-@@ -7901,9 +7887,14 @@ static_library("browser") {
+@@ -7949,9 +7935,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",
@@ -69,7 +69,7 @@
      sources += [
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5189,11 +5189,13 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5222,11 +5222,13 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -83,7 +83,7 @@
  
  #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
    MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
-@@ -6979,26 +6981,7 @@ ChromeContentBrowserClient::GetSafeBrows
+@@ -7017,26 +7019,7 @@ ChromeContentBrowserClient::GetSafeBrows
            ? content::BrowserThread::UI
            : content::BrowserThread::IO);
  
@@ -111,7 +111,7 @@
  }
  
  safe_browsing::RealTimeUrlLookupServiceBase*
-@@ -7019,11 +7002,6 @@ ChromeContentBrowserClient::GetUrlLookup
+@@ -7057,11 +7040,6 @@ ChromeContentBrowserClient::GetUrlLookup
          GetForProfile(profile);
    }
  #endif
@@ -141,7 +141,7 @@
  #include "content/public/browser/download_item_utils.h"
  #include "content/public/browser/download_manager.h"
  
-@@ -268,21 +266,11 @@ void DownloadBubbleUIController::Process
+@@ -267,21 +265,11 @@ void DownloadBubbleUIController::Process
    switch (command) {
      case DownloadCommands::KEEP:
      case DownloadCommands::DISCARD:
@@ -189,7 +189,7 @@
  
    return should_open;
  }
-@@ -1546,7 +1536,6 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -1558,7 +1548,6 @@ void ChromeDownloadManagerDelegate::OnDo
      DownloadItemModel model(item);
      model.DetermineAndSetShouldPreferOpeningInBrowser(
          target_info->target_path, target_info->is_filetype_handled_safely);
@@ -197,7 +197,7 @@
    }
    if (ShouldBlockFile(item, target_info->danger_type)) {
      MaybeReportDangerousDownloadBlocked(
-@@ -1625,59 +1614,6 @@ bool ChromeDownloadManagerDelegate::IsOp
+@@ -1637,59 +1626,6 @@ bool ChromeDownloadManagerDelegate::IsOp
  bool ChromeDownloadManagerDelegate::ShouldBlockFile(
      download::DownloadItem* item,
      download::DownloadDangerType danger_type) const {
@@ -257,7 +257,7 @@
  
    return false;
  }
-@@ -1692,7 +1628,6 @@ void ChromeDownloadManagerDelegate::Mayb
+@@ -1704,7 +1640,6 @@ void ChromeDownloadManagerDelegate::Mayb
      service->MaybeSendDangerousDownloadOpenedReport(download,
                                                      show_download_in_folder);
    }
@@ -265,7 +265,7 @@
    if (!download->GetAutoOpened()) {
      download::DownloadContent download_content =
          download::DownloadContentFromMimeType(download->GetMimeType(), false);
-@@ -1700,6 +1635,7 @@ void ChromeDownloadManagerDelegate::Mayb
+@@ -1712,6 +1647,7 @@ void ChromeDownloadManagerDelegate::Mayb
          download->GetDangerType(), download_content, base::Time::Now(),
          download->GetEndTime(), show_download_in_folder);
    }
@@ -273,7 +273,7 @@
  }
  
  void ChromeDownloadManagerDelegate::CheckDownloadAllowed(
-@@ -1757,8 +1693,7 @@ void ChromeDownloadManagerDelegate::Chec
+@@ -1769,8 +1705,7 @@ void ChromeDownloadManagerDelegate::Chec
    DCHECK(download_item);
    DCHECK(download_item->IsSavePackageDownload());
  
@@ -285,7 +285,7 @@
  
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -918,80 +918,10 @@ void DownloadItemModel::ExecuteCommand(D
+@@ -913,80 +913,10 @@ void DownloadItemModel::ExecuteCommand(D
  
  DownloadItemModel::BubbleUIInfo
  DownloadItemModel::GetBubbleUIInfoForTailoredWarning() const {
@@ -299,7 +299,7 @@
 -          TailoredVerdict::SUSPICIOUS_ARCHIVE) {
 -    return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
 -        l10n_util::GetStringUTF16(
--            IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_MALWARE),
+-            IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_ARCHIVE_MALWARE),
 -        l10n_util::GetStringUTF16(
 -            IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
 -  }
@@ -404,7 +404,7 @@
    danger_level_ = GetDangerLevel(
        visited_referrer_before ? VISITED_REFERRER : NO_VISITS_TO_REFERRER);
    if (danger_level_ != DownloadFileType::NOT_DANGEROUS &&
-@@ -1272,6 +1274,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -1270,6 +1272,7 @@ DownloadFileType::DangerLevel DownloadTa
  
  absl::optional<base::Time>
  DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const {
@@ -412,7 +412,7 @@
    safe_browsing::SafeBrowsingMetricsCollector* metrics_collector =
        safe_browsing::SafeBrowsingMetricsCollectorFactory::GetForProfile(
            GetProfile());
-@@ -1280,6 +1283,9 @@ DownloadTargetDeterminer::GetLastDownloa
+@@ -1278,6 +1281,9 @@ DownloadTargetDeterminer::GetLastDownloa
                                   safe_browsing::SafeBrowsingMetricsCollector::
                                       EventType::DANGEROUS_DOWNLOAD_BYPASS)
                             : absl::nullopt;
@@ -434,7 +434,7 @@
  #include "components/enterprise/common/proto/connectors.pb.h"
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc
-@@ -82,7 +82,7 @@ absl::optional<GURL> ContentAnalysisDown
+@@ -90,7 +90,7 @@ absl::optional<GURL> ContentAnalysisDown
  }
  
  bool ContentAnalysisDownloadsDelegate::BypassRequiresJustification() const {
@@ -498,14 +498,15 @@
  void FilesRequestHandler::OnGotFileInfo(
      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
      size_t index,
-@@ -259,14 +219,6 @@ void FilesRequestHandler::OnGotFileInfo(
+@@ -259,15 +219,6 @@ void FilesRequestHandler::OnGotFileInfo(
  void FilesRequestHandler::FinishRequestEarly(
      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
      safe_browsing::BinaryUploadService::Result result) {
 -  // We add the request here in case we never actually uploaded anything, so it
 -  // wasn't added in OnGetRequestData
 -  safe_browsing::WebUIInfoSingleton::GetInstance()->AddToDeepScanRequests(
--      request->per_profile_request(), request->content_analysis_request());
+-      request->per_profile_request(), /*access_token*/ "",
+-      request->content_analysis_request());
 -  safe_browsing::WebUIInfoSingleton::GetInstance()->AddToDeepScanResponses(
 -      /*token=*/"", safe_browsing::BinaryUploadService::ResultToString(result),
 -      enterprise_connectors::ContentAnalysisResponse());
@@ -528,7 +529,7 @@
    void OnGotFileInfo(
 --- a/chrome/browser/enterprise/connectors/connectors_service.cc
 +++ b/chrome/browser/enterprise/connectors/connectors_service.cc
-@@ -443,19 +443,6 @@ absl::optional<std::string> ConnectorsSe
+@@ -454,19 +454,6 @@ absl::optional<std::string> ConnectorsSe
    return absl::nullopt;
  }
  
@@ -610,7 +611,7 @@
    signals.Set(device_signals::names::kBuiltInDnsClientEnabled,
 --- a/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc
 +++ b/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc
-@@ -496,8 +496,7 @@ void RealtimeReportingClient::ReportEven
+@@ -507,8 +507,7 @@ void RealtimeReportingClient::ReportEven
  }
  
  std::string RealtimeReportingClient::GetProfileUserName() const {
@@ -747,7 +748,7 @@
  }  // namespace utils
 --- a/chrome/browser/extensions/BUILD.gn
 +++ b/chrome/browser/extensions/BUILD.gn
-@@ -302,10 +302,6 @@ static_library("extensions") {
+@@ -304,10 +304,6 @@ static_library("extensions") {
      "api/runtime/chrome_runtime_api_delegate.h",
      "api/safe_browsing_private/safe_browsing_private_api.cc",
      "api/safe_browsing_private/safe_browsing_private_api.h",
@@ -769,7 +770,7 @@
      "pending_extension_info.cc",
 --- a/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
 +++ b/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
-@@ -110,7 +110,6 @@ void EnsureApiBrowserContextKeyedService
+@@ -114,7 +114,6 @@ void EnsureApiBrowserContextKeyedService
    extensions::PreferenceAPI::GetFactoryInstance();
    extensions::ProcessesAPI::GetFactoryInstance();
    extensions::ReadingListEventRouter::GetFactoryInstance();
@@ -779,7 +780,7 @@
    extensions::SettingsOverridesAPI::GetFactoryInstance();
 --- a/chrome/browser/extensions/api/cookies/cookies_api.cc
 +++ b/chrome/browser/extensions/api/cookies/cookies_api.cc
-@@ -303,19 +303,6 @@ void CookiesGetFunction::GetCookieListCa
+@@ -301,19 +301,6 @@ void CookiesGetFunction::GetCookieListCa
  }
  
  void CookiesGetFunction::NotifyExtensionTelemetry() {
@@ -799,7 +800,7 @@
  }
  
  CookiesGetAllFunction::CookiesGetAllFunction() {
-@@ -408,24 +395,6 @@ void CookiesGetAllFunction::GetCookieLis
+@@ -406,24 +393,6 @@ void CookiesGetAllFunction::GetCookieLis
  }
  
  void CookiesGetAllFunction::NotifyExtensionTelemetry() {
@@ -896,7 +897,7 @@
  void Blocklist::GetMalwareIDs(const std::set<std::string>& ids,
 --- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
 +++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
-@@ -731,81 +731,23 @@ void ChromeExtensionsBrowserClient::Noti
+@@ -734,81 +734,23 @@ void ChromeExtensionsBrowserClient::Noti
      content::BrowserContext* context,
      const ExtensionId& extension_id,
      const std::string& code) const {
@@ -979,7 +980,7 @@
  }
  
  // static
-@@ -975,7 +917,6 @@ void ChromeExtensionsBrowserClient::GetW
+@@ -978,7 +920,6 @@ void ChromeExtensionsBrowserClient::GetW
  
  void ChromeExtensionsBrowserClient::CreatePasswordReuseDetectionManager(
      content::WebContents* web_contents) const {
@@ -989,7 +990,7 @@
  media_device_salt::MediaDeviceSaltService*
 --- a/chrome/browser/extensions/extension_service.cc
 +++ b/chrome/browser/extensions/extension_service.cc
-@@ -52,7 +52,6 @@
+@@ -51,7 +51,6 @@
  #include "chrome/browser/extensions/forced_extensions/install_stage_tracker.h"
  #include "chrome/browser/extensions/install_verifier.h"
  #include "chrome/browser/extensions/installed_loader.h"
@@ -997,7 +998,7 @@
  #include "chrome/browser/extensions/pending_extension_manager.h"
  #include "chrome/browser/extensions/permissions_updater.h"
  #include "chrome/browser/extensions/profile_util.h"
-@@ -221,7 +220,6 @@ void ExtensionService::BlocklistExtensio
+@@ -235,7 +234,6 @@ void ExtensionService::BlocklistExtensio
    blocklist_prefs::SetSafeBrowsingExtensionBlocklistState(
        extension_id, BitMapBlocklistState::BLOCKLISTED_MALWARE,
        extension_prefs_);
@@ -1005,7 +1006,7 @@
  }
  
  bool ExtensionService::OnExternalExtensionUpdateUrlFound(
-@@ -389,9 +387,6 @@ ExtensionService::ExtensionService(
+@@ -403,9 +401,6 @@ ExtensionService::ExtensionService(
        safe_browsing_verdict_handler_(extension_prefs,
                                       ExtensionRegistry::Get(profile),
                                       this),
@@ -1015,7 +1016,7 @@
        extension_telemetry_service_verdict_handler_(
            extension_prefs,
            ExtensionRegistry::Get(profile),
-@@ -919,17 +914,6 @@ bool ExtensionService::IsExtensionEnable
+@@ -938,17 +933,6 @@ bool ExtensionService::IsExtensionEnable
    return extension_registrar_.IsExtensionEnabled(extension_id);
  }
  
@@ -1033,7 +1034,7 @@
  void ExtensionService::PerformActionBasedOnExtensionTelemetryServiceVerdicts(
      const Blocklist::BlocklistStateMap& blocklist_state_map) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
-@@ -939,89 +923,6 @@ void ExtensionService::PerformActionBase
+@@ -958,89 +942,6 @@ void ExtensionService::PerformActionBase
    error_controller_->ShowErrorIfNeeded();
  }
  
@@ -1185,7 +1186,7 @@
  
 --- a/chrome/browser/extensions/extension_system_impl.cc
 +++ b/chrome/browser/extensions/extension_system_impl.cc
-@@ -448,8 +448,6 @@ void ExtensionSystemImpl::InstallUpdate(
+@@ -451,8 +451,6 @@ void ExtensionSystemImpl::InstallUpdate(
  void ExtensionSystemImpl::PerformActionBasedOnOmahaAttributes(
      const std::string& extension_id,
      const base::Value::Dict& attributes) {
@@ -1247,7 +1248,7 @@
    }
 --- 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
-@@ -34,7 +34,6 @@
+@@ -33,7 +33,6 @@
  #include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
  #include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h"
  #include "chrome/browser/profiles/profile.h"
@@ -1255,7 +1256,7 @@
  #include "chrome/browser/ui/file_system_access_dialogs.h"
  #include "chrome/common/chrome_paths.h"
  #include "chrome/common/pdf_util.h"
-@@ -411,86 +410,6 @@ bool ShouldBlockAccessToPath(const base:
+@@ -409,87 +408,6 @@ bool ShouldBlockAccessToPath(const base:
    return true;
  }
  
@@ -1330,6 +1331,7 @@
 -    case Result::SENSITIVE_CONTENT_BLOCK:
 -    case Result::DEEP_SCANNED_SAFE:
 -    case Result::PROMPT_FOR_SCANNING:
+-    case Result::PROMPT_FOR_LOCAL_PASSWORD_SCANNING:
 -    case Result::DEEP_SCANNED_FAILED:
 -      NOTREACHED();
 -      return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::
@@ -1342,7 +1344,7 @@
  std::string GenerateLastPickedDirectoryKey(const std::string& id) {
    return id.empty() ? kDefaultLastPickedDirectoryKey
                      : base::StrCat({kCustomLastPickedDirectoryKey, "-", id});
-@@ -510,13 +429,7 @@ std::string_view GetGrantKeyFromGrantTyp
+@@ -509,13 +427,7 @@ std::string_view GetGrantKeyFromGrantTyp
  bool FileHasDangerousExtension(const url::Origin& origin,
                                 const base::FilePath& path,
                                 Profile* profile) {
@@ -1357,7 +1359,7 @@
  }
  
  }  // namespace
-@@ -1494,29 +1407,6 @@ void ChromeFileSystemAccessPermissionCon
+@@ -1511,29 +1423,6 @@ void ChromeFileSystemAccessPermissionCon
        std::move(callback));
  }
  
@@ -1389,7 +1391,7 @@
      const base::FilePath& path,
 --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
 +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
-@@ -138,10 +138,6 @@ class ChromeFileSystemAccessPermissionCo
+@@ -152,10 +152,6 @@ class ChromeFileSystemAccessPermissionCo
        UserAction user_action,
        content::GlobalRenderFrameHostId frame_id,
        base::OnceCallback<void(SensitiveEntryResult)> callback) override;
@@ -1410,7 +1412,7 @@
  #include "components/url_formatter/elide_url.h"
  #include "content/public/browser/browser_thread.h"
  #include "content/public/browser/desktop_media_id.h"
-@@ -124,6 +125,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -122,6 +123,7 @@ void DisplayMediaAccessHandler::HandleRe
      return;
    }
  
@@ -1418,7 +1420,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
-@@ -139,6 +141,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -137,6 +139,7 @@ void DisplayMediaAccessHandler::HandleRe
      observer->OnDesktopCaptureRequest();
      return;
    }
@@ -1445,14 +1447,14 @@
 --- a/chrome/browser/password_manager/chrome_password_manager_client.cc
 +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
 @@ -34,7 +34,6 @@
- #include "chrome/browser/password_manager/password_store_factory.h"
+ #include "chrome/browser/password_manager/profile_password_store_factory.h"
  #include "chrome/browser/profiles/profile.h"
  #include "chrome/browser/profiles/profile_manager.h"
 -#include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
  #include "chrome/browser/safe_browsing/user_interaction_observer.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
  #include "chrome/browser/sync/sync_service_factory.h"
-@@ -863,6 +862,7 @@ autofill::LanguageCode ChromePasswordMan
+@@ -865,6 +864,7 @@ autofill::LanguageCode ChromePasswordMan
    return autofill::LanguageCode();
  }
  
@@ -1460,7 +1462,7 @@
  safe_browsing::PasswordProtectionService*
  ChromePasswordManagerClient::GetPasswordProtectionService() const {
    return safe_browsing::ChromePasswordProtectionService::
-@@ -882,6 +882,7 @@ void ChromePasswordManagerClient::CheckS
+@@ -884,6 +884,7 @@ void ChromePasswordManagerClient::CheckS
    }
  }
  #endif  // defined(ON_FOCUS_PING_ENABLED)
@@ -1468,7 +1470,7 @@
  
  #if !BUILDFLAG(IS_ANDROID)
  void ChromePasswordManagerClient::MaybeReportEnterpriseLoginEvent(
-@@ -889,28 +890,10 @@ void ChromePasswordManagerClient::MaybeR
+@@ -891,28 +892,10 @@ void ChromePasswordManagerClient::MaybeR
      bool is_federated,
      const url::Origin& federated_origin,
      const std::u16string& login_user_name) const {
@@ -1497,7 +1499,7 @@
  }
  #endif
  
-@@ -1498,6 +1481,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1509,6 +1492,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -1505,7 +1507,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
-@@ -1508,6 +1492,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1519,6 +1503,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -1515,7 +1517,7 @@
      password_manager::BrowserSavePasswordProgressLogger logger(
 --- a/chrome/browser/password_manager/chrome_password_manager_client.h
 +++ b/chrome/browser/password_manager/chrome_password_manager_client.h
-@@ -229,6 +229,7 @@ class ChromePasswordManagerClient
+@@ -230,6 +230,7 @@ class ChromePasswordManagerClient
    void AnnotateNavigationEntry(bool has_password_field) override;
    autofill::LanguageCode GetPageLanguage() const override;
  
@@ -1523,7 +1525,7 @@
    safe_browsing::PasswordProtectionService* GetPasswordProtectionService()
        const override;
  
-@@ -236,6 +237,7 @@ class ChromePasswordManagerClient
+@@ -237,6 +238,7 @@ class ChromePasswordManagerClient
    void CheckSafeBrowsingReputation(const GURL& form_action,
                                     const GURL& frame_url) override;
  #endif
@@ -1647,7 +1649,7 @@
  
 --- a/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
 +++ b/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
-@@ -335,50 +335,5 @@ bool PredictionBasedPermissionUiSelector
+@@ -335,49 +335,5 @@ bool PredictionBasedPermissionUiSelector
  
  PredictionSource PredictionBasedPermissionUiSelector::GetPredictionTypeToUse(
      permissions::RequestType request_type) {
@@ -1657,12 +1659,11 @@
 -  const bool is_notification_cpss_enabled =
 -      profile_->GetPrefs()->GetBoolean(prefs::kEnableNotificationCPSS) &&
 -      (base::FeatureList::IsEnabled(features::kQuietNotificationPrompts) ||
--       base::FeatureList::IsEnabled(
--           permissions::features::kPermissionQuietChip));
+-       permissions::PermissionUtil::DoesPlatformSupportChip());
 -
 -  const bool is_geolocation_cpss_enabled =
 -      profile_->GetPrefs()->GetBoolean(prefs::kEnableGeolocationCPSS) &&
--      base::FeatureList::IsEnabled(permissions::features::kPermissionQuietChip);
+-      permissions::PermissionUtil::DoesPlatformSupportChip();
 -
 -  if (request_type == permissions::RequestType::kNotifications &&
 -      !is_notification_cpss_enabled) {
@@ -1708,7 +1709,7 @@
  #include "components/safe_browsing/content/common/file_type_policies_prefs.h"
  #include "components/safe_browsing/core/common/safe_browsing_policy_handler.h"
  #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
-@@ -2095,8 +2096,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -2137,8 +2138,6 @@ std::unique_ptr<ConfigurationPolicyHandl
    handlers->AddHandler(
        std::make_unique<bookmarks::ManagedBookmarksPolicyHandler>(
            chrome_schema));
@@ -1717,7 +1718,7 @@
    handlers->AddHandler(std::make_unique<syncer::SyncPolicyHandler>());
    handlers->AddHandler(
        std::make_unique<URLBlocklistPolicyHandler>(key::kURLBlocklist));
-@@ -2179,20 +2178,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -2215,20 +2214,6 @@ std::unique_ptr<ConfigurationPolicyHandl
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode,
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckScope, chrome_schema));
  
@@ -1748,7 +1749,7 @@
  #include "chrome/browser/new_tab_page/promos/promo_service.h"
  #include "chrome/browser/policy/developer_tools_policy_handler.h"
  #include "chrome/browser/search/background/ntp_custom_background_service.h"
-@@ -1805,7 +1804,6 @@ void RegisterProfilePrefs(user_prefs::Pr
+@@ -1813,7 +1812,6 @@ void RegisterProfilePrefs(user_prefs::Pr
    NewTabPageHandler::RegisterProfilePrefs(registry);
    NewTabPageUI::RegisterProfilePrefs(registry);
    NewTabUI::RegisterProfilePrefs(registry);
@@ -1758,7 +1759,7 @@
    PinnedTabCodec::RegisterProfilePrefs(registry);
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -710,9 +710,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -730,9 +730,6 @@ void ChromeBrowserMainExtraPartsProfiles
    enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance();
    enterprise_connectors::DeviceTrustServiceFactory::GetInstance();
  #endif
@@ -1768,7 +1769,7 @@
  #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
      BUILDFLAG(IS_ANDROID)
    enterprise_idle::IdleServiceFactory::GetInstance();
-@@ -1008,23 +1005,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -1037,23 +1034,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if !BUILDFLAG(IS_ANDROID)
    ResetReportUploaderFactory::GetInstance();
  #endif
@@ -1790,8 +1791,8 @@
 -  safe_browsing::TailoredSecurityServiceFactory::GetInstance();
 -  safe_browsing::VerdictCacheManagerFactory::GetInstance();
    SafeSearchFactory::GetInstance();
- #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
-   screen_ai::AXScreenAIAnnotatorFactory::EnsureFactoryBuilt();
+ #if !BUILDFLAG(IS_ANDROID)
+   SafetyHubMenuNotificationServiceFactory::GetInstance();
 --- a/chrome/browser/safe_browsing/cloud_content_scanning/file_opening_job.cc
 +++ b/chrome/browser/safe_browsing/cloud_content_scanning/file_opening_job.cc
 @@ -71,10 +71,6 @@ void FileOpeningJob::ProcessNextTask(bas
@@ -1983,7 +1984,7 @@
  }  // namespace
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -568,7 +568,6 @@ static_library("ui") {
+@@ -575,7 +575,6 @@ static_library("ui") {
      "//components/renderer_context_menu",
      "//components/resources",
      "//components/safe_browsing/content/browser",
@@ -1991,7 +1992,7 @@
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/web_ui",
      "//components/safe_browsing/core/browser/db:database_manager",
-@@ -3877,8 +3876,6 @@ static_library("ui") {
+@@ -3956,8 +3955,6 @@ static_library("ui") {
        "startup/web_app_startup_utils.h",
        "tab_contents/chrome_web_contents_menu_helper.cc",
        "tab_contents/chrome_web_contents_menu_helper.h",
@@ -2000,7 +2001,7 @@
        "views/autofill/payments/virtual_card_selection_dialog_view.cc",
        "views/autofill/payments/virtual_card_selection_dialog_view.h",
        "views/autofill/payments/webauthn_dialog_view.cc",
-@@ -5480,8 +5477,6 @@ static_library("ui") {
+@@ -5566,8 +5563,6 @@ static_library("ui") {
        "views/safe_browsing/prompt_for_scanning_modal_dialog.h",
        "views/safe_browsing/tailored_security_desktop_dialog_manager.cc",
        "views/safe_browsing/tailored_security_desktop_dialog_manager.h",
@@ -2009,6 +2010,46 @@
        "views/send_tab_to_self/manage_account_devices_link_view.cc",
        "views/send_tab_to_self/manage_account_devices_link_view.h",
        "views/send_tab_to_self/send_tab_to_self_bubble_device_button.cc",
+--- a/chrome/browser/ui/download/download_bubble_row_view_info.cc
++++ b/chrome/browser/ui/download/download_bubble_row_view_info.cc
+@@ -10,7 +10,6 @@
+ #include "chrome/browser/enterprise/connectors/common.h"
+ #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
+ #include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
+-#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
+ #include "chrome/browser/ui/color/chrome_color_id.h"
+ #include "chrome/browser/ui/download/download_item_mode.h"
+ #include "chrome/grit/generated_resources.h"
+@@ -517,29 +516,6 @@ void DownloadBubbleRowViewInfo::Populate
+ }
+ 
+ void DownloadBubbleRowViewInfo::PopulateForTailoredWarning() {
+-  CHECK(model_->GetDownloadItem());
+-  download::DownloadDangerType danger_type = model_->GetDangerType();
+-  TailoredVerdict tailored_verdict = safe_browsing::DownloadProtectionService::
+-      GetDownloadProtectionTailoredVerdict(model_->GetDownloadItem());
+-
+-  // Suspicious archives
+-  if (danger_type == download::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT &&
+-      tailored_verdict.tailored_verdict_type() ==
+-          TailoredVerdict::SUSPICIOUS_ARCHIVE) {
+-    PopulateSuspiciousUiPattern();
+-    return;
+-  }
+-
+-  // Cookie theft
+-  if (danger_type ==
+-          download::DOWNLOAD_DANGER_TYPE_DANGEROUS_ACCOUNT_COMPROMISE &&
+-      tailored_verdict.tailored_verdict_type() ==
+-          TailoredVerdict::COOKIE_THEFT) {
+-    PopulateDangerousUiPattern();
+-    return;
+-  }
+-
+-  NOTREACHED();
+ }
+ 
+ void DownloadBubbleRowViewInfo::PopulateForFileTypeWarningNoSafeBrowsing() {
 --- 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
 @@ -16,6 +16,7 @@
@@ -2037,9 +2078,9 @@
  void JavaScriptTabModalDialogManagerDelegateDesktop::DidCloseDialog() {
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -347,7 +347,6 @@ void TabHelpers::AttachTabHelpers(WebCon
-   chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents);
-   chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
+@@ -362,7 +362,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+   ChromeComposeClient::CreateForWebContents(web_contents);
+ #endif
    ChromePasswordManagerClient::CreateForWebContents(web_contents);
 -  ChromePasswordReuseDetectionManagerClient::CreateForWebContents(web_contents);
    CreateSubresourceFilterWebContentsHelper(web_contents);
@@ -2053,9 +2094,9 @@
  #include "chrome/browser/download/download_item_warning_data.h"
 -#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
  #include "chrome/browser/ui/browser.h"
- #include "chrome/browser/ui/views/download/bubble/download_bubble_partial_view.h"
- #include "chrome/browser/ui/views/download/bubble/download_bubble_primary_view.h"
-@@ -140,10 +139,6 @@ void DownloadBubbleContentsView::AddSecu
+ #include "chrome/browser/ui/browser_element_identifiers.h"
+ #include "chrome/browser/ui/download/download_bubble_info.h"
+@@ -149,10 +148,6 @@ void DownloadBubbleContentsView::AddSecu
  void DownloadBubbleContentsView::ProcessDeepScanPress(
      const ContentId& id,
      base::optional_ref<const std::string> password) {
@@ -2103,7 +2144,7 @@
    open_button_->SetEnabled((mode_ == download::DownloadItemMode::kNormal) ||
                             prompt_to_scan || allow_open_during_deep_scan);
  
-@@ -1276,7 +1277,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1277,7 +1278,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -2243,6 +2284,68 @@
  #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
    if (capture_policy::IsGetAllScreensMediaAllowedForAnySite(profile)) {
      AddThreatProtectionPermission(kManagementScreenCaptureEvent,
+--- a/chrome/browser/ui/webui/settings/hats_handler.cc
++++ b/chrome/browser/ui/webui/settings/hats_handler.cc
+@@ -85,41 +85,6 @@ void HatsHandler::RegisterMessages() {
+ void HatsHandler::HandleSecurityPageInteractionOccurred(
+     const base::Value::List& args) {
+   AllowJavascript();
+-
+-  // There are 2 argument in the input list.
+-  // The first one is the SecurityPageInteraction that triggered the survey.
+-  // The second one is the safe browsing setting the user was on.
+-  CHECK_EQ(2U, args.size());
+-
+-  Profile* profile = Profile::FromWebUI(web_ui());
+-
+-  // Enterprise users consideration.
+-  // If the admin disabled the survey, the survey will not be requested.
+-  if (!safe_browsing::IsSafeBrowsingSurveysEnabled(*profile->GetPrefs())) {
+-    return;
+-  }
+-
+-  // Request HaTS survey.
+-  HatsService* hats_service = HatsServiceFactory::GetForProfile(
+-      profile, /* create_if_necessary = */ true);
+-
+-  // The HaTS service may not be available for the profile, for example if it
+-  // is a guest profile.
+-  if (!hats_service) {
+-    return;
+-  }
+-
+-  // Generate the Product Specific bits data from |profile| and |args|.
+-  SurveyStringData product_specific_string_data =
+-      GetSecurityPageProductSpecificStringData(profile, args);
+-
+-  hats_service->LaunchDelayedSurveyForWebContents(
+-      kHatsSurveyTriggerSettingsSecurity, web_ui()->GetWebContents(),
+-      features::kHappinessTrackingSurveysForSecurityPageTime.Get()
+-          .InMilliseconds(),
+-      /*product_specific_bits_data=*/{},
+-      /*product_specific_string_data=*/product_specific_string_data,
+-      /*require_same_origin=*/true);
+ }
+ 
+ /**
+@@ -180,17 +145,7 @@ SurveyStringData HatsHandler::GetSecurit
+     }
+   }
+ 
+-  bool safe_browsing_enabled =
+-      profile->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnabled);
+-  bool safe_browsing_enhanced_enabled =
+-      profile->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnhanced);
+-  if (safe_browsing_enhanced_enabled) {
+-    safe_browsing_setting_current = "enhanced_protection";
+-  } else if (safe_browsing_enabled) {
+-    safe_browsing_setting_current = "standard_protection";
+-  } else {
+     safe_browsing_setting_current = "no_protection";
+-  }
+ 
+   std::string client_channel =
+       std::string(version_info::GetChannelString(chrome::GetChannel()));
 --- a/chrome/browser/webshare/share_service_impl.cc
 +++ b/chrome/browser/webshare/share_service_impl.cc
 @@ -17,7 +17,9 @@
@@ -2287,7 +2390,7 @@
                                 std::move(callback),
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -1721,7 +1721,6 @@ if (!is_android) {
+@@ -1811,7 +1811,6 @@ if (!is_android) {
        "//components/resources",
        "//components/safe_browsing:buildflags",
        "//components/safe_browsing/content/browser",
@@ -2295,7 +2398,7 @@
        "//components/safe_browsing/content/browser:safe_browsing_service",
        "//components/safe_browsing/content/browser/password_protection",
        "//components/safe_browsing/content/browser/password_protection:test_support",
-@@ -6679,7 +6678,6 @@ test("unit_tests") {
+@@ -6792,7 +6791,6 @@ test("unit_tests") {
      "//components/resources",
      "//components/safe_browsing:buildflags",
      "//components/safe_browsing/content/browser",
@@ -2303,7 +2406,7 @@
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/password_protection:mock_password_protection",
      "//components/safe_browsing/content/browser/web_ui",
-@@ -9848,9 +9846,6 @@ test("unit_tests") {
+@@ -10008,9 +10006,6 @@ test("unit_tests") {
      ]
    }
  
@@ -2344,7 +2447,7 @@
  # These two flags are equivalent, but `enable_print_content_analysis` still
 --- a/components/password_manager/content/browser/content_password_manager_driver.cc
 +++ b/components/password_manager/content/browser/content_password_manager_driver.cc
-@@ -484,7 +484,7 @@ void ContentPasswordManagerDriver::Check
+@@ -496,7 +496,7 @@ void ContentPasswordManagerDriver::Check
    if (!password_manager::bad_message::CheckFrameNotPrerendering(
            render_frame_host_))
      return;
@@ -2355,7 +2458,7 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -398,11 +398,14 @@ class PasswordManagerClient {
+@@ -399,11 +399,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual autofill::LanguageCode GetPageLanguage() const;
  
@@ -2516,7 +2619,7 @@
  }
 --- a/components/safe_browsing/core/browser/verdict_cache_manager.cc
 +++ b/components/safe_browsing/core/browser/verdict_cache_manager.cc
-@@ -455,16 +455,6 @@ VerdictCacheManager::VerdictCacheManager
+@@ -441,16 +441,6 @@ VerdictCacheManager::VerdictCacheManager
    // pref_service can be null in tests.
    if (pref_service) {
      pref_change_registrar_.Init(pref_service);
@@ -2689,7 +2792,7 @@
  
 --- a/extensions/browser/updater/update_service.cc
 +++ b/extensions/browser/updater/update_service.cc
-@@ -127,13 +127,6 @@ void UpdateService::OnCrxStateChange(Upd
+@@ -128,13 +128,6 @@ void UpdateService::OnCrxStateChange(Upd
        break;
    }
  

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


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

@@ -6,7 +6,7 @@
      "google": {
 -      "name": "Google",
 -      "keyword": "google.com",
--      "favicon_url": "https://www.google.com/images/branding/product/ico/googleg_lodp.ico",
+-      "favicon_url": "https://www.google.com/images/branding/product/ico/googleg_alldp.ico",
 -      "search_url": "{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:iOSSearchLanguage}{google:prefetchSource}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}",
 -      "suggest_url": "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:inputType}{google:omniboxFocusType}{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}{google:clientCacheTimeToLive}{google:searchVersion}{google:sessionToken}{google:prefetchQuery}sugkey={google:suggestAPIKeyParameter}",
 -      "image_url": "{google:baseSearchByImageURL}upload",

+ 3 - 3
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
-@@ -163,6 +163,7 @@
+@@ -165,6 +165,7 @@
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/strings/grit/components_strings.h"
  #include "components/supervised_user/core/common/buildflags.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"
-@@ -2031,6 +2032,7 @@ void RenderViewContextMenu::AppendPageIt
+@@ -2044,6 +2045,7 @@ void RenderViewContextMenu::AppendPageIt
      menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
  
    if (CanTranslate(/*menu_logging=*/true)) {
@@ -88,7 +88,7 @@
    translate_event->set_ranker_version(GetModelVersion());
 --- a/components/translate/core/browser/translate_script.cc
 +++ b/components/translate/core/browser/translate_script.cc
-@@ -136,8 +136,13 @@ void TranslateScript::OnScriptFetchCompl
+@@ -137,8 +137,13 @@ void TranslateScript::OnScriptFetchCompl
                          server_params.c_str());
  
      GURL security_origin = translate::GetTranslateSecurityOrigin();

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

@@ -9,7 +9,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2539,6 +2539,7 @@ static_library("browser") {
+@@ -2575,6 +2575,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
@@ -19,14 +19,14 @@
      "//third_party/widevine/cdm:headers",
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -162,6 +162,7 @@
- #include "components/translate/core/browser/translate_ranker_impl.h"
+@@ -167,6 +167,7 @@
  #include "components/translate/core/common/translate_util.h"
+ #include "components/trusted_vault/features.h"
  #include "components/ui_devtools/switches.h"
 +#include "components/ungoogled/ungoogled_switches.h"
- #include "components/variations/service/google_groups_updater_service.h"
  #include "components/variations/variations_switches.h"
  #include "components/version_info/version_info.h"
+ #include "components/viz/common/features.h"
 --- a/chrome/browser/bromite_flag_entries.h
 +++ b/chrome/browser/bromite_flag_entries.h
 @@ -4,4 +4,12 @@
@@ -44,7 +44,7 @@
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -245,6 +245,7 @@ source_set("browser") {
+@@ -247,6 +247,7 @@ source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -54,15 +54,15 @@
      "//third_party/zlib/google:zip",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -76,6 +76,7 @@
+@@ -77,6 +77,7 @@
  #include "components/services/storage/public/cpp/quota_error_or.h"
  #include "components/services/storage/public/mojom/cache_storage_control.mojom.h"
  #include "components/tracing/common/tracing_switches.h"
 +#include "components/ungoogled/ungoogled_switches.h"
  #include "components/viz/common/switches.h"
  #include "components/viz/host/gpu_client.h"
- #include "content/browser/attribution_reporting/attribution_manager.h"
-@@ -3346,6 +3347,8 @@ void RenderProcessHostImpl::PropagateBro
+ #include "content/browser/bad_message.h"
+@@ -3420,6 +3421,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLImageChromium,
      switches::kEnableWebGPUDeveloperFeatures,
      switches::kFileUrlPathAlias,
@@ -73,7 +73,7 @@
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/BUILD.gn
 +++ b/content/child/BUILD.gn
-@@ -102,6 +102,7 @@ target(link_target_type, "child") {
+@@ -103,6 +103,7 @@ target(link_target_type, "child") {
      "//third_party/blink/public/common:buildflags",
      "//third_party/blink/public/strings",
      "//third_party/ced",
@@ -83,7 +83,7 @@
      "//ui/events/blink",
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,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"
-@@ -465,6 +466,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -475,6 +476,10 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kEnableWebGPUDeveloperFeatures, true},
        {wrf::EnableDirectSockets, switches::kEnableIsolatedWebAppsInRenderer,
         true},
@@ -104,9 +104,9 @@
    for (const auto& mapping : switchToFeatureMapping) {
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -68,6 +68,9 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFe
-   static void EnableOverlayScrollbars(bool);
+@@ -69,6 +69,9 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFe
    static void EnableFluentScrollbars(bool);
+   static void EnableFluentOverlayScrollbars(bool);
  
 +  static void EnableFingerprintingClientRectsNoise(bool);
 +  static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -139,7 +139,7 @@
  SelectorQueryCache& Document::GetSelectorQueryCache() {
    if (!selector_query_cache_)
      selector_query_cache_ = std::make_unique<SelectorQueryCache>();
-@@ -2295,6 +2304,15 @@ void Document::UpdateStyleAndLayoutTreeF
+@@ -2318,6 +2327,15 @@ void Document::UpdateStyleAndLayoutTreeF
  #if DCHECK_IS_ON()
    AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
  #endif
@@ -157,7 +157,7 @@
  void Document::InvalidateStyleAndLayoutForFontUpdates() {
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -532,6 +532,10 @@ class CORE_EXPORT Document : public Cont
+@@ -511,6 +511,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -168,7 +168,7 @@
    AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -2427,6 +2431,9 @@ class CORE_EXPORT Document : public Cont
+@@ -2413,6 +2417,9 @@ class CORE_EXPORT Document : public Cont
  
    base::ElapsedTimer start_time_;
  
@@ -180,7 +180,7 @@
  
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -2144,6 +2144,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2123,6 +2123,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads,
                                                      *element_layout_object);
@@ -192,7 +192,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2171,6 +2176,9 @@ gfx::RectF Element::GetBoundingClientRec
+@@ -2150,6 +2155,9 @@ gfx::RectF Element::GetBoundingClientRec
    DCHECK(element_layout_object);
    GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
                                                     *element_layout_object);
@@ -229,7 +229,7 @@
  // TODO(editing-dev): We should make
 --- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
 +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
-@@ -68,6 +68,24 @@ TextMetrics::TextMetrics(const Font& fon
+@@ -69,6 +69,24 @@ TextMetrics::TextMetrics(const Font& fon
    Update(font, direction, baseline, align, text);
  }
  
@@ -267,7 +267,7 @@
                const TextDirection&,
 --- 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
-@@ -53,6 +53,9 @@
+@@ -56,6 +56,9 @@
  #include "ui/gfx/geometry/quad_f.h"
  #include "ui/gfx/geometry/skia_conversions.h"
  
@@ -277,7 +277,7 @@
  namespace blink {
  
  BASE_FEATURE(kDisableCanvasOverdrawOptimization,
-@@ -2864,9 +2867,22 @@ TextMetrics* BaseRenderingContext2D::mea
+@@ -2892,9 +2895,22 @@ TextMetrics* BaseRenderingContext2D::mea
  
    TextDirection direction = ToTextDirection(GetState().GetDirection(), canvas);
  
@@ -303,7 +303,7 @@
  void BaseRenderingContext2D::SnapshotStateForFilter() {
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1693,6 +1693,7 @@ component("platform") {
+@@ -1702,6 +1702,7 @@ component("platform") {
      "//cc/mojo_embedder",
      "//components/paint_preview/common",
      "//components/search_engines:search_engine_utils",
@@ -313,10 +313,10 @@
      "//components/webrtc:net_address_utils",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -65,4 +65,12 @@ void WebRuntimeFeatures::EnableFluentScr
-   ScrollbarThemeSettings::SetFluentScrollbarsEnabled(enable);
+@@ -68,4 +68,12 @@ void WebRuntimeFeatures::EnableFluentScr
+ void WebRuntimeFeatures::EnableFluentOverlayScrollbars(bool enable) {
+   RuntimeEnabledFeatures::SetFluentOverlayScrollbarsEnabled(enable);
  }
- 
 +void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
 +  RuntimeEnabledFeatures::SetFingerprintingClientRectsNoiseEnabled(enable);
 +}
@@ -328,7 +328,7 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1817,6 +1817,12 @@
+@@ -1887,6 +1887,12 @@
        origin_trial_feature_name: "Focusgroup",
      },
      {

+ 8 - 8
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
-@@ -3349,6 +3349,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3423,6 +3423,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
-@@ -470,6 +470,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -480,6 +480,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -55,7 +55,7 @@ approach to change color components.
    for (const auto& mapping : switchToFeatureMapping) {
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFe
+@@ -71,6 +71,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFe
  
    static void EnableFingerprintingClientRectsNoise(bool);
    static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -65,7 +65,7 @@ approach to change color components.
  };
 --- 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
-@@ -45,6 +45,7 @@
+@@ -48,6 +48,7 @@
  #include "third_party/blink/renderer/platform/graphics/filters/paint_filter_builder.h"
  #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
  #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
@@ -73,7 +73,7 @@ approach to change color components.
  #include "third_party/blink/renderer/platform/graphics/stroke_data.h"
  #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h"
  #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
-@@ -2190,6 +2191,9 @@ ImageData* BaseRenderingContext2D::getIm
+@@ -2211,6 +2212,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.
    return image_data;
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1648,7 +1648,9 @@ component("platform") {
+@@ -1657,7 +1657,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
-@@ -73,4 +73,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -76,4 +76,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -322,7 +322,7 @@ approach to change color components.
    // Methods overridden by all sub-classes
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1823,6 +1823,9 @@
+@@ -1893,6 +1893,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {

+ 7 - 7
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
-@@ -2258,6 +2258,7 @@ static_library("browser") {
+@@ -2295,6 +2295,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -63,15 +63,15 @@ with limited CPU/memory resources and it is disabled by default.
  #include "base/synchronization/waitable_event.h"
  #include "base/task/sequenced_task_runner.h"
  #include "base/task/single_thread_task_runner.h"
-@@ -104,6 +106,7 @@
+@@ -103,6 +105,7 @@
  #include "components/metrics/metrics_service.h"
  #include "components/metrics_services_manager/metrics_services_manager.h"
  #include "components/metrics_services_manager/metrics_services_manager_client.h"
 +#include "components/network_session_configurator/common/network_switches.h"
  #include "components/network_time/network_time_tracker.h"
+ #include "components/os_crypt/async/browser/os_crypt_async.h"
  #include "components/permissions/permissions_client.h"
- #include "components/policy/core/common/policy_service.h"
-@@ -135,6 +138,7 @@
+@@ -134,6 +137,7 @@
  #include "media/media_buildflags.h"
  #include "mojo/public/cpp/bindings/pending_receiver.h"
  #include "net/log/net_log.h"
@@ -79,7 +79,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "ppapi/buildflags/buildflags.h"
  #include "printing/buildflags/buildflags.h"
  #include "services/network/public/cpp/features.h"
-@@ -368,6 +372,18 @@ void BrowserProcessImpl::Init() {
+@@ -367,6 +371,18 @@ void BrowserProcessImpl::Init() {
    pref_change_registrar_.Add(metrics::prefs::kMetricsReportingEnabled,
                               base::BindRepeating(&ApplyMetricsReportingPolicy));
  
@@ -100,7 +100,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -2226,6 +2226,10 @@ const char kUnthrottledNestedTimeoutDesc
+@@ -2194,6 +2194,10 @@ const char kUnthrottledNestedTimeoutDesc
      "websites abusing the API will still eventually have their setTimeouts "
      "clamped.";
  
@@ -113,7 +113,7 @@ with limited CPU/memory resources and it is disabled by default.
  const char kMediaRouterCastAllowAllIPsDescription[] =
 --- a/chrome/browser/flag_descriptions.h
 +++ b/chrome/browser/flag_descriptions.h
-@@ -1261,6 +1261,9 @@ extern const char kUndoAutofillDescripti
+@@ -1252,6 +1252,9 @@ extern const char kUndoAutofillDescripti
  extern const char kUnthrottledNestedTimeoutName[];
  extern const char kUnthrottledNestedTimeoutDescription[];
  

+ 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/infobar_utils.cc
 +++ b/chrome/browser/ui/startup/infobar_utils.cc
-@@ -139,9 +139,6 @@ void AddInfoBarsIfNecessary(Browser* bro
+@@ -146,9 +146,6 @@ void AddInfoBarsIfNecessary(Browser* bro
      infobars::ContentInfoBarManager* infobar_manager =
          infobars::ContentInfoBarManager::FromWebContents(web_contents);
  

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

@@ -1,7 +1,7 @@
 
 --- a/chrome/browser/background/background_mode_manager.cc
 +++ b/chrome/browser/background/background_mode_manager.cc
-@@ -359,7 +359,7 @@ BackgroundModeManager::~BackgroundModeMa
+@@ -358,7 +358,7 @@ BackgroundModeManager::~BackgroundModeMa
  
  // static
  void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -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
-@@ -1579,7 +1579,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1572,7 +1572,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -23,7 +23,7 @@
    // used for mapping the command-line flags).
 --- a/chrome/browser/net/profile_network_context_service.cc
 +++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -410,7 +410,7 @@ void ProfileNetworkContextService::Updat
+@@ -363,7 +363,7 @@ void ProfileNetworkContextService::Updat
  void ProfileNetworkContextService::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled,
@@ -87,8 +87,8 @@
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterIntegerPref(
        prefs::kAutofillLastVersionDeduped, 0,
-@@ -156,7 +156,7 @@ void RegisterProfilePrefs(user_prefs::Pr
-       prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
+@@ -153,7 +153,7 @@ void RegisterProfilePrefs(user_prefs::Pr
+       prefs::kAutofillHasSeenIban, false,
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterBooleanPref(
 -      prefs::kAutofillCreditCardEnabled, true,
@@ -98,7 +98,7 @@
        prefs::kAutofillPaymentCvcStorage, true,
 --- a/components/bookmarks/browser/bookmark_utils.cc
 +++ b/components/bookmarks/browser/bookmark_utils.cc
-@@ -483,7 +483,7 @@ bool DoesBookmarkContainWords(const std:
+@@ -480,7 +480,7 @@ bool DoesBookmarkContainWords(const std:
  
  void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
@@ -109,7 +109,7 @@
    registry->RegisterBooleanPref(
 --- a/components/content_settings/core/browser/cookie_settings.cc
 +++ b/components/content_settings/core/browser/cookie_settings.cc
-@@ -74,7 +74,7 @@ void CookieSettings::RegisterProfilePref
+@@ -81,7 +81,7 @@ void CookieSettings::RegisterProfilePref
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterIntegerPref(
        prefs::kCookieControlsMode,

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

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

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

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

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

@@ -10,7 +10,7 @@ Out with all those tracking cookies!
 
 --- a/chrome/browser/resources/settings/privacy_page/cookies_page.html
 +++ b/chrome/browser/resources/settings/privacy_page/cookies_page.html
-@@ -328,6 +328,7 @@
+@@ -344,6 +344,7 @@
            </settings-collapse-radio-button>
          </settings-radio-group>
        </div>
@@ -18,7 +18,7 @@ Out with all those tracking cookies!
        <settings-toggle-button id="clearOnExit" class="hr"
            pref="{{prefs.generated.cookie_session_only}}"
            label="$i18n{cookiePageClearOnExit}"
-@@ -336,7 +337,6 @@
+@@ -352,7 +353,6 @@
    </if>
            on-settings-boolean-control-change="onClearOnExitChange_">
        </settings-toggle-button>

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

@@ -9,7 +9,7 @@
  #include "chrome/browser/ui/web_applications/app_browser_controller.h"
  #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
  #include "chrome/browser/ui/webui/signin/login_ui_service.h"
-@@ -475,6 +477,7 @@ Browser::Browser(const CreateParams& par
+@@ -474,6 +476,7 @@ Browser::Browser(const CreateParams& par
        omit_from_session_restore_(params.omit_from_session_restore),
        should_trigger_session_restore_(params.should_trigger_session_restore),
        cancel_download_confirmation_state_(NOT_PROMPTED),
@@ -17,7 +17,7 @@
        override_bounds_(params.initial_bounds),
        initial_show_state_(params.initial_show_state),
        initial_workspace_(params.initial_workspace),
-@@ -859,6 +862,7 @@ Browser::WarnBeforeClosingResult Browser
+@@ -858,6 +861,7 @@ Browser::WarnBeforeClosingResult Browser
    // true or there are no pending downloads we need to prompt about) then
    // there's no need to warn.
    if (force_skip_warning_user_on_close_ || CanCloseWithInProgressDownloads())
@@ -25,7 +25,7 @@
      return WarnBeforeClosingResult::kOkToClose;
  
    DCHECK(!warn_before_closing_callback_)
-@@ -893,6 +897,7 @@ bool Browser::TryToCloseWindow(
+@@ -892,6 +896,7 @@ bool Browser::TryToCloseWindow(
  
  void Browser::ResetTryToCloseWindow() {
    cancel_download_confirmation_state_ = NOT_PROMPTED;
@@ -33,7 +33,7 @@
    unload_controller_.ResetTryToCloseWindow();
  }
  
-@@ -2878,6 +2883,62 @@ bool Browser::CanCloseWithInProgressDown
+@@ -2922,6 +2927,62 @@ bool Browser::CanCloseWithInProgressDown
    return false;
  }
  
@@ -96,7 +96,7 @@
  void Browser::InProgressDownloadResponse(bool cancel_downloads) {
    if (cancel_downloads) {
      cancel_download_confirmation_state_ = RESPONSE_RECEIVED;
-@@ -2896,6 +2957,22 @@ void Browser::InProgressDownloadResponse
+@@ -2940,6 +3001,22 @@ void Browser::InProgressDownloadResponse
  
    std::move(warn_before_closing_callback_)
        .Run(WarnBeforeClosingResult::kDoNotClose);
@@ -129,7 +129,7 @@
  #include "chrome/browser/ui/signin/signin_view_controller.h"
  #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
  #include "chrome/browser/ui/unload_controller.h"
-@@ -1099,12 +1100,17 @@ class Browser : public TabStripModelObse
+@@ -1108,12 +1109,17 @@ class Browser : public TabStripModelObse
    // Returns true if the window can close, false otherwise.
    bool CanCloseWithInProgressDownloads();
  
@@ -147,7 +147,7 @@
    // Called when all warnings have completed when attempting to close the
    // browser directly (e.g. via hotkey, close button, terminate signal, etc.)
    // Used as a WarnBeforeClosingCallback by ShouldCloseWindow().
-@@ -1275,6 +1281,8 @@ class Browser : public TabStripModelObse
+@@ -1284,6 +1290,8 @@ class Browser : public TabStripModelObse
    // when the browser is closed with in-progress downloads.
    CancelDownloadConfirmationState cancel_download_confirmation_state_;
  

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

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

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

@@ -33,7 +33,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/components/omnibox/browser/autocomplete_controller.cc
 +++ b/components/omnibox/browser/autocomplete_controller.cc
-@@ -18,6 +18,7 @@
+@@ -20,6 +20,7 @@
  #include "base/barrier_callback.h"
  #include "base/check_op.h"
  #include "base/containers/contains.h"
@@ -41,7 +41,7 @@
  #include "base/feature_list.h"
  #include "base/format_macros.h"
  #include "base/functional/bind.h"
-@@ -306,6 +307,15 @@ AutocompleteController::AutocompleteCont
+@@ -334,6 +335,15 @@ AutocompleteController::AutocompleteCont
        steady_state_omnibox_position_(
            metrics::OmniboxEventProto::UNKNOWN_POSITION) {
    provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
@@ -79,7 +79,7 @@
  #include "base/feature_list.h"
  #include "base/functional/bind.h"
  #include "base/functional/callback.h"
-@@ -649,6 +650,9 @@ void SearchProvider::Run(bool query_is_p
+@@ -650,6 +651,9 @@ void SearchProvider::Run(bool query_is_p
  }
  
  void SearchProvider::DoHistoryQuery(bool minimal_changes) {

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

@@ -80,7 +80,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
-@@ -1622,6 +1630,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1634,6 +1642,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -89,7 +89,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1773,6 +1783,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1785,6 +1795,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {
@@ -101,7 +101,7 @@
      return true;
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -761,6 +761,8 @@ class TemplateURLService : public WebDat
+@@ -768,6 +768,8 @@ class TemplateURLService : public WebDat
    // ---------- Browser state related members ---------------------------------
    raw_ptr<PrefService> prefs_ = nullptr;
  

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

@@ -8,7 +8,7 @@
  #include "base/debug/alias.h"
  #include "base/functional/bind.h"
  #include "base/i18n/rtl.h"
-@@ -684,6 +685,8 @@ void Tab::OnGestureEvent(ui::GestureEven
+@@ -685,6 +686,8 @@ void Tab::OnGestureEvent(ui::GestureEven
  }
  
  std::u16string Tab::GetTooltipText(const gfx::Point& p) const {
@@ -27,7 +27,7 @@
  #include "base/compiler_specific.h"
  #include "base/containers/adapters.h"
  #include "base/containers/contains.h"
-@@ -1648,6 +1649,8 @@ void TabStrip::OnMouseEventInTab(views::
+@@ -1669,6 +1670,8 @@ void TabStrip::OnMouseEventInTab(views::
  }
  
  void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) {

+ 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
-@@ -1369,7 +1369,8 @@ void BrowserCommandController::InitComma
+@@ -1392,7 +1392,8 @@ void BrowserCommandController::InitComma
    command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS,
                                          normal_window);
  
@@ -48,7 +48,7 @@
 +  if (browser && browser->is_type_normal() &&
 +      !base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) {
      tab_search_container = std::make_unique<TabSearchContainer>(
-         tab_strip_, render_tab_search_before_tab_strip_);
+         tab_strip_->controller(), render_tab_search_before_tab_strip_, this);
      tab_search_container->SetProperty(views::kCrossAxisAlignmentKey,
 --- a/chrome/browser/ungoogled_flag_entries.h
 +++ b/chrome/browser/ungoogled_flag_entries.h

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

@@ -54,17 +54,6 @@
                              BrowsingDataRemoverObserver::Create(
                                  remover, /*filterable_deletion=*/true, profile_,
                                  keep_browser_alive));
---- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc
-+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc
-@@ -46,6 +46,8 @@ std::unique_ptr<KeyedService>
- ChromeBrowsingDataLifetimeManagerFactory::BuildServiceInstanceForBrowserContext(
-     content::BrowserContext* context) const {
-   if (!base::FeatureList::IsEnabled(
-+          browsing_data::features::kClearDataOnExit) &&
-+      !base::FeatureList::IsEnabled(
-           browsing_data::features::kEnableBrowsingDataLifetimeManager))
-     return nullptr;
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
 --- a/chrome/browser/ungoogled_flag_entries.h
 +++ b/chrome/browser/ungoogled_flag_entries.h
 @@ -56,4 +56,8 @@

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

@@ -8,7 +8,7 @@
  #include "base/containers/adapters.h"
  #include "base/containers/contains.h"
  #include "base/containers/flat_map.h"
-@@ -1893,6 +1894,10 @@ void TabStripModel::CloseTabs(base::span
+@@ -1910,6 +1911,10 @@ void TabStripModel::CloseTabs(base::span
      return;
    }
  

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

@@ -8,10 +8,10 @@
  #include <memory>
  
 +#include "base/command_line.h"
- #include "chrome/browser/chrome_notification_types.h"
  #include "chrome/browser/extensions/crx_installer.h"
  #include "chrome/browser/extensions/extension_install_prompt.h"
-@@ -102,6 +103,14 @@ scoped_refptr<extensions::CrxInstaller>
+ #include "chrome/browser/extensions/extension_management.h"
+@@ -101,6 +102,14 @@ scoped_refptr<extensions::CrxInstaller>
    return installer;
  }
  
@@ -26,7 +26,7 @@
  bool IsExtensionDownload(const DownloadItem& download_item) {
    if (download_item.GetTargetDisposition() ==
        DownloadItem::TARGET_DISPOSITION_PROMPT)
-@@ -110,7 +119,7 @@ bool IsExtensionDownload(const DownloadI
+@@ -109,7 +118,7 @@ bool IsExtensionDownload(const DownloadI
    if (download_item.GetMimeType() == extensions::Extension::kMimeType ||
        extensions::UserScript::IsURLUserScript(download_item.GetURL(),
                                                download_item.GetMimeType())) {
@@ -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
-@@ -1189,10 +1189,12 @@ DownloadConfirmationReason DownloadTarge
+@@ -1187,10 +1187,12 @@ DownloadConfirmationReason DownloadTarge
      return DownloadConfirmationReason::SAVE_AS;
  
  #if BUILDFLAG(ENABLE_EXTENSIONS)

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

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

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

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/ui/startup/infobar_utils.cc
 +++ b/chrome/browser/ui/startup/infobar_utils.cc
-@@ -110,7 +110,8 @@ void AddInfoBarsIfNecessary(Browser* bro
+@@ -117,7 +117,8 @@ void AddInfoBarsIfNecessary(Browser* bro
      return;
  
    // Web apps should not display the session restore bubble (crbug.com/1264121)

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

@@ -16,7 +16,7 @@
  #include "components/feature_engagement/public/event_constants.h"
  #include "content/public/browser/web_contents.h"
  #include "extensions/common/extension_features.h"
-@@ -364,6 +366,17 @@ void ExtensionsToolbarContainer::AnchorA
+@@ -367,6 +369,17 @@ void ExtensionsToolbarContainer::AnchorA
    widget->widget_delegate()->AsBubbleDialogDelegate()->SetAnchorView(
        anchor_view && anchor_view->GetVisible() ? anchor_view
                                                 : GetExtensionsButton());
@@ -34,7 +34,7 @@
    widget->Show();
  }
  
-@@ -908,6 +921,9 @@ void ExtensionsToolbarContainer::UpdateC
+@@ -913,6 +926,9 @@ void ExtensionsToolbarContainer::UpdateC
  }
  
  bool ExtensionsToolbarContainer::ShouldContainerBeVisible() const {

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/frame/browser_view.cc
 +++ b/chrome/browser/ui/views/frame/browser_view.cc
-@@ -1868,6 +1868,10 @@ void BrowserView::UpdateExclusiveAccessE
+@@ -1901,6 +1901,10 @@ void BrowserView::UpdateExclusiveAccessE
      ExclusiveAccessBubbleHideCallback bubble_first_hide_callback,
      bool notify_download,
      bool force_update) {

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

@@ -1,15 +1,15 @@
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -375,7 +375,8 @@ void ToolbarView::Init() {
+@@ -446,7 +446,8 @@ void ToolbarView::Init() {
+     send_tab_to_self_button_ =
+         container_view_->AddChildView(std::move(send_tab_to_self_button));
  
-   std::unique_ptr<SidePanelToolbarButton> side_panel_button;
-   std::unique_ptr<SidePanelToolbarContainer> side_panel_toolbar_container;
--  if (browser_view_->unified_side_panel()) {
-+  if (browser_view_->unified_side_panel() &&
+-  if (!base::FeatureList::IsEnabled(features::kSidePanelPinning)) {
++  if (!base::FeatureList::IsEnabled(features::kSidePanelPinning) &&
 +      !base::CommandLine::ForCurrentProcess()->HasSwitch("hide-sidepanel-button")) {
-     if (base::FeatureList::IsEnabled(features::kSidePanelPinning)) {
-       // TODO(b:299463334): Use the new SidePanelContainer which supports
-       // ActionItems
+     if (companion::IsCompanionFeatureEnabled()) {
+       side_panel_container_ = container_view_->AddChildView(
+           std::make_unique<SidePanelToolbarContainer>(browser_view_));
 --- a/chrome/browser/ungoogled_flag_entries.h
 +++ b/chrome/browser/ungoogled_flag_entries.h
 @@ -100,4 +100,8 @@

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

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

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

@@ -1,8 +1,8 @@
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -469,6 +469,17 @@ void ToolbarView::Init() {
+@@ -470,6 +470,17 @@ void ToolbarView::Init() {
  #elif BUILDFLAG(IS_CHROMEOS_LACROS)
-   show_avatar_toolbar_button = !profiles::IsManagedGuestSession();
+   show_avatar_toolbar_button = !chromeos::IsManagedGuestSession();
  #endif
 +
 +  const std::string sab_value = base::CommandLine::ForCurrentProcess()->
@@ -17,7 +17,7 @@
 +
    avatar_->SetVisible(show_avatar_toolbar_button);
  
-   if (base::FeatureList::IsEnabled(features::kResponsiveToolbar)) {
+ #if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
 --- a/chrome/browser/ungoogled_flag_choices.h
 +++ b/chrome/browser/ungoogled_flag_choices.h
 @@ -13,4 +13,16 @@ const FeatureEntry::Choice kExtensionHan

+ 1 - 1
patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -4091,10 +4091,12 @@ const FeatureEntry::FeatureVariation kWe
+@@ -4060,10 +4060,12 @@ const flags_ui::FeatureEntry::FeatureVar
  #include "chrome/browser/ungoogled_flag_choices.h"
  #include "chrome/browser/bromite_flag_choices.h"
  #include "chrome/browser/ungoogled_platform_flag_choices.h"

+ 10 - 10
patches/extra/ungoogled-chromium/add-flags-for-referrer-customization.patch

@@ -28,17 +28,17 @@
      "search/instant_mojom_traits.h",
      "search/instant_types.cc",
      "search/instant_types.h",
-@@ -261,6 +263,7 @@ static_library("common_lib") {
+@@ -260,6 +262,7 @@ static_library("common_lib") {
      "//components/no_state_prefetch/common",
      "//components/no_state_prefetch/common:mojo_bindings",
      "//components/page_load_metrics/common:common",
 +    "//services/network/public/mojom",
    ]
  
-   if (enable_supervised_users) {
+   if (is_android || enable_library_cdms) {
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -981,6 +981,14 @@ BASE_FEATURE(kNewFilesPolicyUX,
+@@ -999,6 +999,14 @@ BASE_FEATURE(kNewFilesPolicyUX,
  // referrers instead of their ordinary behavior.
  BASE_FEATURE(kNoReferrers, "NoReferrers", base::FEATURE_DISABLED_BY_DEFAULT);
  
@@ -55,7 +55,7 @@
  // on-screen until dismissed, they are instead shown for a very long time.
 --- a/chrome/common/chrome_features.h
 +++ b/chrome/common/chrome_features.h
-@@ -561,6 +561,10 @@ BASE_DECLARE_FEATURE(kNewFilesPolicyUX);
+@@ -576,6 +576,10 @@ BASE_DECLARE_FEATURE(kNewFilesPolicyUX);
  
  COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kNoReferrers);
  
@@ -152,7 +152,7 @@
 +#endif  // CHROME_COMMON_REFERRER_SANITIZER_H_
 --- a/chrome/test/chromedriver/BUILD.gn
 +++ b/chrome/test/chromedriver/BUILD.gn
-@@ -341,8 +341,7 @@ source_set("lib") {
+@@ -350,8 +350,7 @@ source_set("lib") {
      "//base/third_party/dynamic_annotations",
      "//build:branding_buildflags",
      "//build:chromeos_buildflags",
@@ -173,7 +173,7 @@
    disallowed_extension_deps_ = [
      # Components should largely not depend on //extensions. Since // extensions
      # is not a component target and is linked with //chrome, depending on most
-@@ -804,7 +804,7 @@ test("components_unittests") {
+@@ -810,7 +810,7 @@ test("components_unittests") {
    # On other platforms, no components should depend on Chrome.
    # Since //chrome depends on //extensions, we also only assert_no_deps on
    # extensions targets for non-lacros builds.
@@ -182,7 +182,7 @@
      assert_no_deps = [ "//chrome/*" ]
      assert_no_deps += disallowed_extension_deps_
    }
-@@ -1090,7 +1090,7 @@ if (use_blink) {
+@@ -1098,7 +1098,7 @@ if (use_blink) {
      # dependency. On other platforms, no components should depend on Chrome.
      # Since //chrome depends on //extensions, we also only assert_no_deps on
      # extensions targets for non-lacros builds.
@@ -201,7 +201,7 @@
  #include "content/browser/blob_storage/chrome_blob_storage_context.h"
  #include "content/browser/browsing_topics/header_util.h"
  #include "content/browser/child_process_security_policy_impl.h"
-@@ -388,10 +389,10 @@ void AddAdditionalRequestHeaders(
+@@ -389,10 +390,10 @@ void AddAdditionalRequestHeaders(
        net::HttpRequestHeaders::kUserAgent,
        ComputeUserAgentValue(*headers, user_agent_override, browser_context));
  
@@ -226,7 +226,7 @@
  #include "content/common/associated_interfaces.mojom.h"
  #include "content/common/content_navigation_policy.h"
  #include "content/common/content_switches_internal.h"
-@@ -4305,10 +4306,13 @@ void RenderFrameImpl::WillSendRequestInt
+@@ -4420,10 +4421,13 @@ void RenderFrameImpl::WillSendRequestInt
  
    request.SetHasUserGesture(frame_->HasTransientUserActivation());
  
@@ -246,7 +246,7 @@
  void RenderFrameImpl::DidLoadResourceFromMemoryCache(
 --- a/content/shell/BUILD.gn
 +++ b/content/shell/BUILD.gn
-@@ -279,6 +279,7 @@ static_library("content_shell_lib") {
+@@ -282,6 +282,7 @@ static_library("content_shell_lib") {
      "//base/third_party/dynamic_annotations",
      "//build:chromeos_buildflags",
      "//cc/base",

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

@@ -35,7 +35,7 @@
  // https://vasilvv.github.io/httpbis-alps/draft-vvv-httpbis-alps.html.
 --- a/net/dns/host_resolver_manager.cc
 +++ b/net/dns/host_resolver_manager.cc
-@@ -158,11 +158,6 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -159,11 +159,6 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  

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

@@ -90,7 +90,7 @@
    }
 --- 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
-@@ -31,6 +31,7 @@ export interface SearchEngine {
+@@ -32,6 +32,7 @@ export interface SearchEngine {
    name: string;
    shouldConfirmDeletion: boolean;
    url: string;
@@ -98,7 +98,7 @@
    urlLocked: boolean;
  }
  
-@@ -73,7 +74,7 @@ export interface SearchEnginesBrowserPro
+@@ -94,7 +95,7 @@ export interface SearchEnginesBrowserPro
    searchEngineEditCancelled(): void;
  
    searchEngineEditCompleted(
@@ -107,7 +107,7 @@
  
    getSearchEnginesList(): Promise<SearchEnginesInfo>;
  
-@@ -114,11 +115,12 @@ export class SearchEnginesBrowserProxyIm
+@@ -136,11 +137,12 @@ export class SearchEnginesBrowserProxyIm
    }
  
    searchEngineEditCompleted(
@@ -333,7 +333,7 @@
    void ReloadIcon(size_t index);
 --- a/chrome/browser/ui/webui/settings/search_engines_handler.cc
 +++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc
-@@ -42,6 +42,7 @@ namespace {
+@@ -46,6 +46,7 @@ namespace {
  const char kSearchEngineField[] = "searchEngine";
  const char kKeywordField[] = "keyword";
  const char kQueryUrlField[] = "queryUrl";
@@ -341,7 +341,7 @@
  
  // Dummy number used for indicating that a new search engine is added.
  const int kNewSearchEngineIndex = -1;
-@@ -218,6 +219,8 @@ base::Value::Dict SearchEnginesHandler::
+@@ -221,6 +222,8 @@ base::Value::Dict SearchEnginesHandler::
    Profile* profile = Profile::FromWebUI(web_ui());
    dict.Set("url",
             template_url->url_ref().DisplayURL(UIThreadSearchTermsData()));
@@ -350,7 +350,7 @@
    dict.Set("urlLocked", ((template_url->prepopulate_id() > 0) ||
                           (template_url->starter_pack_id() > 0)));
    GURL icon_url = template_url->favicon_url();
-@@ -325,12 +328,14 @@ void SearchEnginesHandler::HandleSearchE
+@@ -357,12 +360,14 @@ void SearchEnginesHandler::HandleSearchE
  void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
                                             const std::u16string& title,
                                             const std::u16string& keyword,
@@ -368,7 +368,7 @@
  
    edit_controller_.reset();
  }
-@@ -358,6 +363,8 @@ bool SearchEnginesHandler::CheckFieldVal
+@@ -390,6 +395,8 @@ bool SearchEnginesHandler::CheckFieldVal
      is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
    else if (field_name.compare(kQueryUrlField) == 0)
      is_valid = edit_controller_->IsURLValid(field_value);
@@ -377,7 +377,7 @@
    else
      NOTREACHED();
  
-@@ -377,18 +384,21 @@ void SearchEnginesHandler::HandleSearchE
+@@ -409,18 +416,21 @@ void SearchEnginesHandler::HandleSearchE
    if (!edit_controller_.get())
      return;
  
@@ -414,7 +414,7 @@
  
    // SettingsPageUIHandler implementation.
    void RegisterMessages() override;
-@@ -73,8 +74,8 @@ class SearchEnginesHandler : public Sett
+@@ -75,8 +76,8 @@ class SearchEnginesHandler : public Sett
    // to WebUI. Called from WebUI.
    void HandleValidateSearchEngineInput(const base::Value::List& args);
  
@@ -427,7 +427,7 @@
  
 --- a/components/search_engines/template_url_service.cc
 +++ b/components/search_engines/template_url_service.cc
-@@ -629,7 +629,8 @@ void TemplateURLService::IncrementUsageC
+@@ -636,7 +636,8 @@ void TemplateURLService::IncrementUsageC
  void TemplateURLService::ResetTemplateURL(TemplateURL* url,
                                            const std::u16string& title,
                                            const std::u16string& keyword,
@@ -437,7 +437,7 @@
    DCHECK(!IsCreatedByExtension(url));
    DCHECK(!keyword.empty());
    DCHECK(!search_url.empty());
-@@ -644,6 +645,7 @@ void TemplateURLService::ResetTemplateUR
+@@ -651,6 +652,7 @@ void TemplateURLService::ResetTemplateUR
    data.safe_for_autoreplace = false;
    data.last_modified = clock_->Now();
    data.is_active = TemplateURLData::ActiveStatus::kTrue;

+ 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
-@@ -4087,7 +4087,13 @@ const FeatureEntry::FeatureVariation kWe
+@@ -4056,7 +4056,13 @@ const flags_ui::FeatureEntry::FeatureVar
  // calculate and verify checksum.
  //
  // When adding a new choice, add it to the end of the list.

+ 1 - 1
patches/extra/ungoogled-chromium/disable-capture-all-screens.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/media/webrtc/capture_policy_utils.cc
 +++ b/chrome/browser/media/webrtc/capture_policy_utils.cc
-@@ -139,69 +139,12 @@ void RegisterProfilePrefs(PrefRegistrySi
+@@ -140,69 +140,12 @@ void RegisterProfilePrefs(PrefRegistrySi
  }
  
  bool IsGetAllScreensMediaAllowedForAnySite(content::BrowserContext* context) {

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

@@ -142,7 +142,7 @@
  }  // namespace download
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -93,7 +93,6 @@ source_set("browser") {
+@@ -95,7 +95,6 @@ source_set("browser") {
      "//components/payments/mojom",
      "//components/power_monitor",
      "//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
-@@ -3822,8 +3822,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3816,8 +3816,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_RENDERER))));
          }
@@ -13,7 +13,7 @@
        }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-@@ -3837,8 +3836,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3831,8 +3830,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
-@@ -1351,7 +1351,7 @@ BASE_FEATURE(kPrefetchFontLookupTables,
+@@ -1406,7 +1406,7 @@ BASE_FEATURE(kPrefetchFontLookupTables,
  // crbug.com/988956.
  BASE_FEATURE(kPrefetchPrivacyChanges,
               "PrefetchPrivacyChanges",

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

@@ -2,18 +2,19 @@
 
 --- a/chrome/browser/ui/browser_commands.cc
 +++ b/chrome/browser/ui/browser_commands.cc
-@@ -524,10 +524,6 @@ int GetContentRestrictions(const Browser
+@@ -532,11 +532,6 @@ int GetContentRestrictions(const Browser
      CoreTabHelper* core_tab_helper =
          CoreTabHelper::FromWebContents(current_tab);
      content_restrictions = core_tab_helper->content_restrictions();
 -    NavigationEntry* last_committed_entry =
 -        current_tab->GetController().GetLastCommittedEntry();
--    if (!content::IsSavableURL(last_committed_entry->GetURL()))
+-    if (!content::IsSavableURL(last_committed_entry->GetURL())) {
 -      content_restrictions |= CONTENT_RESTRICTION_SAVE;
+-    }
    }
    return content_restrictions;
  }
-@@ -1614,8 +1610,7 @@ bool CanSavePage(const Browser* browser)
+@@ -1648,8 +1643,7 @@ bool CanSavePage(const Browser* browser)
        DownloadPrefs::DownloadRestriction::ALL_FILES) {
      return false;
    }

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

@@ -15,7 +15,7 @@
    reserved_grab_handle_space_ =
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -1862,8 +1862,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -1902,8 +1902,6 @@ void TabStrip::NewTabButtonPressed(const
  
      const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
      if (mouse.IsOnlyMiddleMouseButton()) {
@@ -24,7 +24,7 @@
          ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
          CHECK(clipboard);
          std::u16string clipboard_text;
-@@ -1871,7 +1869,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -1911,7 +1909,6 @@ void TabStrip::NewTabButtonPressed(const
                              /* data_dst = */ nullptr, &clipboard_text);
          if (!clipboard_text.empty())
            controller_->CreateNewTabWithLocation(clipboard_text);

+ 3 - 3
patches/extra/ungoogled-chromium/first-run-page.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_browser_main.cc
 +++ b/chrome/browser/chrome_browser_main.cc
-@@ -1037,6 +1037,7 @@ int ChromeBrowserMainParts::PreCreateThr
+@@ -1038,6 +1038,7 @@ int ChromeBrowserMainParts::PreCreateThr
    if (first_run::IsChromeFirstRun()) {
      if (!base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kApp) &&
          !base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kAppId)) {
@@ -18,7 +18,7 @@
  #include "chrome/browser/ui/webui/usb_internals/usb_internals_ui.h"
  #include "chrome/browser/ui/webui/user_actions/user_actions_ui.h"
  #include "chrome/browser/ui/webui/version/version_ui.h"
-@@ -889,6 +890,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
+@@ -891,6 +892,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
    }
  #endif
  
@@ -174,7 +174,7 @@
 +#endif  // CHROME_BROWSER_UI_WEBUI_UNGOOGLED_FIRST_RUN_H_
 --- a/chrome/common/webui_url_constants.cc
 +++ b/chrome/common/webui_url_constants.cc
-@@ -666,6 +666,7 @@ const char kExtensionConfigureCommandsSu
+@@ -680,6 +680,7 @@ const char kExtensionConfigureCommandsSu
  // Add hosts here to be included in chrome://chrome-urls (about:about).
  // These hosts will also be suggested by BuiltinProvider.
  const char* const kChromeHostURLs[] = {

+ 0 - 15
patches/extra/ungoogled-chromium/prepopulated-search-engines.patch

@@ -1,10 +1,6 @@
 ## template_url_prepopulate_data.cc
 # Adds DDG to the default search engines.
 #
-## util.cc
-# Only snyc the prepoulated search engines when initializing the database.
-# Prevents search engines from being overridden in future updates.
-#
 --- a/components/search_engines/template_url_prepopulate_data.cc
 +++ b/components/search_engines/template_url_prepopulate_data.cc
 @@ -59,6 +59,7 @@ constexpr EngineAndTier engines_default[
@@ -15,14 +11,3 @@
  };
  
  // Note, the below entries are sorted by country code, not the name in comment.
---- a/components/search_engines/util.cc
-+++ b/components/search_engines/util.cc
-@@ -524,7 +524,7 @@ void GetSearchProvidersUsingLoadedEngine
- 
-   const int prepopulate_resource_keyword_version =
-       TemplateURLPrepopulateData::GetDataVersion(prefs);
--  if (*resource_keyword_version < prepopulate_resource_keyword_version) {
-+  if (*resource_keyword_version == 0) {
-     MergeEnginesFromPrepopulateData(service, &prepopulated_urls, template_urls,
-                                     default_search_provider,
-                                     removed_keyword_guids);

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

@@ -291,18 +291,18 @@
 -    </cr-link-row>
 --- a/chrome/browser/resources/settings/search_page/search_page.html
 +++ b/chrome/browser/resources/settings/search_page/search_page.html
-@@ -12,11 +12,6 @@
-     <div class="cr-row first">
-       <div id="searchExplanation" class="flex cr-padded-text">
-         $i18n{searchExplanation}
--        <a href="$i18n{searchExplanationLearnMoreURL}"
--            aria-label="$i18n{searchExplanationLearnMoreA11yLabel}"
--            target="_blank">
--          $i18n{learnMore}
--        </a>
-       </div>
-       <template is="dom-if" if="[[isDefaultSearchControlledByPolicy_(
-           prefs.default_search_provider_data.template_url_data)]]">
+@@ -36,11 +36,6 @@
+           $i18n{searchPageTitle}
+           <div class="secondary">
+             $i18n{searchEngineChoiceEntryPointSubtitle}
+-            <a href="$i18n{searchExplanationLearnMoreURL}"
+-                aria-label="$i18n{searchExplanationLearnMoreA11yLabel}"
+-                target="_blank">
+-              $i18n{learnMore}
+-            </a>
+           </div>
+           <template is="dom-if" if="[[isDefaultSearchControlledByPolicy_(
+               prefs.default_search_provider_data.template_url_data)]]">
 --- a/chrome/browser/resources/settings/settings_page/settings_subpage.html
 +++ b/chrome/browser/resources/settings/settings_page/settings_subpage.html
 @@ -91,7 +91,7 @@
@@ -316,7 +316,7 @@
          </cr-icon-button>
 --- a/chrome/browser/ui/toolbar/app_menu_model.cc
 +++ b/chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -707,19 +707,9 @@ void ExtensionsMenuModel::Build(Browser*
+@@ -723,19 +723,9 @@ void ExtensionsMenuModel::Build(Browser*
    SetElementIdentifierAt(
        GetIndexOfCommandId(IDC_EXTENSIONS_SUBMENU_MANAGE_EXTENSIONS).value(),
        kManageExtensionsMenuItem);
@@ -338,7 +338,7 @@
  
 --- a/chrome/browser/ui/views/profiles/profile_menu_view.cc
 +++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc
-@@ -166,6 +166,7 @@ void ProfileMenuView::BuildMenu() {
+@@ -172,6 +172,7 @@ void ProfileMenuView::BuildMenu() {
  }
  
  gfx::ImageSkia ProfileMenuView::GetSyncIcon() const {
@@ -346,19 +346,23 @@
    Profile* profile = browser()->profile();
    if (profile->IsOffTheRecord() || profile->IsGuestSession())
      return gfx::ImageSkia();
-@@ -503,8 +504,7 @@ void ProfileMenuView::BuildIdentity() {
+@@ -517,12 +518,7 @@ void ProfileMenuView::BuildIdentity() {
+         ui::ImageModel::FromImage(account_info.account_image), menu_title_,
          menu_subtitle_);
    } else {
-     menu_title_ = std::u16string();
--    menu_subtitle_ =
--        l10n_util::GetStringUTF16(IDS_PROFILES_LOCAL_PROFILE_STATE);
-+    menu_subtitle_ = std::u16string();
+-    if (base::FeatureList::IsEnabled(switches::kUnoDesktop) &&
+-        account.IsEmpty()) {
+-      account_info =
+-          signin_ui_util::GetSingleAccountForPromos(identity_manager);
+-    }
+-    menu_title_ = l10n_util::GetStringUTF16(IDS_PROFILES_LOCAL_PROFILE_STATE);
++    menu_title_ = std::u16string();
+     // The email may be empty.
+     menu_subtitle_ = base::UTF8ToUTF16(account_info.email);
      SetProfileIdentityInfo(
-         profile_name, background_color, edit_button_params,
-         ui::ImageModel::FromImage(
 --- a/chrome/browser/ui/views/sad_tab_view.cc
 +++ b/chrome/browser/ui/views/sad_tab_view.cc
-@@ -552,9 +552,6 @@ SadTabView::SadTabView(content::WebConte
+@@ -555,9 +555,6 @@ SadTabView::SadTabView(content::WebConte
    auto* actions_container =
        container->AddChildView(std::make_unique<views::FlexLayoutView>());
    actions_container->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
@@ -368,7 +372,7 @@
    action_button_ =
        actions_container->AddChildView(std::make_unique<views::MdTextButton>(
            base::BindRepeating(&SadTabView::PerformAction,
-@@ -642,22 +639,6 @@ void SadTabView::AttachToWebView() {
+@@ -645,22 +642,6 @@ void SadTabView::AttachToWebView() {
    }
  }
  
@@ -393,7 +397,7 @@
    // Specify the maximum message and title width explicitly.
 --- a/media/base/media_switches.cc
 +++ b/media/base/media_switches.cc
-@@ -923,7 +923,7 @@ const base::FeatureParam<std::string> kM
+@@ -913,7 +913,7 @@ const base::FeatureParam<std::string> kM
  #endif  // BUILDFLAG(IS_WIN)
  
  // Enables the Live Caption feature on supported devices.

+ 24 - 4
pruning.list

@@ -76,6 +76,7 @@ chrome/credential_provider/eventlog/gcp_eventlog_messages.mc
 chrome/installer/linux/debian/repo_signing_keys.gpg
 chrome/installer/test/data/SETUP.EX_
 chrome/services/cups_proxy/test/data/basic_handshake.bin
+chrome/test/enterprise/e2e/connector/common/demo_agent/agent.zip
 chrome/test/media_router/resources/bigbuck.webm
 chrome/updater/test/data/ChromiumMSI/{c28fcf72-bcf2-45c5-8def-31a74ac02012}.1.0.0.0/TestSystemMsiInstaller.msi
 chrome/updater/test/data/ChromiumMSI/{c28fcf72-bcf2-45c5-8def-31a74ac02012}.2.0.0.0/TestSystemMsiInstaller.msi
@@ -101,7 +102,6 @@ chrome/updater/test/data/tagged_msi/GUH-size-greater-than-max.msi
 chrome/updater/test/data/tagged_msi/GUH-special-value.msi
 chrome/updater/test/data/tagged_msi/GUH-untagged.msi
 chrome/updater/test/data/test_installer/Testapp2Setup.exe
-chromeos/ash/components/device_activity/testing/private_computing_service_test_data.binarypb
 chromeos/ash/components/report/device_metrics/testing/preserved_file_test_data.binarypb
 chromeos/test/data/smart_dim/20181115_example_preprocessor_config.pb
 components/cbor/reader_fuzzer_corpus/cbor0
@@ -1293,6 +1293,7 @@ net/data/ssl/certificates/crlset_by_root_spki.raw
 net/data/ssl/certificates/crlset_by_root_subject.raw
 net/data/ssl/certificates/crlset_by_root_subject_no_spki.raw
 net/data/ssl/certificates/crlset_known_interception_by_root.raw
+net/data/ssl/certificates/cronet-quic-leaf-cert.key
 net/data/ssl/certificates/duplicate_cn_1.p12
 net/data/ssl/certificates/duplicate_cn_2.p12
 net/data/ssl/certificates/foaf.me.chromium-test-cert.der
@@ -7027,6 +7028,7 @@ third_party/boringssl/src/pki/testdata/ssl/certificates/crlset_by_root_spki.raw
 third_party/boringssl/src/pki/testdata/ssl/certificates/crlset_by_root_subject.raw
 third_party/boringssl/src/pki/testdata/ssl/certificates/crlset_by_root_subject_no_spki.raw
 third_party/boringssl/src/pki/testdata/ssl/certificates/crlset_known_interception_by_root.raw
+third_party/boringssl/src/pki/testdata/ssl/certificates/cronet-quic-leaf-cert.key
 third_party/boringssl/src/pki/testdata/ssl/certificates/duplicate_cn_1.p12
 third_party/boringssl/src/pki/testdata/ssl/certificates/duplicate_cn_2.p12
 third_party/boringssl/src/pki/testdata/ssl/certificates/foaf.me.chromium-test-cert.der
@@ -7798,6 +7800,7 @@ third_party/dawn/third_party/dxc/tools/clang/test/Preprocessor/Inputs/headermap-
 third_party/dawn/third_party/dxc/tools/clang/test/Profile/Inputs/c-general.profdata.v1
 third_party/dawn/third_party/gn/dxc/win_build_output/mc/include/dxc/Tracing/dxcetw/dxcetwTEMP.BIN
 third_party/dawn/third_party/gn/dxc/win_build_output/mc/include/dxc/Tracing/dxcetw/dxcetw_MSG00001.bin
+third_party/dawn/third_party/gn/webgpu-cts/cache.tar.gz
 third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/SGI/cubemap.sho
 third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/SGI/imaging_pipeline.sho
 third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_AMS-Regular.eot
@@ -7887,6 +7890,7 @@ third_party/devtools-frontend/src/test/unittests/fixtures/traces/large-recalc-st
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/lcp-images.json.gz
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/lcp-web-font.json.gz
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/load-simple.json.gz
+third_party/devtools-frontend/src/test/unittests/fixtures/traces/mainWasm_profile.json.gz
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/many-requests.json.gz
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/missing-process-data.json.gz
 third_party/devtools-frontend/src/test/unittests/fixtures/traces/missing-tracing-start.json.gz
@@ -7936,6 +7940,8 @@ third_party/flatbuffers/src/net/FlatBuffers/flatbuffers.snk
 third_party/flatbuffers/src/samples/monster.bfbs
 third_party/flatbuffers/src/tests/64bit/test_64bit.bfbs
 third_party/flatbuffers/src/tests/64bit/test_64bit.bin
+third_party/flatbuffers/src/tests/alignment_test_after_fix.bin
+third_party/flatbuffers/src/tests/alignment_test_before_fix.bin
 third_party/flatbuffers/src/tests/annotated_binary/annotated_binary.bfbs
 third_party/flatbuffers/src/tests/annotated_binary/annotated_binary.bin
 third_party/flatbuffers/src/tests/annotated_binary/tests/invalid_root_offset.bin
@@ -10280,6 +10286,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5668491560747008
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5681465586352128
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5686960406659072
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5692635449524224
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5703524300357632
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5712313459146752
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-draw-fuzzer-5750654771658752
@@ -10320,9 +10327,14 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6595199411159040
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6624904746106880
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6723367514144768
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-repacker-fuzzer-4579249263345664
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-repacker-fuzzer-4877513265119232
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-repacker-fuzzer-6490945267564544
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-repacker-fuzzer-6697168080338944
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-4523349576908800
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-4787105656864768
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5061207689134080
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5114131137822720
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5138182937772032
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5154718402215936
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5158673602314240
@@ -10398,6 +10410,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-6635625931735040
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4549472192692224
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4549523149553664
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4552226966994944
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4575222591520768
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4681956043390976
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4801020053291008
@@ -10409,6 +10422,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4961171477233664
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-4979711393005568
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5001604901240832
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5029952234586112
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5041767803125760
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5067936541179904
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5072358514753536
@@ -10425,6 +10439,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5169035432165376
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5179935334465536
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5181909018345472
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5191907895279616
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5192684970311680
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5205038086094848
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5206191479455744
@@ -10441,8 +10456,10 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5416421032067072
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5417800474165248
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5417934246772736
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5419002026131456
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5422577634377728
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5443213648330752
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5458896606855168
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5521982557782016
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5522792714993664
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5542653037903872
@@ -10534,6 +10551,7 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5765071062958080
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5768186323009536
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5793182905663488
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5842152921628672
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5844352760152064
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5845846876356608
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5855710991482880.fuzz
@@ -10543,9 +10561,11 @@ third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5927551890096128
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5965777994907648
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5991762219892736
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6032126569742336
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6164014466203648
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6169920089227264
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6173520787800064
+third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6187272924692480
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6231212713312256
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6241118484955136
 third_party/harfbuzz-ng/src/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6246465148813312
@@ -14992,7 +15012,6 @@ third_party/tflite/src/third_party/icu/data/icu_conversion_data.c.gz.ade
 third_party/tflite/src/third_party/icu/data/icu_conversion_data.c.gz.adf
 third_party/tflite/src/third_party/icu/data/icu_conversion_data.c.gz.adg
 third_party/tflite/src/third_party/icu/data/icu_conversion_data.c.gz.adh
-third_party/tflite/src/third_party/xla/xla/mlir/tools/mlir_bisect/tests/snapshot.mlir.pb
 third_party/tflite_support/src/tensorflow_lite_support/acceleration/configuration/testdata/mobilenet_v1_1.0_224_quant.tflite
 third_party/tflite_support/src/tensorflow_lite_support/acceleration/configuration/testdata/mobilenet_v1_1.0_224_quant_edgetpu.tflite
 third_party/tflite_support/src/tensorflow_lite_support/custom_ops/kernel/sentencepiece/testdata/sentencepiece.model
@@ -15125,8 +15144,9 @@ third_party/vulkan-deps/vulkan-loader/src/tests/framework/data/binaries/dummy_li
 third_party/vulkan-deps/vulkan-loader/src/tests/framework/data/binaries/libdummy_library_elf_32.so
 third_party/vulkan-deps/vulkan-loader/src/tests/framework/data/binaries/libdummy_library_elf_64.so
 third_party/vulkan-deps/vulkan-tools/src/vulkaninfo/iOS/vulkaninfo.xcodeproj/project.xcworkspace/xcuserdata/lunarg.xcuserdatad/UserInterfaceState.xcuserstate
-third_party/vulkan_memory_allocator/build/src/Release/VmaSample.exe
-third_party/vulkan_memory_allocator/build/src/VmaReplay/Release/VmaReplay.exe
+third_party/vulkan_memory_allocator/bin/Shader.frag.spv
+third_party/vulkan_memory_allocator/bin/Shader.vert.spv
+third_party/vulkan_memory_allocator/bin/VmaSample_Release_vs2019.exe
 third_party/wayland-protocols/gtk/demos/gtk-demo/gtk-logo.webm
 third_party/wayland-protocols/gtk/demos/gtk-demo/ucdnames.data
 third_party/wayland-protocols/gtk/demos/widget-factory/gtk-logo.webm

+ 16 - 11
utils/clone.py

@@ -226,17 +226,22 @@ def clone(args):
             (args.output / 'v8' / 'test' / 'torque' / 'test-torque.tq'),
         )
         keep_suffix = ('.gn', '.gni', '.grd', '.gyp', '.isolate', '.pydeps')
-        for path in remove_dirs:
-            for file in path.rglob('*'):
-                if file.is_file():
-                    if file not in keep_files and file.suffix not in keep_suffix:
-                        try:
-                            file.unlink()
-                        # read-only files can't be deleted on Windows
-                        # so remove the flag and try again.
-                        except PermissionError:
-                            file.chmod(S_IWRITE)
-                            file.unlink()
+        for remove_dir in remove_dirs:
+            for path in sorted(remove_dir.rglob('*'), key=lambda l: len(str(l)), reverse=True):
+                if path.is_file() and path not in keep_files and path.suffix not in keep_suffix:
+                    try:
+                        path.unlink()
+                    # read-only files can't be deleted on Windows
+                    # so remove the flag and try again.
+                    except PermissionError:
+                        path.chmod(S_IWRITE)
+                        path.unlink()
+                elif path.is_dir() and not any(path.iterdir()):
+                    try:
+                        path.rmdir()
+                    except PermissionError:
+                        path.chmod(S_IWRITE)
+                        path.rmdir()
         for path in sorted(args.output.rglob('*'), key=lambda l: len(str(l)), reverse=True):
             if not path.is_symlink() and '.git' not in path.parts:
                 if path.is_file() and ('out' in path.parts or path.name.startswith('ChangeLog')):

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