Browse Source

Merge pull request #1524 from Ahrotahn/update

Update to Chromium 91.0.4472.77
Eloston 3 years ago
parent
commit
6802c883c7
66 changed files with 1058 additions and 882 deletions
  1. 1 1
      chromium_version.txt
  2. 230 130
      domain_substitution.list
  3. 43 0
      patches/core/chromium-upstream/fix-crash-in-ThemeService.patch
  4. 61 48
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  5. 12 3
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  6. 3 3
      patches/core/inox-patchset/0005-disable-default-extensions.patch
  7. 1 1
      patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch
  8. 1 1
      patches/core/inox-patchset/0015-disable-update-pings.patch
  9. 2 2
      patches/core/inox-patchset/0021-disable-rlz.patch
  10. 34 44
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  11. 2 2
      patches/core/iridium-browser/safe_browsing-disable-incident-reporting.patch
  12. 5 5
      patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
  13. 1 1
      patches/core/ungoogled-chromium/block-requests.patch
  14. 8 8
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  15. 1 1
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  16. 2 2
      patches/core/ungoogled-chromium/disable-gcm.patch
  17. 4 4
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  18. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  19. 1 1
      patches/core/ungoogled-chromium/disable-profile-avatar-downloading.patch
  20. 2 2
      patches/core/ungoogled-chromium/disable-signin.patch
  21. 1 1
      patches/core/ungoogled-chromium/disable-webstore-urls.patch
  22. 13 0
      patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch
  23. 12 13
      patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch
  24. 5 5
      patches/core/ungoogled-chromium/fix-building-without-one-click-signin.patch
  25. 152 133
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  26. 176 166
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  27. 3 3
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  28. 0 16
      patches/core/ungoogled-chromium/use-local-devtools-files.patch
  29. 21 21
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  30. 8 8
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  31. 6 6
      patches/extra/bromite/flag-max-connections-per-host.patch
  32. 1 1
      patches/extra/debian/disable/google-api-warning.patch
  33. 1 1
      patches/extra/debian/disable/welcome-page.patch
  34. 1 1
      patches/extra/debian/gn/parallel.patch
  35. 6 6
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  36. 3 3
      patches/extra/inox-patchset/0008-restore-classic-ntp.patch
  37. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  38. 1 1
      patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
  39. 1 1
      patches/extra/iridium-browser/updater-disable-auto-update.patch
  40. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch
  41. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  42. 12 11
      patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch
  43. 11 11
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  44. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  45. 6 6
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  46. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch
  47. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
  48. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
  49. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
  50. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
  51. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  52. 8 8
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  53. 73 74
      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-dial-repeating-discovery.patch
  56. 25 49
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  57. 1 1
      patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch
  58. 2 2
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  59. 1 1
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  60. 2 2
      patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
  61. 2 2
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  62. 3 3
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  63. 13 13
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  64. 8 8
      patches/extra/ungoogled-chromium/searx.patch
  65. 2 1
      patches/series
  66. 44 25
      pruning.list

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-90.0.4430.212
+91.0.4472.77

File diff suppressed because it is too large
+ 230 - 130
domain_substitution.list


+ 43 - 0
patches/core/chromium-upstream/fix-crash-in-ThemeService.patch

@@ -0,0 +1,43 @@
+From c2d0133f47afb59b4ce64e42215d1d053f15250a Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Tue, 13 Apr 2021 23:21:42 +0000
+Subject: [PATCH] fix crash in ThemeService
+
+ThemeSyncableService and ThemeService are owned by each other. On
+destruction of ThemeService, ThemeSyncableService gets destructed as
+well, but calls RemoveObserver of partly destructed ThemeService object.
+To avoid already destructed |observers_| list, move it before
+|theme_syncable_service_| definition.
+
+Bug: 1190561
+Change-Id: I4dc2c990d589071d97b7fa737afef54463c84751
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821311
+Commit-Queue: Peter Kasting <pkasting@chromium.org>
+Reviewed-by: Peter Kasting <pkasting@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#872164}
+---
+
+diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
+index 592d40a..337dfac9 100644
+--- a/chrome/browser/themes/theme_service.h
++++ b/chrome/browser/themes/theme_service.h
+@@ -299,6 +299,10 @@
+   // The number of infobars currently displayed.
+   int number_of_reinstallers_ = 0;
+ 
++  // Declared before |theme_syncable_service_|, because ThemeSyncableService
++  // removes itself from the |observers_| list on destruction.
++  base::ObserverList<ThemeServiceObserver> observers_;
++
+   std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
+ 
+ #if BUILDFLAG(ENABLE_EXTENSIONS)
+@@ -320,8 +324,6 @@
+   ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
+       native_theme_observer_{this};
+ 
+-  base::ObserverList<ThemeServiceObserver> observers_;
+-
+   base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
+ 
+   DISALLOW_COPY_AND_ASSIGN(ThemeService);

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -3540,8 +3540,6 @@ static_library("browser") {
+@@ -3511,8 +3511,6 @@ static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -51,7 +51,7 @@
    network_time_tracker_.reset();
  #if BUILDFLAG(ENABLE_PLUGINS)
    plugins_resource_service_.reset();
-@@ -968,14 +965,6 @@ StatusTray* BrowserProcessImpl::status_t
+@@ -972,14 +969,6 @@ StatusTray* BrowserProcessImpl::status_t
    return status_tray_.get();
  }
  
@@ -66,7 +66,7 @@
  subresource_filter::RulesetService*
  BrowserProcessImpl::subresource_filter_ruleset_service() {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1225,26 +1214,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1229,26 +1218,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -115,15 +115,15 @@
        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
-@@ -72,7 +72,6 @@
- #include "chrome/browser/privacy_sandbox/privacy_sandbox_settings.h"
- #include "chrome/browser/privacy_sandbox/privacy_sandbox_settings_factory.h"
+@@ -70,7 +70,6 @@
  #include "chrome/browser/profiles/profile.h"
+ #include "chrome/browser/profiles/profile_keep_alive_types.h"
+ #include "chrome/browser/profiles/scoped_profile_keep_alive.h"
 -#include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/search_engines/template_url_service_factory.h"
  #include "chrome/browser/spellchecker/spellcheck_factory.h"
  #include "chrome/browser/spellchecker/spellcheck_service.h"
-@@ -668,10 +667,6 @@ void ChromeBrowsingDataRemoverDelegate::
+@@ -663,10 +662,6 @@ void ChromeBrowsingDataRemoverDelegate::
      base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
  
      network::mojom::NetworkContext* safe_browsing_context = nullptr;
@@ -136,7 +136,7 @@
          delete_begin, delete_end, filter_builder, host_content_settings_map_,
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -958,30 +958,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -1011,30 +1011,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -167,7 +167,7 @@
  #if BUILDFLAG(ENABLE_EXTENSIONS)
  
  AppLoadedInTabSource ClassifyAppLoadedInTabSource(
-@@ -1403,7 +1379,6 @@ void ChromeContentBrowserClient::PostAft
+@@ -1462,7 +1438,6 @@ void ChromeContentBrowserClient::PostAft
    InitNetworkContextsParentDirectory();
  
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -175,7 +175,7 @@
  }
  
  bool ChromeContentBrowserClient::IsBrowserStartupComplete() {
-@@ -4110,7 +4085,7 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4196,7 +4171,7 @@ ChromeContentBrowserClient::CreateThrott
        base::BindRepeating(&MaybeTriggerSecurityInterstitialShownEvent));
    throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
        handle,
@@ -184,7 +184,7 @@
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp),
        base::BindOnce(
            &TypedNavigationUpgradeThrottle::
-@@ -4132,9 +4107,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4224,9 +4199,6 @@ ChromeContentBrowserClient::CreateThrott
                     &throttles);
  #endif
  
@@ -219,7 +219,7 @@
  }  // namespace
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -394,13 +394,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
+@@ -392,13 +392,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
  
  void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
    download_manager_ = dm;
@@ -233,7 +233,7 @@
  }
  
  #if defined(OS_ANDROID)
-@@ -741,16 +734,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -746,16 +739,6 @@ void ChromeDownloadManagerDelegate::Choo
  
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename) {
@@ -252,7 +252,7 @@
  void ChromeDownloadManagerDelegate::SanitizeDownloadParameters(
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -81,7 +81,7 @@ class DownloadItemModelData : public bas
+@@ -82,7 +82,7 @@ class DownloadItemModelData : public bas
  
    // Danger level of the file determined based on the file type and whether
    // there was a user action associated with the download.
@@ -261,7 +261,7 @@
  
    // Whether the download is currently being revived.
    bool is_being_revived_;
-@@ -118,7 +118,7 @@ DownloadItemModelData::DownloadItemModel
+@@ -119,7 +119,7 @@ DownloadItemModelData::DownloadItemModel
      : should_show_in_shelf_(true),
        was_ui_notified_(false),
        should_prefer_opening_in_browser_(false),
@@ -375,7 +375,7 @@
  void DownloadTargetDeterminer::OnDownloadDestroyed(
 --- a/chrome/browser/extensions/api/downloads/downloads_api.cc
 +++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
-@@ -38,7 +38,6 @@
+@@ -36,7 +36,6 @@
  #include "chrome/browser/browser_process.h"
  #include "chrome/browser/download/download_core_service.h"
  #include "chrome/browser/download/download_core_service_factory.h"
@@ -383,7 +383,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"
-@@ -1307,9 +1306,6 @@ DownloadsAcceptDangerFunction::Downloads
+@@ -1301,9 +1300,6 @@ DownloadsAcceptDangerFunction::Downloads
  
  DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
  
@@ -393,7 +393,7 @@
  ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() {
    std::unique_ptr<downloads::AcceptDanger::Params> params(
        downloads::AcceptDanger::Params::Create(*args_));
-@@ -1347,41 +1343,7 @@ void DownloadsAcceptDangerFunction::Prom
+@@ -1341,41 +1337,7 @@ void DownloadsAcceptDangerFunction::Prom
      return;
    }
    RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -440,7 +440,7 @@
 +++ b/chrome/browser/extensions/api/downloads/downloads_api.h
 @@ -13,7 +13,6 @@
  #include "base/macros.h"
- #include "base/scoped_observer.h"
+ #include "base/scoped_observation.h"
  #include "base/time/time.h"
 -#include "chrome/browser/download/download_danger_prompt.h"
  #include "chrome/common/extensions/api/downloads.h"
@@ -515,11 +515,30 @@
            referrer_entries)));
 --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
 +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
-@@ -1041,51 +1041,9 @@ WebstorePrivateGetReferrerChainFunction:
+@@ -675,18 +675,6 @@ void WebstorePrivateBeginInstallWithMani
+ 
+ void WebstorePrivateBeginInstallWithManifest3Function::
+     ReportFrictionAcceptedEvent() {
+-  if (!profile_) {
+-    return;
+-  }
+-  auto* metrics_collector =
+-      safe_browsing::SafeBrowsingMetricsCollectorFactory::GetForProfile(
+-          profile_);
+-  // `metrics_collector` can be null in incognito.
+-  if (metrics_collector) {
+-    metrics_collector->AddSafeBrowsingEventToPref(
+-        safe_browsing::SafeBrowsingMetricsCollector::EventType::
+-            EXTENSION_ALLOWLIST_INSTALL_BYPASS);
+-  }
+ }
+ 
+ void WebstorePrivateBeginInstallWithManifest3Function::OnInstallPromptDone(
+@@ -1180,51 +1168,9 @@ WebstorePrivateGetReferrerChainFunction:
  
  ExtensionFunction::ResponseAction
  WebstorePrivateGetReferrerChainFunction::Run() {
--  Profile* profile = chrome_details_.GetProfile();
+-  Profile* profile = Profile::FromBrowserContext(browser_context());
 -  if (!SafeBrowsingNavigationObserverManager::IsEnabledAndReady(profile))
 -    return RespondNow(ArgumentList(
 -        api::webstore_private::GetReferrerChain::Results::Create("")));
@@ -650,7 +669,7 @@
    // SimpleURLLoader -> (owned loader, extension id).
 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
 +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -796,9 +796,6 @@ void ChromeMetricsServiceClient::Registe
+@@ -800,9 +800,6 @@ void ChromeMetricsServiceClient::Registe
    metrics_service_->RegisterMetricsProvider(
        std::make_unique<HttpsEngagementMetricsProvider>());
  
@@ -674,7 +693,7 @@
  // static
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -272,7 +272,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -277,7 +277,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if BUILDFLAG(IS_CHROMEOS_LACROS)
    CertDbInitializerFactory::GetInstance();
  #endif
@@ -684,7 +703,7 @@
  #endif
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -93,7 +93,6 @@
+@@ -91,7 +91,6 @@
  #include "chrome/browser/profiles/profile_metrics.h"
  #include "chrome/browser/push_messaging/push_messaging_service_factory.h"
  #include "chrome/browser/push_messaging/push_messaging_service_impl.h"
@@ -692,7 +711,7 @@
  #include "chrome/browser/sharing/sharing_service_factory.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
  #include "chrome/browser/signin/signin_ui_util.h"
-@@ -629,17 +628,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -650,17 +649,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -712,15 +731,15 @@
        CreatePrefService(pref_registry_, CreateExtensionPrefStore(this, false),
 --- a/chrome/browser/profiles/profiles_state.cc
 +++ b/chrome/browser/profiles/profiles_state.cc
-@@ -249,9 +249,6 @@ void RemoveBrowsingDataForProfile(const
+@@ -319,9 +319,6 @@ void RemoveBrowsingDataForProfile(const
    // The BrowsingDataRemover relies on many objects that aren't created in unit
    // tests. Previously this code would depend on content::ResourceDispatcherHost
    // but that's gone, so do a similar hack for now.
 -  if (!g_browser_process->safe_browsing_service())
 -    return;
 -
-   Profile* profile = g_browser_process->profile_manager()->GetProfileByPath(
-       profile_path);
+   Profile* profile =
+       g_browser_process->profile_manager()->GetProfileByPath(profile_path);
    if (!profile)
 --- a/chrome/browser/safe_browsing/BUILD.gn
 +++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -732,7 +751,7 @@
    sources = [
      "chrome_controller_client.cc",
      "chrome_controller_client.h",
-@@ -82,6 +83,7 @@ static_library("safe_browsing") {
+@@ -84,6 +85,7 @@ static_library("safe_browsing") {
        "//extensions/browser",
      ]
    }
@@ -740,7 +759,7 @@
  
    if (safe_browsing_mode != 0) {
      # "Safe Browsing Basic" files used for safe browsing in full mode
-@@ -388,6 +390,7 @@ static_library("advanced_protection") {
+@@ -392,6 +394,7 @@ static_library("advanced_protection") {
  }
  
  source_set("metrics_collector") {
@@ -748,7 +767,7 @@
    sources = [
      "safe_browsing_metrics_collector.cc",
      "safe_browsing_metrics_collector.h",
-@@ -405,6 +408,7 @@ source_set("metrics_collector") {
+@@ -409,6 +412,7 @@ source_set("metrics_collector") {
      "//components/safe_browsing/core/common:safe_browsing_prefs",
      "//content/public/browser",
    ]
@@ -758,7 +777,7 @@
  source_set("test_support") {
 --- a/chrome/browser/ssl/security_state_tab_helper.cc
 +++ b/chrome/browser/ssl/security_state_tab_helper.cc
-@@ -257,92 +257,6 @@ bool SecurityStateTabHelper::UsedPolicyI
+@@ -205,88 +205,6 @@ bool SecurityStateTabHelper::UsedPolicyI
  
  security_state::MaliciousContentStatus
  SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -797,10 +816,8 @@
 -          return security_state::
 -              MALICIOUS_CONTENT_STATUS_SIGNED_IN_SYNC_PASSWORD_REUSE;
 -        }
--        // If user has already changed Gaia password, returns the regular
--        // social engineering content status.
--        return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
 -#endif
+-        FALLTHROUGH;
 -      case safe_browsing::SB_THREAT_TYPE_SIGNED_IN_NON_SYNC_PASSWORD_REUSE:
 -#if BUILDFLAG(FULL_SAFE_BROWSING)
 -        if (safe_browsing::ChromePasswordProtectionService::
@@ -809,10 +826,8 @@
 -          return security_state::
 -              MALICIOUS_CONTENT_STATUS_SIGNED_IN_NON_SYNC_PASSWORD_REUSE;
 -        }
--        // If user has already changed Gaia password, returns the regular
--        // social engineering content status.
--        return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
 -#endif
+-        FALLTHROUGH;
 -      case safe_browsing::SB_THREAT_TYPE_ENTERPRISE_PASSWORD_REUSE:
 -#if BUILDFLAG(FULL_SAFE_BROWSING)
 -        if (safe_browsing::ChromePasswordProtectionService::
@@ -821,10 +836,10 @@
 -          return security_state::
 -              MALICIOUS_CONTENT_STATUS_ENTERPRISE_PASSWORD_REUSE;
 -        }
--        // If user has already changed Gaia password, returns the regular
--        // social engineering content status.
--        return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
 -#endif
+-        // If user has already changed password or FULL_SAFE_BROWSING isn't
+-        // enabled, returns the regular social engineering content status.
+-        return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
 -      case safe_browsing::SB_THREAT_TYPE_BILLING:
 -        return security_state::MALICIOUS_CONTENT_STATUS_BILLING;
 -      case safe_browsing::
@@ -853,7 +868,7 @@
  
 --- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
 +++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
-@@ -57,10 +57,7 @@ void ChromeSubresourceFilterClient::Show
+@@ -53,8 +53,5 @@ void ChromeSubresourceFilterClient::Show
  
  const scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager>
  ChromeSubresourceFilterClient::GetSafeBrowsingDatabaseManager() {
@@ -863,11 +878,9 @@
 -                               : nullptr;
 +  return nullptr;
  }
- 
- subresource_filter::ProfileInteractionManager*
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -3640,7 +3640,6 @@ static_library("ui") {
+@@ -3691,7 +3691,6 @@ static_library("ui") {
        "views/device_chooser_content_view.h",
        "views/devtools_process_observer.cc",
        "views/devtools_process_observer.h",
@@ -877,10 +890,10 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -317,11 +317,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -308,11 +308,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+   //     See https://crbug.com/910288.
    resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
        web_contents);
-   ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
 -  safe_browsing::SafeBrowsingNavigationObserver::MaybeCreateForWebContents(
 -      web_contents);
 -  safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
@@ -1153,7 +1166,7 @@
  #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
 --- a/components/security_interstitials/content/cert_report_helper.cc
 +++ b/components/security_interstitials/content/cert_report_helper.cc
-@@ -175,7 +175,6 @@ void CertReportHelper::FinishCertCollect
+@@ -178,7 +178,6 @@ void CertReportHelper::FinishCertCollect
      return;
    }
  

+ 12 - 3
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
-@@ -831,87 +831,6 @@ AutofillDownloadManager::GetRequestURLAn
+@@ -831,96 +831,6 @@ AutofillDownloadManager::GetRequestURLAn
  }
  
  bool AutofillDownloadManager::StartRequest(FormRequestData request_data) {
@@ -30,8 +30,17 @@
 -  // As it is shared, it is not trusted and we cannot assign trusted_params
 -  // to the network request.
 -#if !defined(OS_IOS)
--  resource_request->trusted_params = network::ResourceRequest::TrustedParams();
--  resource_request->trusted_params->isolation_info = driver_->IsolationInfo();
+-  // Do not call IsolationInfo() for REQUEST_UPLOADs because Password Manager
+-  // uploads when RenderFrameHostImpl::DidCommitNavigation() is called, in which
+-  // case IsolationInfo() may crash because there is no committing
+-  // NavigationRequest. This is safe because no information about the response
+-  // is passed to the renderer, or is otherwise visible to a page.
+-  // crbug/1176635#c22
+-  if (request_data.request_type != AutofillDownloadManager::REQUEST_UPLOAD) {
+-    resource_request->trusted_params =
+-        network::ResourceRequest::TrustedParams();
+-    resource_request->trusted_params->isolation_info = driver_->IsolationInfo();
+-  }
 -#endif
 -
 -  // Add Chrome experiment state to the request headers.

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

@@ -22,7 +22,7 @@
  }
  
  #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -526,18 +521,6 @@ void ComponentLoader::AddDefaultComponen
+@@ -527,18 +522,6 @@ void ComponentLoader::AddDefaultComponen
      AddHangoutServicesExtension();
  #endif  // BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
  
@@ -55,7 +55,7 @@
    {
 --- a/chrome/browser/extensions/webstore_installer.cc
 +++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -551,20 +551,6 @@ void WebstoreInstaller::DownloadNextPend
+@@ -556,20 +556,6 @@ void WebstoreInstaller::DownloadNextPend
  void WebstoreInstaller::DownloadCrx(
      const std::string& extension_id,
      InstallSource source) {
@@ -76,7 +76,7 @@
  }
  
  // http://crbug.com/165634
-@@ -709,21 +695,6 @@ void WebstoreInstaller::UpdateDownloadPr
+@@ -714,21 +700,6 @@ void WebstoreInstaller::UpdateDownloadPr
  void WebstoreInstaller::StartCrxInstaller(const DownloadItem& download) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
    DCHECK(!crx_installer_.get());

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

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

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

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

@@ -2,8 +2,8 @@
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -453,14 +453,6 @@ group("gn_all") {
-     ]
+@@ -459,14 +459,6 @@ group("gn_all") {
+     deps += [ "//chromeos:chromeos_unittests" ]
    }
  
 -  if (is_chromeos_ash || is_mac || is_win) {

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

@@ -90,15 +90,15 @@ by default.
  // creates and uses to publish OEM default apps to the extensions system.
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
-@@ -863,7 +863,7 @@ void FileManagerPrivateInternalGetDownlo
+@@ -858,7 +858,7 @@ void FileManagerPrivateInternalGetDownlo
    const CoreAccountId& account_id =
-       identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kNotRequired);
+       identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kSignin);
    std::vector<std::string> scopes;
 -  scopes.emplace_back("https://www.googleapis.com/auth/drive.readonly");
 +  scopes.emplace_back("trk:208:https://www.googleapis.com/auth/drive.readonly");
  
    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory =
-       content::BrowserContext::GetDefaultStoragePartition(
+       content::BrowserContext::GetDefaultStoragePartition(browser_context())
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
 @@ -81,7 +81,7 @@ namespace {
@@ -142,7 +142,7 @@ by default.
  // elements of |list| equals |hash|.
 --- a/chrome/browser/extensions/install_signer.cc
 +++ b/chrome/browser/extensions/install_signer.cc
-@@ -65,7 +65,7 @@ const int kSignatureFormatVersion = 2;
+@@ -67,7 +67,7 @@ const int kSignatureFormatVersion = 2;
  const size_t kSaltBytes = 32;
  
  const char kBackendUrl[] =
@@ -175,7 +175,7 @@ by default.
                                ? upload_url_for_testing_
 --- a/chrome/browser/nacl_host/nacl_infobar_delegate.cc
 +++ b/chrome/browser/nacl_host/nacl_infobar_delegate.cc
-@@ -32,7 +32,7 @@ base::string16 NaClInfoBarDelegate::GetL
+@@ -32,7 +32,7 @@ std::u16string NaClInfoBarDelegate::GetL
  }
  
  GURL NaClInfoBarDelegate::GetLinkURL() const {
@@ -183,10 +183,10 @@ by default.
 +  return GURL("trk:143:https://support.google.com/chrome/?p=ib_nacl");
  }
  
- base::string16 NaClInfoBarDelegate::GetMessageText() const {
+ std::u16string NaClInfoBarDelegate::GetMessageText() const {
 --- a/chrome/browser/profiles/profile_avatar_downloader.cc
 +++ b/chrome/browser/profiles/profile_avatar_downloader.cc
-@@ -19,7 +19,7 @@
+@@ -20,7 +20,7 @@
  
  namespace {
  const char kHighResAvatarDownloadUrlPrefix[] =
@@ -275,7 +275,7 @@ by default.
  // The maximum number of ignored bubble we track in the NumLaterPerReinstall
 --- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
 +++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
-@@ -71,22 +71,22 @@ namespace {
+@@ -68,22 +68,22 @@ namespace {
  // The URL for the the Learn More page shown on incognito new tab.
  const char kLearnMoreIncognitoUrl[] =
  #if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -301,8 +301,8 @@ by default.
 -    "https://support.google.com/chrome/?p=ui_guest";
 +    "trk:261:https://support.google.com/chrome/?p=ui_guest";
  
- SkColor GetThemeColor(const ui::ThemeProvider& tp, int id) {
-   SkColor color = tp.GetColor(id);
+ std::string ReplaceTemplateExpressions(
+     const scoped_refptr<base::RefCountedMemory>& bytes,
 --- a/chrome/chrome_cleaner/components/recovery_component.cc
 +++ b/chrome/chrome_cleaner/components/recovery_component.cc
 @@ -37,7 +37,7 @@ namespace chrome_cleaner {
@@ -327,7 +327,7 @@ by default.
  bool g_is_connected_to_crash_handler = false;
 --- a/chrome/common/extensions/chrome_extensions_client.cc
 +++ b/chrome/common/extensions/chrome_extensions_client.cc
-@@ -44,9 +44,9 @@ namespace {
+@@ -45,9 +45,9 @@ namespace {
  
  // TODO(battre): Delete the HTTP URL once the blocklist is downloaded via HTTPS.
  const char kExtensionBlocklistUrlPrefix[] =
@@ -363,7 +363,7 @@ by default.
    if (url.is_valid() && url.has_scheme())
 --- a/chromecast/crash/linux/minidump_uploader.cc
 +++ b/chromecast/crash/linux/minidump_uploader.cc
-@@ -40,7 +40,7 @@ namespace {
+@@ -41,7 +41,7 @@ namespace {
  
  const char kProductName[] = "Eureka";
  
@@ -427,23 +427,9 @@ by default.
  
  constexpr char kProtoBufMimeType[] = "application/x-protobuf";
  
---- a/components/gcm_driver/gcm_account_tracker.cc
-+++ b/components/gcm_driver/gcm_account_tracker.cc
-@@ -27,9 +27,9 @@ namespace gcm {
- namespace {
- 
- // Scopes needed by the OAuth2 access tokens.
--const char kGCMGroupServerScope[] = "https://www.googleapis.com/auth/gcm";
-+const char kGCMGroupServerScope[] = "trk:230:https://www.googleapis.com/auth/gcm";
- const char kGCMCheckinServerScope[] =
--    "https://www.googleapis.com/auth/android_checkin";
-+    "trk:231:https://www.googleapis.com/auth/android_checkin";
- // Name of the GCM account tracker for fetching access tokens.
- const char kGCMAccountTrackerName[] = "gcm_account_tracker";
- // Minimum token validity when sending to GCM groups server.
 --- a/components/google/core/common/google_util.cc
 +++ b/components/google/core/common/google_util.cc
-@@ -140,7 +140,7 @@ bool IsGoogleSearchSubdomainUrl(const GU
+@@ -139,7 +139,7 @@ bool IsGoogleSearchSubdomainUrl(const GU
  
  // Global functions -----------------------------------------------------------
  
@@ -484,7 +470,7 @@ by default.
      "http://clientservices.googleapis.com/uma/v2";
 --- a/components/password_manager/core/browser/password_store.cc
 +++ b/components/password_manager/core/browser/password_store.cc
-@@ -297,10 +297,10 @@ void PasswordStore::GetLogins(const Form
+@@ -296,10 +296,10 @@ void PasswordStore::GetLogins(const Form
    // TODO(mdm): actually delete them at some point, say M24 or so.
    base::Time cutoff;  // the null time
    if (form.scheme == PasswordForm::Scheme::kHtml &&
@@ -501,15 +487,15 @@ by default.
      base::Time out_time;
 --- a/components/safe_browsing/content/browser/client_side_detection_service.cc
 +++ b/components/safe_browsing/content/browser/client_side_detection_service.cc
-@@ -53,7 +53,7 @@ const int ClientSideDetectionService::kN
+@@ -59,7 +59,7 @@ const int ClientSideDetectionService::kN
  const int ClientSideDetectionService::kPositiveCacheIntervalMinutes = 30;
  
  const char ClientSideDetectionService::kClientReportPhishingUrl[] =
 -    "https://sb-ssl.google.com/safebrowsing/clientreport/phishing";
 +    "trk:148:https://sb-ssl.google.com/safebrowsing/clientreport/phishing";
  
- struct ClientSideDetectionService::ClientPhishingReportInfo {
-   std::unique_ptr<network::SimpleURLLoader> loader;
+ constexpr char kAuthHeaderBearer[] = "Bearer ";
+ 
 --- a/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
 +++ b/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
 @@ -29,7 +29,7 @@ namespace safe_search_api {
@@ -566,7 +552,7 @@ by default.
      "http://clientservices.googleapis.com/chrome-variations/seed";
 --- a/content/browser/speech/speech_recognition_engine.cc
 +++ b/content/browser/speech/speech_recognition_engine.cc
-@@ -30,7 +30,7 @@ namespace content {
+@@ -31,7 +31,7 @@ namespace content {
  namespace {
  
  const char kWebServiceBaseUrl[] =
@@ -577,7 +563,7 @@ by default.
  
 --- a/content/browser/webauth/authenticator_common.cc
 +++ b/content/browser/webauth/authenticator_common.cc
-@@ -171,9 +171,9 @@ base::Optional<std::string> ProcessAppId
+@@ -178,9 +178,9 @@ base::Optional<std::string> ProcessAppId
    // special-case AppIDs. Firefox also does this:
    // https://groups.google.com/forum/#!msg/mozilla.dev.platform/Uiu3fwnA2xw/201ynAiPAQAJ
    const GURL kGstatic1 =
@@ -602,7 +588,7 @@ by default.
    GURL url(base::WideToUTF16(args[0]));
 --- a/extensions/common/extension_urls.cc
 +++ b/extensions/common/extension_urls.cc
-@@ -26,9 +26,9 @@ bool IsSourceFromAnExtension(const base:
+@@ -26,9 +26,9 @@ bool IsSourceFromAnExtension(const std::
  
  namespace extension_urls {
  
@@ -616,7 +602,7 @@ by default.
    extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
 --- a/google_apis/gaia/gaia_constants.cc
 +++ b/google_apis/gaia/gaia_constants.cc
-@@ -25,117 +25,117 @@ const char kSyncService[] = "chromiumsyn
+@@ -25,119 +25,119 @@ const char kSyncService[] = "chromiumsyn
  const char kRemotingService[] = "chromoting";
  
  // OAuth scopes.
@@ -727,7 +713,7 @@ by default.
 +    "trk:091:https://www.googleapis.com/auth/kid.permission";
  const char kKidFamilyReadonlyOAuth2Scope[] =
 -    "https://www.googleapis.com/auth/kid.family.readonly";
-+    "trk:092https://www.googleapis.com/auth/kid.family.readonly";
++    "trk:092:https://www.googleapis.com/auth/kid.family.readonly";
  
  // OAuth2 scope for access to payments.
  const char kPaymentsOAuth2Scope[] =
@@ -739,29 +725,33 @@ by default.
 +    "trk:094:https://www.googleapis.com/auth/cryptauth";
  
  // OAuth2 scope for access to Drive.
- const char kDriveOAuth2Scope[] = "https://www.googleapis.com/auth/drive";
+-const char kDriveOAuth2Scope[] = "https://www.googleapis.com/auth/drive";
++const char kDriveOAuth2Scope[] = "trk:095:https://www.googleapis.com/auth/drive";
  const char kDriveReadOnlyOAuth2Scope[] =
 -    "https://www.googleapis.com/auth/drive.readonly";
-+    "trk:095:https://www.googleapis.com/auth/drive.readonly";
++    "trk:096:https://www.googleapis.com/auth/drive.readonly";
  
  // OAuth2 scope for access to Assistant SDK.
  const char kAssistantOAuth2Scope[] =
 -    "https://www.googleapis.com/auth/assistant-sdk-prototype";
-+    "trk:096:https://www.googleapis.com/auth/assistant-sdk-prototype";
++    "trk:097:https://www.googleapis.com/auth/assistant-sdk-prototype";
  
  // OAuth2 scope for access to nearby sharing.
  const char kNearbyShareOAuth2Scope[] =
 -    "https://www.googleapis.com/auth/nearbysharing-pa";
-+    "trk:097:https://www.googleapis.com/auth/nearbysharing-pa";
++    "trk:098:https://www.googleapis.com/auth/nearbysharing-pa";
  
- // OAuth2 scope for access to GCM account tracker.
+ // OAuth2 scopes for access to GCM account tracker.
 -const char kGCMGroupServerOAuth2Scope[] = "https://www.googleapis.com/auth/gcm";
-+const char kGCMGroupServerOAuth2Scope[] = "trk:098:https://www.googleapis.com/auth/gcm";
++const char kGCMGroupServerOAuth2Scope[] = "trk:099:https://www.googleapis.com/auth/gcm";
+ const char kGCMCheckinServerOAuth2Scope[] =
+-    "https://www.googleapis.com/auth/android_checkin";
++    "trk:100:https://www.googleapis.com/auth/android_checkin";
  
  // OAuth2 scope for access to readonly Chrome web store.
  const char kChromeWebstoreOAuth2Scope[] =
 -    "https://www.googleapis.com/auth/chromewebstore.readonly";
-+    "trk:099:https://www.googleapis.com/auth/chromewebstore.readonly";
++    "trk:101:https://www.googleapis.com/auth/chromewebstore.readonly";
  
  // Used to mint uber auth tokens when needed.
  const char kGaiaSid[] = "sid";
@@ -823,7 +813,7 @@ by default.
  
 --- a/remoting/protocol/jingle_messages.cc
 +++ b/remoting/protocol/jingle_messages.cc
-@@ -25,7 +25,7 @@ const char kJabberNamespace[] = "jabber:
+@@ -27,7 +27,7 @@ const char kJabberNamespace[] = "jabber:
  const char kJingleNamespace[] = "urn:xmpp:jingle:1";
  
  // Namespace for transport messages when using standard ICE.

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

@@ -16,7 +16,7 @@ the URL so we get notified if this happens again in the future).
 
 --- a/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc
 +++ b/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc
-@@ -24,7 +24,7 @@ namespace safe_browsing {
+@@ -25,7 +25,7 @@ namespace safe_browsing {
  namespace {
  
  const char kSbIncidentReportUrl[] =
@@ -27,7 +27,7 @@ the URL so we get notified if this happens again in the future).
      kSafeBrowsingIncidentTrafficAnnotation =
 --- a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
 +++ b/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -303,11 +303,14 @@ IncidentReportingService::UploadContext:
+@@ -304,11 +304,14 @@ IncidentReportingService::UploadContext:
  
  // static
  bool IncidentReportingService::IsEnabledForProfile(Profile* profile) {

+ 5 - 5
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
-@@ -211,6 +211,10 @@ void ClientSideDetectionService::StartCl
+@@ -222,6 +222,10 @@ void ClientSideDetectionService::StartCl
      return;
    }
  
@@ -24,10 +24,10 @@ This prevents trk:148 (phishing) and trk:149 (malware).
    // Fill in metadata about which model we used.
    request->set_model_filename(model_loader_->name());
    *request->mutable_population() = delegate_->GetUserPopulation();
-@@ -275,6 +279,7 @@ void ClientSideDetectionService::StartCl
- 
-   // Record that we made a request
-   AddPhishingReport(base::Time::Now());
+@@ -303,6 +307,7 @@ void ClientSideDetectionService::StartCl
+       base::BindOnce(&WebUIInfoSingleton::AddToClientPhishingRequestsSent,
+                      base::Unretained(WebUIInfoSingleton::GetInstance()),
+                      std::move(request), access_token));
 +#endif
  }
  

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

@@ -25,7 +25,7 @@
    collection_error_info_.ClearError();
 --- a/chrome/browser/search/one_google_bar/one_google_bar_loader_impl.cc
 +++ b/chrome/browser/search/one_google_bar/one_google_bar_loader_impl.cc
-@@ -285,6 +285,7 @@ OneGoogleBarLoaderImpl::OneGoogleBarLoad
+@@ -296,6 +296,7 @@ OneGoogleBarLoaderImpl::OneGoogleBarLoad
  OneGoogleBarLoaderImpl::~OneGoogleBarLoaderImpl() = default;
  
  void OneGoogleBarLoaderImpl::Load(OneGoogleCallback callback) {

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

@@ -35,7 +35,7 @@
      GURL rewritten_tab_url = tab_url;
 --- a/components/omnibox/browser/autocomplete_input.cc
 +++ b/components/omnibox/browser/autocomplete_input.cc
-@@ -552,7 +552,8 @@ void AutocompleteInput::ParseForEmphasiz
+@@ -525,7 +525,8 @@ void AutocompleteInput::ParseForEmphasiz
    // For the view-source and blob schemes, we should emphasize the host of the
    // URL qualified by the view-source or blob prefix.
    if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) ||
@@ -44,7 +44,7 @@
 +       base::LowerCaseEqualsASCII(scheme_str, url::kTraceScheme)) &&
        (static_cast<int>(text.length()) > after_scheme_and_colon)) {
      // Obtain the URL prefixed by view-source or blob and parse it.
-     base::string16 real_url(text.substr(after_scheme_and_colon));
+     std::u16string real_url(text.substr(after_scheme_and_colon));
 --- a/components/url_formatter/url_fixer.cc
 +++ b/components/url_formatter/url_fixer.cc
 @@ -562,6 +562,10 @@ GURL FixupURL(const std::string& text, c
@@ -60,7 +60,7 @@
      return GURL(parts.scheme.is_valid() ? text : FixupPath(text));
 --- a/content/browser/child_process_security_policy_impl.cc
 +++ b/content/browser/child_process_security_policy_impl.cc
-@@ -793,6 +793,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
+@@ -808,6 +808,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
  #endif  // BUILDFLAG(ENABLE_WEBSOCKETS)
    RegisterWebSafeScheme(url::kFtpScheme);
    RegisterWebSafeScheme(url::kDataScheme);
@@ -70,7 +70,7 @@
    // TODO(nick): https://crbug.com/651534 blob: and filesystem: schemes embed
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1075,6 +1075,8 @@ component("net") {
+@@ -1076,6 +1076,8 @@ component("net") {
        "url_request/report_sender.h",
        "url_request/static_http_user_agent_settings.cc",
        "url_request/static_http_user_agent_settings.h",
@@ -152,7 +152,7 @@
  #include "base/strings/utf_string_conversions.h"
  #include "base/synchronization/lock.h"
  #include "base/threading/thread_task_runner_handle.h"
-@@ -40,6 +41,7 @@
+@@ -41,6 +42,7 @@
  #include "net/url_request/url_request_redirect_job.h"
  #include "url/gurl.h"
  #include "url/origin.h"
@@ -160,7 +160,7 @@
  
  using base::Time;
  using std::string;
-@@ -575,6 +577,12 @@ URLRequest::URLRequest(const GURL& url,
+@@ -577,6 +579,12 @@ URLRequest::URLRequest(const GURL& url,
    // Sanity check out environment.
    DCHECK(base::ThreadTaskRunnerHandle::IsSet());
  
@@ -175,7 +175,7 @@
      return NetLogURLRequestConstructorParams(url, priority_,
 --- a/net/url_request/url_request_context_builder.cc
 +++ b/net/url_request/url_request_context_builder.cc
-@@ -44,6 +44,7 @@
+@@ -45,6 +45,7 @@
  #include "net/quic/quic_stream_factory.h"
  #include "net/ssl/ssl_config_service_defaults.h"
  #include "net/url_request/static_http_user_agent_settings.h"
@@ -183,7 +183,7 @@
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_storage.h"
  #include "net/url_request/url_request_job_factory.h"
-@@ -607,6 +608,9 @@ std::unique_ptr<URLRequestContext> URLRe
+@@ -608,6 +609,9 @@ std::unique_ptr<URLRequestContext> URLRe
    }
    protocol_handlers_.clear();
  

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

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

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

@@ -26,11 +26,11 @@
 -                                           device_checkin_info_.account_tokens,
 -                                           gservices_settings_.digest(),
 -                                           chrome_build_proto);
--  checkin_request_.reset(new CheckinRequest(
+-  checkin_request_ = std::make_unique<CheckinRequest>(
 -      gservices_settings_.GetCheckinURL(), request_info, GetGCMBackoffPolicy(),
 -      base::BindOnce(&GCMClientImpl::OnCheckinCompleted,
 -                     weak_ptr_factory_.GetWeakPtr()),
--      url_loader_factory_, io_task_runner_, &recorder_));
+-      url_loader_factory_, io_task_runner_, &recorder_);
 -  // Taking a snapshot of the accounts count here, as there might be an asynch
 -  // update of the account tokens while checkin is in progress.
 -  device_checkin_info_.SnapshotCheckinAccounts();

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

@@ -138,7 +138,7 @@
  #endif
 --- a/components/google/core/common/google_util.cc
 +++ b/components/google/core/common/google_util.cc
-@@ -33,109 +33,6 @@ namespace google_util {
+@@ -32,109 +32,6 @@ namespace google_util {
  
  namespace {
  
@@ -248,7 +248,7 @@
  }  // namespace
  
  // Global functions -----------------------------------------------------------
-@@ -143,12 +40,6 @@ bool IsGoogleSearchSubdomainUrl(const GU
+@@ -142,12 +39,6 @@ bool IsGoogleSearchSubdomainUrl(const GU
  const char kGoogleHomepageURL[] = "trk:113:https://www.google.com/";
  
  bool HasGoogleSearchQueryParam(base::StringPiece str) {
@@ -261,7 +261,7 @@
    return false;
  }
  
-@@ -159,161 +50,53 @@ std::string GetGoogleLocale(const std::s
+@@ -158,161 +49,53 @@ std::string GetGoogleLocale(const std::s
  
  GURL AppendGoogleLocaleParam(const GURL& url,
                               const std::string& application_locale) {
@@ -490,7 +490,7 @@
  bool IsGoogleHostname(const GURL& url) {
 --- a/components/search_engines/template_url.cc
 +++ b/components/search_engines/template_url.cc
-@@ -526,11 +526,7 @@ base::string16 TemplateURLRef::SearchTer
+@@ -526,11 +526,7 @@ std::u16string TemplateURLRef::SearchTer
  bool TemplateURLRef::HasGoogleBaseURLs(
      const SearchTermsData& search_terms_data) const {
    ParseIfNecessary(search_terms_data);

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -316,7 +316,6 @@ if (!is_android && !is_mac) {
+@@ -317,7 +317,6 @@ if (!is_android && !is_mac) {
      }
  
      data_deps += [
@@ -15,7 +15,7 @@
        "//third_party/widevine/cdm",
      ]
    }
-@@ -1045,7 +1044,6 @@ if (is_win) {
+@@ -1121,7 +1120,6 @@ if (is_win) {
        ":keystone_registration_framework",
        ":swiftshader_library",
        ":widevine_cdm_library",

+ 1 - 1
patches/core/ungoogled-chromium/disable-profile-avatar-downloading.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/profiles/profile_avatar_downloader.cc
 +++ b/chrome/browser/profiles/profile_avatar_downloader.cc
-@@ -26,8 +26,7 @@ ProfileAvatarDownloader::ProfileAvatarDo
+@@ -27,8 +27,7 @@ ProfileAvatarDownloader::ProfileAvatarDo
                                                   FetchCompleteCallback callback)
      : icon_index_(icon_index), callback_(std::move(callback)) {
    DCHECK(!callback_.is_null());

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/chrome_pages.cc
 +++ b/chrome/browser/ui/chrome_pages.cc
-@@ -494,32 +494,6 @@ GURL GetOSSettingsUrl(const std::string&
+@@ -479,32 +479,6 @@ GURL GetOSSettingsUrl(const std::string&
  void ShowBrowserSignin(Browser* browser,
                         signin_metrics::AccessPoint access_point,
                         signin::ConsentLevel consent_level) {
@@ -25,7 +25,7 @@
 -      case signin::ConsentLevel::kSync:
 -        bubble_view_mode = profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN;
 -        break;
--      case signin::ConsentLevel::kNotRequired:
+-      case signin::ConsentLevel::kSignin:
 -        bubble_view_mode = profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT;
 -        break;
 -    }

+ 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
-@@ -587,10 +587,6 @@ std::vector<url::Origin> ChromeContentBr
+@@ -588,10 +588,6 @@ std::vector<url::Origin> ChromeContentBr
      GetOriginsRequiringDedicatedProcess() {
    std::vector<url::Origin> list;
  

+ 13 - 0
patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch

@@ -0,0 +1,13 @@
+# Contains tests and features that are unneeded and would otherwise
+# require binaries to be whitelisted in the pruning list
+
+--- a/third_party/devtools-frontend/src/BUILD.gn
++++ b/third_party/devtools-frontend/src/BUILD.gn
+@@ -166,7 +166,6 @@ devtools_applications = [
+ devtools_frontend_resources_deps = [
+   ":build_release_devtools",
+   "front_end",
+-  "test",
+ ]
+ 
+ group("devtools_all_files") {

+ 12 - 13
patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch

@@ -1,6 +1,6 @@
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -1164,6 +1164,10 @@ source_set("browser") {
+@@ -1180,6 +1180,10 @@ source_set("browser") {
      "net/browser_online_state_observer.cc",
      "net/browser_online_state_observer.h",
      "net/cookie_store_factory.cc",
@@ -11,7 +11,7 @@
      "net/network_errors_listing_ui.cc",
      "net/network_errors_listing_ui.h",
      "net/network_quality_observer_impl.cc",
-@@ -2829,10 +2833,6 @@ source_set("browser") {
+@@ -2878,10 +2882,6 @@ source_set("browser") {
  
    if (enable_reporting) {
      sources += [
@@ -32,7 +32,7 @@
  #include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
  #include "services/network/public/cpp/features.h"
  #include "services/network/public/mojom/content_security_policy.mojom-blink.h"
-@@ -545,7 +546,9 @@ void LocalFrame::Trace(Visitor* visitor)
+@@ -553,7 +554,9 @@ void LocalFrame::Trace(Visitor* visitor)
    visitor->Trace(raw_system_clipboard_);
    visitor->Trace(virtual_keyboard_overlay_changed_observers_);
    visitor->Trace(pause_handle_receivers_);
@@ -42,7 +42,7 @@
  #if defined(OS_MAC)
    visitor->Trace(text_input_host_);
  #endif
-@@ -2261,6 +2264,7 @@ const base::UnguessableToken& LocalFrame
+@@ -2364,6 +2367,7 @@ const base::UnguessableToken& LocalFrame
    return base::UnguessableToken::Null();
  }
  
@@ -50,7 +50,7 @@
  mojom::blink::ReportingServiceProxy* LocalFrame::GetReportingService() {
    if (!reporting_service_.is_bound()) {
      GetBrowserInterfaceBroker().GetInterface(
-@@ -2269,6 +2273,7 @@ mojom::blink::ReportingServiceProxy* Loc
+@@ -2372,6 +2376,7 @@ mojom::blink::ReportingServiceProxy* Loc
    }
    return reporting_service_.get();
  }
@@ -68,7 +68,7 @@
  #include "third_party/blink/public/common/frame/payment_request_token.h"
  #include "third_party/blink/public/common/frame/transient_allow_fullscreen.h"
  #include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink.h"
-@@ -527,9 +528,9 @@ class CORE_EXPORT LocalFrame final
+@@ -537,9 +538,9 @@ class CORE_EXPORT LocalFrame final
    }
  
    SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -80,13 +80,12 @@
    // Returns the frame host ptr. The interface returned is backed by an
    // associated interface with the legacy Chrome IPC channel.
    mojom::blink::LocalFrameHost& GetLocalFrameHostRemote() const;
-@@ -926,9 +927,11 @@ class CORE_EXPORT LocalFrame final
+@@ -956,8 +957,10 @@ class CORE_EXPORT LocalFrame final
    // const methods.
    //
    // LocalFrame can be reused by multiple ExecutionContext.
 +#if BUILDFLAG(ENABLE_REPORTING)
-   mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy,
-                          HeapMojoWrapperMode::kWithoutContextObserver>
+   mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy>
        reporting_service_{nullptr};
 +#endif
  
@@ -145,10 +144,10 @@
 +#if BUILDFLAG(ENABLE_REPORTING)
    const String& type = report->type();
    if (!(type == ReportType::kCSPViolation || type == ReportType::kDeprecation ||
-         type == ReportType::kFeaturePolicyViolation ||
-@@ -227,6 +235,7 @@ void ReportingContext::SendToReportingAP
-         "Document policy violation", body->sourceFile(), line_number,
-         column_number);
+         type == ReportType::kPermissionsPolicyViolation ||
+@@ -226,6 +234,7 @@ void ReportingContext::SendToReportingAP
+         url, endpoint, body->featureId(), body->disposition(), body->message(),
+         body->sourceFile(), line_number, column_number);
    }
 +#endif
  }

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -4422,8 +4422,6 @@ static_library("ui") {
+@@ -4496,8 +4496,6 @@ static_library("ui") {
          "views/sync/dice_bubble_sync_promo_view.h",
          "views/sync/dice_signin_button_view.cc",
          "views/sync/dice_signin_button_view.h",
@@ -25,7 +25,7 @@
  }
 --- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
 +++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
-@@ -375,6 +375,7 @@ void InlineSigninHelper::OnClientOAuthSu
+@@ -359,6 +359,7 @@ void InlineSigninHelper::OnClientOAuthSu
      const ClientOAuthResult& result,
      Profile* /*profile*/,
      Profile::CreateStatus /*status*/) {
@@ -33,9 +33,9 @@
    HandlerSigninReason reason = GetHandlerSigninReason(current_url_);
    if (reason == HandlerSigninReason::FETCH_LST_ONLY) {
      // Constants are only available on Windows for the Google Credential
-@@ -465,6 +466,7 @@ void InlineSigninHelper::OnClientOAuthSu
-     CreateSyncStarter(result.refresh_token);
-   }
+@@ -419,6 +420,7 @@ void InlineSigninHelper::OnClientOAuthSu
+   CreateSyncStarter(result.refresh_token);
+ 
    base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
 +#endif
  }

+ 152 - 133
patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -4107,11 +4107,13 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4199,11 +4199,13 @@ ChromeContentBrowserClient::CreateThrott
                     &throttles);
  #endif
  
@@ -16,7 +16,7 @@
  
  // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
  // of lacros-chrome is complete.
-@@ -5317,26 +5319,7 @@ ChromeContentBrowserClient::GetSafeBrows
+@@ -5434,26 +5436,7 @@ ChromeContentBrowserClient::GetSafeBrows
      const std::vector<std::string>& allowlist_domains) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);
  
@@ -44,7 +44,7 @@
  }
  
  safe_browsing::RealTimeUrlLookupServiceBase*
-@@ -5357,11 +5340,6 @@ ChromeContentBrowserClient::GetUrlLookup
+@@ -5474,11 +5457,6 @@ ChromeContentBrowserClient::GetUrlLookup
          GetForProfile(profile);
    }
  #endif
@@ -106,15 +106,15 @@
  }  // namespace
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -131,7 +131,6 @@ using content::DownloadManager;
+@@ -128,7 +128,6 @@ using content::DownloadManager;
  using download::DownloadItem;
  using download::DownloadPathReservationTracker;
  using download::PathValidationResult;
 -using safe_browsing::DownloadFileType;
  using safe_browsing::DownloadProtectionService;
+ using ConnectionType = net::NetworkChangeNotifier::ConnectionType;
  
- namespace {
-@@ -1431,8 +1430,6 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -1423,8 +1422,6 @@ void ChromeDownloadManagerDelegate::OnDo
      if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
        DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
  #endif
@@ -141,7 +141,7 @@
  #include "content/public/browser/web_contents.h"
 --- a/chrome/browser/enterprise/connectors/connectors_service.cc
 +++ b/chrome/browser/enterprise/connectors/connectors_service.cc
-@@ -265,19 +265,6 @@ base::Optional<std::string> ConnectorsSe
+@@ -362,19 +362,6 @@ base::Optional<std::string> ConnectorsSe
    return base::nullopt;
  }
  
@@ -163,7 +163,7 @@
  }
 --- a/chrome/browser/enterprise/connectors/connectors_service.h
 +++ b/chrome/browser/enterprise/connectors/connectors_service.h
-@@ -13,7 +13,6 @@
+@@ -14,7 +14,6 @@
  #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
  #include "components/keyed_service/core/keyed_service.h"
  #include "components/policy/core/common/policy_types.h"
@@ -171,7 +171,7 @@
  #include "content/public/browser/browser_context.h"
  
  namespace base {
-@@ -73,12 +72,6 @@ class ConnectorsService : public KeyedSe
+@@ -74,12 +73,6 @@ class ConnectorsService : public KeyedSe
    // is no token to use.
    base::Optional<std::string> GetDMTokenForRealTimeUrlCheck() const;
  
@@ -184,9 +184,9 @@
    // Testing functions.
    ConnectorsManager* ConnectorsManagerForTesting();
  
---- a/chrome/browser/extensions/api/enterprise_reporting_private/context_info_fetcher.cc
-+++ b/chrome/browser/extensions/api/enterprise_reporting_private/context_info_fetcher.cc
-@@ -49,7 +49,6 @@ void ContextInfoFetcher::Fetch(ContextIn
+--- a/chrome/browser/enterprise/signals/context_info_fetcher.cc
++++ b/chrome/browser/enterprise/signals/context_info_fetcher.cc
+@@ -53,7 +53,6 @@ void ContextInfoFetcher::Fetch(ContextIn
        GetAnalysisConnectorProviders(enterprise_connectors::FILE_DOWNLOADED);
    info.on_bulk_data_entry_providers =
        GetAnalysisConnectorProviders(enterprise_connectors::BULK_DATA_ENTRY);
@@ -194,28 +194,71 @@
    info.on_security_event_providers = GetOnSecurityEventProviders();
    info.browser_version = version_info::GetVersionNumber();
  
-@@ -91,18 +90,6 @@ std::vector<std::string> ContextInfoFetc
+@@ -79,11 +78,6 @@ std::vector<std::string> ContextInfoFetc
    return connectors_service_->GetAnalysisServiceProviderNames(connector);
  }
  
--api::enterprise_reporting_private::RealtimeUrlCheckMode
+-safe_browsing::EnterpriseRealTimeUrlCheckMode
 -ContextInfoFetcher::GetRealtimeUrlCheckMode() {
--  switch (connectors_service_->GetAppliedRealTimeUrlCheck()) {
--    case safe_browsing::REAL_TIME_CHECK_DISABLED:
--      return api::enterprise_reporting_private::
--          REALTIME_URL_CHECK_MODE_DISABLED;
--    case safe_browsing::REAL_TIME_CHECK_FOR_MAINFRAME_ENABLED:
--      return api::enterprise_reporting_private::
--          REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME;
--  }
+-  return connectors_service_->GetAppliedRealTimeUrlCheck();
 -}
 -
  std::vector<std::string> ContextInfoFetcher::GetOnSecurityEventProviders() {
    return connectors_service_->GetReportingServiceProviderNames(
        enterprise_connectors::ReportingConnector::SECURITY_EVENT);
+--- a/chrome/browser/enterprise/signals/context_info_fetcher.h
++++ b/chrome/browser/enterprise/signals/context_info_fetcher.h
+@@ -6,10 +6,10 @@
+ #define CHROME_BROWSER_ENTERPRISE_SIGNALS_CONTEXT_INFO_FETCHER_H_
+ 
+ #include <string>
++#include <memory>
+ #include <vector>
+ 
+ #include "base/callback_forward.h"
+-#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
+ 
+ namespace content {
+ class BrowserContext;
+@@ -35,7 +35,6 @@ struct ContextInfo {
+   std::vector<std::string> on_file_downloaded_providers;
+   std::vector<std::string> on_bulk_data_entry_providers;
+   std::vector<std::string> on_security_event_providers;
+-  safe_browsing::EnterpriseRealTimeUrlCheckMode realtime_url_check_mode;
+   std::string browser_version;
+ };
+ 
+@@ -76,7 +75,6 @@ class ContextInfoFetcher {
+   std::vector<std::string> GetAnalysisConnectorProviders(
+       enterprise_connectors::AnalysisConnector connector);
+ 
+-  safe_browsing::EnterpriseRealTimeUrlCheckMode GetRealtimeUrlCheckMode();
+ 
+   std::vector<std::string> GetOnSecurityEventProviders();
+ 
+--- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
++++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
+@@ -69,17 +69,8 @@ api::enterprise_reporting_private::Conte
+   info.on_file_downloaded_providers = signals.on_file_downloaded_providers;
+   info.on_bulk_data_entry_providers = signals.on_bulk_data_entry_providers;
+   info.on_security_event_providers = signals.on_security_event_providers;
+-  switch (signals.realtime_url_check_mode) {
+-    case safe_browsing::REAL_TIME_CHECK_DISABLED:
+       info.realtime_url_check_mode = extensions::api::
+           enterprise_reporting_private::REALTIME_URL_CHECK_MODE_DISABLED;
+-      break;
+-    case safe_browsing::REAL_TIME_CHECK_FOR_MAINFRAME_ENABLED:
+-      info.realtime_url_check_mode =
+-          extensions::api::enterprise_reporting_private::
+-              REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME;
+-      break;
+-  }
+   info.browser_version = signals.browser_version;
+ 
+   return info;
 --- a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc
 +++ b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc
-@@ -320,6 +320,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+@@ -305,6 +305,7 @@ void SafeBrowsingPrivateEventRouter::OnD
      event_router_->BroadcastEvent(std::move(extension_event));
    }
  
@@ -223,15 +266,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyDangerousDownloadEvent) == 0) {
-@@ -356,6 +357,7 @@ void SafeBrowsingPrivateEventRouter::OnD
-           params.url, params.file_name, params.download_digest_sha256,
-           params.user_name, mime_type, DangerTypeToThreatType(danger_type),
-           content_size));
+@@ -330,6 +331,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+ 
+   ReportRealtimeEvent(kKeyDangerousDownloadEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialShown(
-@@ -383,6 +385,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+@@ -357,6 +359,7 @@ void SafeBrowsingPrivateEventRouter::OnS
      event_router_->BroadcastEvent(std::move(extension_event));
    }
  
@@ -239,15 +282,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyInterstitialEvent) == 0) {
-@@ -415,6 +418,7 @@ void SafeBrowsingPrivateEventRouter::OnS
-           },
-           params.url, params.reason, net_error_code, params.user_name,
-           event_result));
+@@ -379,6 +382,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+ 
+   ReportRealtimeEvent(kKeyInterstitialEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialProceeded(
-@@ -442,6 +446,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+@@ -406,6 +410,7 @@ void SafeBrowsingPrivateEventRouter::OnS
      event_router_->BroadcastEvent(std::move(extension_event));
    }
  
@@ -255,15 +298,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyInterstitialEvent) == 0) {
-@@ -466,6 +471,7 @@ void SafeBrowsingPrivateEventRouter::OnS
-             return event;
-           },
-           params.url, params.reason, net_error_code, params.user_name));
+@@ -424,6 +429,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+ 
+   ReportRealtimeEvent(kKeyInterstitialEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnAnalysisConnectorResult(
-@@ -478,6 +484,7 @@ void SafeBrowsingPrivateEventRouter::OnA
+@@ -436,6 +442,7 @@ void SafeBrowsingPrivateEventRouter::OnA
      const enterprise_connectors::ContentAnalysisResponse::Result& result,
      const int64_t content_size,
      safe_browsing::EventResult event_result) {
@@ -271,7 +314,7 @@
    if (result.tag() == "malware") {
      DCHECK_EQ(1, result.triggered_rules().size());
      OnDangerousDeepScanningResult(
-@@ -489,6 +496,7 @@ void SafeBrowsingPrivateEventRouter::OnA
+@@ -447,6 +454,7 @@ void SafeBrowsingPrivateEventRouter::OnA
      OnSensitiveDataEvent(url, file_name, download_digest_sha256, mime_type,
                           trigger, result, content_size, event_result);
    }
@@ -279,7 +322,7 @@
  }
  
  void SafeBrowsingPrivateEventRouter::OnDangerousDeepScanningResult(
-@@ -503,6 +511,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+@@ -461,6 +469,7 @@ void SafeBrowsingPrivateEventRouter::OnD
      const std::string& malware_family,
      const std::string& malware_category,
      const std::string& evidence_locker_filepath) {
@@ -287,15 +330,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyDangerousDownloadEvent) == 0) {
-@@ -555,6 +564,7 @@ void SafeBrowsingPrivateEventRouter::OnD
-           url.spec(), file_name, download_digest_sha256, GetProfileUserName(),
-           threat_type, mime_type, trigger, content_size, event_result,
-           malware_family, malware_category, evidence_locker_filepath));
+@@ -493,6 +502,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+ 
+   ReportRealtimeEvent(kKeyDangerousDownloadEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnSensitiveDataEvent(
-@@ -566,6 +576,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+@@ -504,6 +514,7 @@ void SafeBrowsingPrivateEventRouter::OnS
      const enterprise_connectors::ContentAnalysisResponse::Result& result,
      const int64_t content_size,
      safe_browsing::EventResult event_result) {
@@ -303,15 +346,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeySensitiveDataEvent) == 0) {
-@@ -614,6 +625,7 @@ void SafeBrowsingPrivateEventRouter::OnS
-           result, url.spec(), file_name, download_digest_sha256,
-           GetProfileUserName(), mime_type, trigger, content_size,
-           event_result));
+@@ -534,6 +545,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+ 
+   ReportRealtimeEvent(kKeySensitiveDataEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnAnalysisConnectorWarningBypassed(
-@@ -625,6 +637,7 @@ void SafeBrowsingPrivateEventRouter::OnA
+@@ -545,6 +557,7 @@ void SafeBrowsingPrivateEventRouter::OnA
      safe_browsing::DeepScanAccessPoint access_point,
      const enterprise_connectors::ContentAnalysisResponse::Result& result,
      const int64_t content_size) {
@@ -319,15 +362,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeySensitiveDataEvent) == 0) {
-@@ -672,6 +685,7 @@ void SafeBrowsingPrivateEventRouter::OnA
-           result, url.spec(), file_name, download_digest_sha256,
-           GetProfileUserName(), mime_type, trigger, access_point,
-           content_size));
+@@ -575,6 +588,7 @@ void SafeBrowsingPrivateEventRouter::OnA
+ 
+   ReportRealtimeEvent(kKeySensitiveDataEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnUnscannedFileEvent(
-@@ -684,6 +698,7 @@ void SafeBrowsingPrivateEventRouter::OnU
+@@ -587,6 +601,7 @@ void SafeBrowsingPrivateEventRouter::OnU
      const std::string& reason,
      const int64_t content_size,
      safe_browsing::EventResult event_result) {
@@ -335,15 +378,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyUnscannedFileEvent) == 0) {
-@@ -726,6 +741,7 @@ void SafeBrowsingPrivateEventRouter::OnU
-           url.spec(), file_name, download_digest_sha256, GetProfileUserName(),
-           mime_type, trigger, access_point, reason, content_size,
-           event_result));
+@@ -612,6 +627,7 @@ void SafeBrowsingPrivateEventRouter::OnU
+ 
+   ReportRealtimeEvent(kKeyUnscannedFileEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  void SafeBrowsingPrivateEventRouter::OnDangerousDownloadEvent(
-@@ -749,6 +765,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+@@ -635,6 +651,7 @@ void SafeBrowsingPrivateEventRouter::OnD
      const std::string& mime_type,
      const int64_t content_size,
      safe_browsing::EventResult event_result) {
@@ -351,15 +394,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyDangerousDownloadEvent) == 0) {
-@@ -786,6 +803,7 @@ void SafeBrowsingPrivateEventRouter::OnD
-           },
-           url.spec(), file_name, download_digest_sha256, GetProfileUserName(),
-           threat_type, mime_type, content_size, event_result));
+@@ -659,6 +676,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+ 
+   ReportRealtimeEvent(kKeyDangerousDownloadEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif
  }
  
  void SafeBrowsingPrivateEventRouter::OnDangerousDownloadWarningBypassed(
-@@ -807,6 +825,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+@@ -680,6 +698,7 @@ void SafeBrowsingPrivateEventRouter::OnD
      const std::string& threat_type,
      const std::string& mime_type,
      const int64_t content_size) {
@@ -367,15 +410,15 @@
    auto settings = GetReportingSettings();
    if (!settings.has_value() ||
        settings->enabled_event_names.count(kKeyDangerousDownloadEvent) == 0) {
-@@ -843,6 +862,7 @@ void SafeBrowsingPrivateEventRouter::OnD
-           },
-           url.spec(), file_name, download_digest_sha256, GetProfileUserName(),
-           threat_type, mime_type, content_size));
+@@ -705,6 +724,7 @@ void SafeBrowsingPrivateEventRouter::OnD
+ 
+   ReportRealtimeEvent(kKeyDangerousDownloadEvent, std::move(settings.value()),
+                       std::move(event));
 +#endif // FULL_SAFE_BROWSING
  }
  
  // static
-@@ -1115,7 +1135,11 @@ void SafeBrowsingPrivateEventRouter::Rep
+@@ -977,7 +997,11 @@ void SafeBrowsingPrivateEventRouter::Rep
  }
  
  std::string SafeBrowsingPrivateEventRouter::GetProfileUserName() const {
@@ -521,7 +564,7 @@
  
 --- a/chrome/browser/media/webrtc/display_media_access_handler.cc
 +++ b/chrome/browser/media/webrtc/display_media_access_handler.cc
-@@ -107,6 +107,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -108,6 +108,7 @@ void DisplayMediaAccessHandler::HandleRe
      return;
    }
  
@@ -529,7 +572,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
-@@ -121,6 +122,7 @@ void DisplayMediaAccessHandler::HandleRe
+@@ -122,6 +123,7 @@ void DisplayMediaAccessHandler::HandleRe
      observer->OnDesktopCaptureRequest();
      return;
    }
@@ -547,7 +590,7 @@
  #include "chrome/browser/safe_browsing/user_interaction_observer.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
  #include "chrome/browser/sync/profile_sync_service_factory.h"
-@@ -107,11 +106,11 @@
+@@ -108,11 +107,11 @@
  #if BUILDFLAG(FULL_SAFE_BROWSING)
  #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
  #include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
@@ -560,7 +603,7 @@
  
  #if defined(OS_ANDROID)
  #include "base/feature_list.h"
-@@ -793,6 +792,7 @@ autofill::LanguageCode ChromePasswordMan
+@@ -798,6 +797,7 @@ autofill::LanguageCode ChromePasswordMan
    return autofill::LanguageCode();
  }
  
@@ -568,7 +611,7 @@
  safe_browsing::PasswordProtectionService*
  ChromePasswordManagerClient::GetPasswordProtectionService() const {
    return safe_browsing::ChromePasswordProtectionService::
-@@ -803,13 +803,6 @@ ChromePasswordManagerClient::GetPassword
+@@ -808,13 +808,6 @@ ChromePasswordManagerClient::GetPassword
  void ChromePasswordManagerClient::CheckSafeBrowsingReputation(
      const GURL& form_action,
      const GURL& frame_url) {
@@ -582,7 +625,7 @@
  }
  #endif  // defined(ON_FOCUS_PING_ENABLED)
  
-@@ -819,22 +812,10 @@ void ChromePasswordManagerClient::CheckP
+@@ -824,22 +817,10 @@ void ChromePasswordManagerClient::CheckP
      const std::vector<password_manager::MatchingReusedCredential>&
          matching_reused_credentials,
      bool password_field_exists) {
@@ -606,7 +649,7 @@
  }
  
  ukm::SourceId ChromePasswordManagerClient::GetUkmSourceId() {
-@@ -1286,9 +1267,11 @@ void ChromePasswordManagerClient::OnPast
+@@ -1294,9 +1275,11 @@ void ChromePasswordManagerClient::OnPast
    }
  
    was_on_paste_called_ = true;
@@ -619,7 +662,7 @@
  
  void ChromePasswordManagerClient::RenderFrameCreated(
      content::RenderFrameHost* render_frame_host) {
-@@ -1323,7 +1306,9 @@ void ChromePasswordManagerClient::OnInpu
+@@ -1331,7 +1314,9 @@ void ChromePasswordManagerClient::OnInpu
    if (key_event.windows_key_code == (ui::VKEY_V & 0x1f)) {
      OnPaste();
    } else {
@@ -629,7 +672,7 @@
    }
  #endif  // defined(OS_ANDROID)
  }
-@@ -1362,6 +1347,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1370,6 +1355,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -637,7 +680,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
-@@ -1372,6 +1358,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1380,6 +1366,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -647,7 +690,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
-@@ -189,13 +189,14 @@ class ChromePasswordManagerClient
+@@ -190,13 +190,14 @@ class ChromePasswordManagerClient
    void AnnotateNavigationEntry(bool has_password_field) override;
    autofill::LanguageCode GetPageLanguage() const override;
  
@@ -663,7 +706,7 @@
  
    void CheckProtectedPasswordEntry(
        password_manager::metrics_util::PasswordType reused_password_type,
-@@ -203,6 +204,7 @@ class ChromePasswordManagerClient
+@@ -204,6 +205,7 @@ class ChromePasswordManagerClient
        const std::vector<password_manager::MatchingReusedCredential>&
            matching_reused_credentials,
        bool password_field_exists) override;
@@ -752,7 +795,7 @@
  void ContextualNotificationPermissionUiSelector::OnSafeBrowsingVerdictReceived(
 --- a/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
 +++ b/chrome/browser/permissions/prediction_based_permission_ui_selector.cc
-@@ -19,7 +19,6 @@
+@@ -20,7 +20,6 @@
  #include "components/permissions/prediction_service/prediction_service.h"
  #include "components/permissions/prediction_service/prediction_service_messages.pb.h"
  #include "components/prefs/pref_service.h"
@@ -760,7 +803,7 @@
  
  namespace {
  
-@@ -182,8 +181,7 @@ bool PredictionBasedPermissionUiSelector
+@@ -197,8 +196,7 @@ bool PredictionBasedPermissionUiSelector
    // We need to also check `kQuietNotificationPrompts` here since there is no
    // generic safeguard anywhere else in the stack.
    return base::FeatureList::IsEnabled(features::kQuietNotificationPrompts) &&
@@ -785,7 +828,7 @@
    if (service->EngagedSitesNeedUpdating()) {
 --- a/chrome/browser/safe_browsing/url_lookup_service_factory.cc
 +++ b/chrome/browser/safe_browsing/url_lookup_service_factory.cc
-@@ -53,37 +53,7 @@ RealTimeUrlLookupServiceFactory::RealTim
+@@ -55,29 +55,7 @@ RealTimeUrlLookupServiceFactory::RealTim
  
  KeyedService* RealTimeUrlLookupServiceFactory::BuildServiceInstanceFor(
      content::BrowserContext* context) const {
@@ -797,19 +840,10 @@
 -      std::make_unique<network::CrossThreadPendingSharedURLLoaderFactory>(
 -          g_browser_process->safe_browsing_service()->GetURLLoaderFactory(
 -              profile));
--  const policy::BrowserPolicyConnector* browser_policy_connector =
--      g_browser_process->browser_policy_connector();
--  bool is_under_advanced_protection = false;
--#if BUILDFLAG(FULL_SAFE_BROWSING)
--  is_under_advanced_protection =
--      AdvancedProtectionStatusManagerFactory::GetForProfile(profile)
--          ->IsUnderAdvancedProtection();
--#endif
 -  return new RealTimeUrlLookupService(
 -      network::SharedURLLoaderFactory::Create(std::move(url_loader_factory)),
 -      VerdictCacheManagerFactory::GetForProfile(profile),
--      base::BindRepeating(&safe_browsing::SyncUtils::IsHistorySyncEnabled,
--                          ProfileSyncServiceFactory::GetForProfile(profile)),
+-      base::BindRepeating(&safe_browsing::GetUserPopulation, profile),
 -      profile->GetPrefs(),
 -      std::make_unique<SafeBrowsingPrimaryAccountTokenFetcher>(
 -          IdentityManagerFactory::GetForProfile(profile)),
@@ -817,9 +851,10 @@
 -                              AreSigninAndSyncSetUpForSafeBrowsingTokenFetches,
 -                          ProfileSyncServiceFactory::GetForProfile(profile),
 -                          IdentityManagerFactory::GetForProfile(profile)),
--      GetProfileManagementStatus(browser_policy_connector),
--      is_under_advanced_protection, profile->IsOffTheRecord(),
--      g_browser_process->variations_service());
+-      profile->IsOffTheRecord(), g_browser_process->variations_service(),
+-      g_browser_process->safe_browsing_service()
+-          ->navigation_observer_manager()
+-          .get());
 +  return nullptr;
  }
  
@@ -907,7 +942,7 @@
  }
 --- a/chrome/browser/ui/views/download/download_item_view.cc
 +++ b/chrome/browser/ui/views/download/download_item_view.cc
-@@ -774,9 +774,7 @@ void DownloadItemView::UpdateLabels() {
+@@ -778,9 +778,7 @@ void DownloadItemView::UpdateLabels() {
  
    deep_scanning_label_->SetVisible(mode_ == Mode::kDeepScanning);
    if (deep_scanning_label_->GetVisible()) {
@@ -917,8 +952,8 @@
 +    const int id = model_->download()
                         ? IDS_PROMPT_DEEP_SCANNING_DOWNLOAD
                         : IDS_PROMPT_DEEP_SCANNING_APP_DOWNLOAD;
-     const base::string16 filename = ElidedFilename(*deep_scanning_label_);
-@@ -800,11 +798,15 @@ void DownloadItemView::UpdateButtons() {
+     const std::u16string filename = ElidedFilename(*deep_scanning_label_);
+@@ -804,11 +802,15 @@ void DownloadItemView::UpdateButtons() {
    }
  
    const bool allow_open_during_deep_scan =
@@ -934,7 +969,7 @@
    open_button_->SetEnabled((mode_ == Mode::kNormal) || prompt_to_scan ||
                             allow_open_during_deep_scan);
  
-@@ -1233,7 +1235,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1237,7 +1239,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -944,23 +979,9 @@
    model_->SetOpenWhenComplete(true);
  }
  
---- a/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc
-+++ b/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc
-@@ -174,10 +174,7 @@ PasswordReuseModalWarningDialog::Passwor
-         placeholder_offsets);
-   } else {
-     views::Label* message_body_label = CreateMessageBodyLabel(
--        service_
--            ? service_->GetWarningDetailText(password_type,
--                                             &placeholder_offsets)
--            : l10n_util::GetStringUTF16(IDS_PAGE_INFO_CHANGE_PASSWORD_DETAILS));
-+        l10n_util::GetStringUTF16(IDS_PAGE_INFO_CHANGE_PASSWORD_DETAILS));
-     CreateGaiaPasswordReuseModalWarningDialog(message_body_label);
-   }
-   modal_construction_start_time_ = base::TimeTicks::Now();
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -76,8 +76,6 @@
+@@ -75,8 +75,6 @@
  #include "components/prefs/pref_service.h"
  #include "components/reading_list/features/reading_list_switches.h"
  #include "components/safe_browsing/buildflags.h"
@@ -969,7 +990,7 @@
  #include "components/search/ntp_features.h"
  #include "components/security_interstitials/content/connection_help_ui.h"
  #include "components/security_interstitials/content/known_interception_disclosure_ui.h"
-@@ -570,8 +568,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
+@@ -588,8 +586,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
      return &NewWebUI<PredictorsUI>;
    if (url.host_piece() == chrome::kChromeUIQuotaInternalsHost)
      return &NewWebUI<QuotaInternalsUI>;
@@ -990,7 +1011,7 @@
  
 --- a/chrome/browser/ui/webui/management/management_ui_handler.cc
 +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
-@@ -798,14 +798,6 @@ base::Value ManagementUIHandler::GetThre
+@@ -790,14 +790,6 @@ base::Value ManagementUIHandler::GetThre
  
    auto* on_page_visited_event =
        chrome_policies.GetValue(policy::key::kEnterpriseRealTimeUrlCheckMode);
@@ -1018,7 +1039,7 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -330,11 +330,14 @@ class PasswordManagerClient {
+@@ -331,11 +331,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual autofill::LanguageCode GetPageLanguage() const;
  
@@ -1034,7 +1055,7 @@
    // Checks the safe browsing reputation of the webpage when the
    // user focuses on a username/password field. This is used for reporting
    // only, and won't trigger a warning.
-@@ -342,6 +345,7 @@ class PasswordManagerClient {
+@@ -343,6 +346,7 @@ class PasswordManagerClient {
                                             const GURL& frame_url) = 0;
  #endif
  
@@ -1042,7 +1063,7 @@
    // Checks the safe browsing reputation of the webpage where password reuse
    // happens. This is called by the PasswordReuseDetectionManager when a
    // protected password is typed on the wrong domain. This may trigger a
-@@ -354,6 +358,7 @@ class PasswordManagerClient {
+@@ -355,6 +359,7 @@ class PasswordManagerClient {
        const std::string& username,
        const std::vector<MatchingReusedCredential>& matching_reused_credentials,
        bool password_field_exists) = 0;
@@ -1151,7 +1172,7 @@
    // Protected by lock_.
 --- a/components/safe_browsing/core/password_protection/password_protection_service_base.cc
 +++ b/components/safe_browsing/core/password_protection/password_protection_service_base.cc
-@@ -249,12 +249,6 @@ void PasswordProtectionServiceBase::Hist
+@@ -260,12 +260,6 @@ void PasswordProtectionServiceBase::Hist
    history_service_observation_.Reset();
  }
  
@@ -1166,15 +1187,15 @@
  PasswordProtectionServiceBase::GetPasswordProtectionReusedPasswordType(
 --- a/components/safe_browsing/core/password_protection/password_protection_service_base.h
 +++ b/components/safe_browsing/core/password_protection/password_protection_service_base.h
-@@ -22,7 +22,6 @@
- #include "components/password_manager/core/browser/password_reuse_detector.h"
+@@ -23,7 +23,6 @@
  #include "components/safe_browsing/buildflags.h"
  #include "components/safe_browsing/core/browser/referrer_chain_provider.h"
+ #include "components/safe_browsing/core/browser/safe_browsing_token_fetcher.h"
 -#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
  #include "components/safe_browsing/core/db/database_manager.h"
  #include "components/safe_browsing/core/db/v4_protocol_manager_util.h"
  #include "components/safe_browsing/core/password_protection/metrics_util.h"
-@@ -130,10 +129,6 @@ class PasswordProtectionServiceBase : pu
+@@ -143,10 +142,6 @@ class PasswordProtectionServiceBase : pu
    // Returns if the warning UI is enabled.
    bool IsWarningEnabled(ReusedPasswordAccountType password_type);
  
@@ -1187,7 +1208,7 @@
    // policy.
 --- a/content/browser/file_system_access/file_system_access_file_writer_impl.cc
 +++ b/content/browser/file_system_access/file_system_access_file_writer_impl.cc
-@@ -340,15 +340,8 @@ void FileSystemAccessFileWriterImpl::Clo
+@@ -335,15 +335,8 @@ void FileSystemAccessFileWriterImpl::Clo
  
    close_callback_ = std::move(callback);
  
@@ -1205,7 +1226,7 @@
  }
  
  void FileSystemAccessFileWriterImpl::AbortImpl(AbortCallback callback) {
-@@ -368,37 +361,6 @@ void FileSystemAccessFileWriterImpl::Abo
+@@ -363,35 +356,6 @@ void FileSystemAccessFileWriterImpl::Abo
    manager()->RemoveFileWriter(this);
  }
  
@@ -1217,10 +1238,8 @@
 -  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 -
 -  if (hash_result != base::File::FILE_OK) {
--    // Calculating the hash failed try deleting the swap file and invoke the
--    // callback.
--    manager()->operation_runner().PostTaskWithThisObject(
--        FROM_HERE, base::BindOnce(&RemoveSwapFile, swap_url()));
+-    // Calculating the hash failed, the destructor will try to delete the swap
+-    // file, so call the callback to report the error and delete `this`.
 -    CallCloseCallbackAndDeleteThis(file_system_access_error::FromStatus(
 -        FileSystemAccessStatus::kOperationAborted,
 -        "Failed to perform Safe Browsing check."));
@@ -1245,7 +1264,7 @@
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 --- a/content/browser/file_system_access/file_system_access_file_writer_impl.h
 +++ b/content/browser/file_system_access/file_system_access_file_writer_impl.h
-@@ -100,9 +100,6 @@ class CONTENT_EXPORT FileSystemAccessFil
+@@ -99,9 +99,6 @@ class CONTENT_EXPORT FileSystemAccessFil
    void TruncateImpl(uint64_t length, TruncateCallback callback);
    void CloseImpl(CloseCallback callback);
    void AbortImpl(AbortCallback callback);

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


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

@@ -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"
-@@ -1573,6 +1574,8 @@ void RenderViewContextMenu::AppendPageIt
+@@ -1577,6 +1578,8 @@ void RenderViewContextMenu::AppendPageIt
      menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
    }
  
@@ -18,7 +18,7 @@
    ChromeTranslateClient* chrome_translate_client =
        ChromeTranslateClient::FromWebContents(embedder_web_contents_);
    const bool canTranslate =
-@@ -1594,6 +1597,7 @@ void RenderViewContextMenu::AppendPageIt
+@@ -1598,6 +1601,7 @@ void RenderViewContextMenu::AppendPageIt
          IDC_CONTENT_CONTEXT_TRANSLATE,
          l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
    }
@@ -56,7 +56,7 @@
      request_pending_ = true;
 --- a/components/translate/core/browser/translate_manager.cc
 +++ b/components/translate/core/browser/translate_manager.cc
-@@ -889,8 +889,9 @@ void TranslateManager::FilterIsTranslate
+@@ -908,8 +908,9 @@ void TranslateManager::FilterIsTranslate
          ->LogAutofillAssistantDeferredTriggerDecision();
    }
  

+ 0 - 16
patches/core/ungoogled-chromium/use-local-devtools-files.patch

@@ -1,16 +0,0 @@
-# Always use local DevTools files instead of remote files from Google
-# NOTE: This can break Remote Debugging
-# This also fixes local debugging with domain substitution
-# Related comment: https://bugs.chromium.org/p/chromium/issues/detail?id=710701#c14
-
---- a/third_party/devtools-frontend/src/BUILD.gn
-+++ b/third_party/devtools-frontend/src/BUILD.gn
-@@ -230,7 +230,7 @@ devtools_applications = [
- devtools_frontend_resources_deps = [
-   ":build_release_devtools",
-   "front_end",
--  "test",
-+#  "test",
- ]
- 
- group("devtools_all_files") {

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

@@ -9,7 +9,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2362,6 +2362,7 @@ static_library("browser") {
+@@ -2323,6 +2323,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
@@ -19,7 +19,7 @@
      "//third_party/widevine/cdm:headers",
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -179,6 +179,7 @@
+@@ -178,6 +178,7 @@
  #include "third_party/blink/public/common/forcedark/forcedark_switches.h"
  #include "third_party/blink/public/common/switches.h"
  #include "third_party/leveldatabase/leveldb_features.h"
@@ -54,7 +54,7 @@
      "//third_party/zlib",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -212,6 +212,7 @@
+@@ -208,6 +208,7 @@
  #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
  #include "third_party/blink/public/mojom/disk_allocator.mojom.h"
  #include "third_party/blink/public/public_buildflags.h"
@@ -62,7 +62,7 @@
  #include "third_party/skia/include/core/SkBitmap.h"
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_switches.h"
-@@ -3299,6 +3300,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3252,6 +3253,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLDraftExtensions,
      switches::kEnableWebGLImageChromium,
      switches::kFileUrlPathAlias,
@@ -91,7 +91,7 @@
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
-@@ -460,6 +461,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -456,6 +457,10 @@ void SetRuntimeFeaturesFromCommandLine(c
        {wrf::EnableWebGPU, switches::kEnableUnsafeWebGPU, true},
        {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo,
         true},
@@ -104,15 +104,15 @@
      if (command_line.HasSwitch(mapping.switch_name))
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -209,6 +209,8 @@ class WebRuntimeFeatures {
+@@ -210,6 +210,8 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
    BLINK_PLATFORM_EXPORT static void EnableGetCurrentBrowsingContextMedia(bool);
    BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
-   BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
    BLINK_PLATFORM_EXPORT static void
    EnableSignedExchangePrefetchCacheForNavigations(bool);
+   BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
 @@ -43,6 +43,7 @@
@@ -123,7 +123,7 @@
  #include "base/time/time.h"
  #include "cc/input/overscroll_behavior.h"
  #include "cc/input/scroll_snap_data.h"
-@@ -864,6 +865,14 @@ Range* Document::CreateRangeAdjustedToTr
+@@ -867,6 +868,14 @@ Range* Document::CreateRangeAdjustedToTr
                                       Position::BeforeNode(*shadow_host));
  }
  
@@ -138,7 +138,7 @@
  SelectorQueryCache& Document::GetSelectorQueryCache() {
    if (!selector_query_cache_)
      selector_query_cache_ = std::make_unique<SelectorQueryCache>();
-@@ -2386,6 +2395,15 @@ void Document::UpdateStyleAndLayoutTreeF
+@@ -2398,6 +2407,15 @@ void Document::UpdateStyleAndLayoutTreeF
  #if DCHECK_IS_ON()
    AssertLayoutTreeUpdated(*this);
  #endif
@@ -156,7 +156,7 @@
  void Document::InvalidateStyleAndLayoutForFontUpdates() {
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -444,6 +444,10 @@ class CORE_EXPORT Document : public Cont
+@@ -445,6 +445,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -167,7 +167,7 @@
    AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -1998,6 +2002,9 @@ class CORE_EXPORT Document : public Cont
+@@ -2005,6 +2009,9 @@ class CORE_EXPORT Document : public Cont
  
    base::ElapsedTimer start_time_;
  
@@ -179,7 +179,7 @@
    HeapVector<Member<ScriptElementBase>> current_script_stack_;
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -2075,6 +2075,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2092,6 +2092,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
        quads, *element_layout_object);
@@ -191,7 +191,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2092,6 +2097,9 @@ FloatRect Element::GetBoundingClientRect
+@@ -2109,6 +2114,9 @@ FloatRect Element::GetBoundingClientRect
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
                                                          *element_layout_object);
@@ -266,9 +266,9 @@
                const TextDirection&,
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
-@@ -964,9 +964,15 @@ TextMetrics* CanvasRenderingContext2D::m
-   else
-     direction = ToTextDirection(GetState().GetDirection(), canvas());
+@@ -968,9 +968,15 @@ TextMetrics* CanvasRenderingContext2D::m
+   TextDirection direction =
+       ToTextDirection(GetState().GetDirection(), canvas());
  
 -  return MakeGarbageCollected<TextMetrics>(font, direction,
 +  TextMetrics* text_metrics = MakeGarbageCollected<TextMetrics>(font, direction,
@@ -285,7 +285,7 @@
  void CanvasRenderingContext2D::fillFormattedText(
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1656,6 +1656,7 @@ component("platform") {
+@@ -1660,6 +1660,7 @@ component("platform") {
      "//components/paint_preview/common",
      "//components/power_scheduler",
      "//components/search_engines:search_engine_utils",
@@ -295,8 +295,8 @@
      "//crypto",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -671,4 +671,12 @@ void WebRuntimeFeatures::EnableCSSColorS
-   RuntimeEnabledFeatures::SetCSSColorSchemeUARenderingEnabled(enable);
+@@ -671,4 +671,12 @@ void WebRuntimeFeatures::EnableDocumentT
+   RuntimeEnabledFeatures::SetDocumentTransitionEnabled(enable);
  }
  
 +void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@@ -310,8 +310,8 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -951,6 +951,12 @@
-       status: "experimental",
+@@ -948,6 +948,12 @@
+       origin_trial_feature_name: "FledgeInterestGroupAPI",
      },
      {
 +      name: "FingerprintingClientRectsNoise",

+ 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
-@@ -3302,6 +3302,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3255,6 +3255,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
-@@ -465,6 +465,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -461,6 +461,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -55,17 +55,17 @@ approach to change color components.
      if (command_line.HasSwitch(mapping.switch_name))
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -211,6 +211,7 @@ class WebRuntimeFeatures {
+@@ -212,6 +212,7 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool);
-   BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
    BLINK_PLATFORM_EXPORT static void
    EnableSignedExchangePrefetchCacheForNavigations(bool);
+   BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
-@@ -20,6 +20,7 @@
+@@ -21,6 +21,7 @@
  #include "third_party/blink/renderer/platform/geometry/float_quad.h"
  #include "third_party/blink/renderer/platform/graphics/bitmap_image.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/heap/heap.h"
  
-@@ -1978,6 +1979,11 @@ ImageData* BaseRenderingContext2D::getIm
+@@ -2005,6 +2006,11 @@ ImageData* BaseRenderingContext2D::getIm
            snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
        DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
      }
@@ -87,7 +87,7 @@ approach to change color components.
    // Wrap |contents| in an ImageData.
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1615,7 +1615,9 @@ component("platform") {
+@@ -1619,7 +1619,9 @@ component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  
@@ -324,7 +324,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
-@@ -957,6 +957,9 @@
+@@ -954,6 +954,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {

+ 6 - 6
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
-@@ -2132,6 +2132,7 @@ static_library("browser") {
+@@ -2084,6 +2084,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -64,7 +64,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "base/synchronization/waitable_event.h"
  #include "base/task/task_traits.h"
  #include "base/task/thread_pool.h"
-@@ -98,6 +100,7 @@
+@@ -97,6 +99,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"
@@ -72,7 +72,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "components/network_time/network_time_tracker.h"
  #include "components/permissions/permissions_client.h"
  #include "components/policy/core/common/policy_service.h"
-@@ -130,6 +133,7 @@
+@@ -129,6 +132,7 @@
  #include "media/media_buildflags.h"
  #include "mojo/public/cpp/bindings/pending_receiver.h"
  #include "net/log/net_log.h"
@@ -101,7 +101,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1451,6 +1451,10 @@ const char kMediaHistoryDescription[] =
+@@ -1477,6 +1477,10 @@ const char kMediaHistoryDescription[] =
      "Enables Media History which records data around media playbacks on "
      "websites.";
  
@@ -114,7 +114,7 @@ with limited CPU/memory resources and it is disabled by default.
  const char kMediaRouterCastAllowAllIPsDescription[] =
 --- a/chrome/browser/flag_descriptions.h
 +++ b/chrome/browser/flag_descriptions.h
-@@ -859,6 +859,9 @@ extern const char kLogJsConsoleMessagesD
+@@ -866,6 +866,9 @@ extern const char kLogJsConsoleMessagesD
  extern const char kMediaHistoryName[];
  extern const char kMediaHistoryDescription[];
  
@@ -149,7 +149,7 @@ with limited CPU/memory resources and it is disabled by default.
  #endif  // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_
 --- a/components/network_session_configurator/common/network_switch_list.h
 +++ b/components/network_session_configurator/common/network_switch_list.h
-@@ -22,6 +22,10 @@ NETWORK_SWITCH(kEnableUserAlternateProto
+@@ -19,6 +19,10 @@ NETWORK_SWITCH(kEnableUserAlternateProto
  // Enables the QUIC protocol.  This is a temporary testing flag.
  NETWORK_SWITCH(kEnableQuic, "enable-quic")
  

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

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

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

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

+ 1 - 1
patches/extra/debian/gn/parallel.patch

@@ -11,7 +11,7 @@ author: Michael Gilbert <mgilbert@debian.org>
    parser.add_option(
        '--skip-generate-buildfiles',
        action='store_true',
-@@ -120,8 +121,12 @@ def main(argv):
+@@ -121,8 +122,12 @@ def main(argv):
  
    shutil.copy2(
        os.path.join(BOOTSTRAP_DIR, 'last_commit_position.h'), gn_build_dir)

+ 6 - 6
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
-@@ -362,7 +362,7 @@ void BackgroundModeManager::RegisterPref
+@@ -373,7 +373,7 @@ void BackgroundModeManager::RegisterPref
    registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
    registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
  #endif
@@ -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
-@@ -1239,7 +1239,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1292,7 +1292,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -45,7 +45,7 @@
  enum class NetworkPredictionStatus {
 --- a/chrome/browser/net/profile_network_context_service.cc
 +++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -324,7 +324,7 @@ void ProfileNetworkContextService::Updat
+@@ -325,7 +325,7 @@ void ProfileNetworkContextService::Updat
  void ProfileNetworkContextService::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
@@ -56,7 +56,7 @@
    registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
 --- a/chrome/browser/profiles/profile.cc
 +++ b/chrome/browser/profiles/profile.cc
-@@ -247,7 +247,7 @@ const char Profile::kProfileKey[] = "__P
+@@ -265,7 +265,7 @@ const char Profile::kProfileKey[] = "__P
  void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
        prefs::kSearchSuggestEnabled,
@@ -140,7 +140,7 @@
        prefs::kAutofillProfileValidity, "",
 --- a/components/bookmarks/browser/bookmark_utils.cc
 +++ b/components/bookmarks/browser/bookmark_utils.cc
-@@ -441,12 +441,12 @@ bool DoesBookmarkContainWords(const base
+@@ -440,12 +440,12 @@ bool DoesBookmarkContainWords(const std:
  void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
        prefs::kShowBookmarkBar,
@@ -168,7 +168,7 @@
  
 --- a/components/password_manager/core/browser/password_manager.cc
 +++ b/components/password_manager/core/browser/password_manager.cc
-@@ -208,10 +208,10 @@ FormData SimplifiedFormDataFromFormStruc
+@@ -198,10 +198,10 @@ FormData SimplifiedFormDataFromFormStruc
  void PasswordManager::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(

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

@@ -1,7 +1,7 @@
 --- a/chrome/browser/search/search.cc
 +++ b/chrome/browser/search/search.cc
-@@ -188,26 +188,7 @@ struct NewTabURLDetails {
-                              : chrome::kChromeSearchLocalNtpUrl);
+@@ -182,26 +182,7 @@ struct NewTabURLDetails {
+                              : chrome::kChromeUINewTabPageThirdPartyURL);
  #endif
  
 -    if (ShouldShowLocalNewTab(profile))
@@ -13,7 +13,7 @@
 -      return NewTabURLDetails(local_url, NEW_TAB_URL_BAD);
 -
 -    GURL search_provider_url(template_url->new_tab_url_ref().ReplaceSearchTerms(
--        TemplateURLRef::SearchTermsArgs(base::string16()),
+-        TemplateURLRef::SearchTermsArgs(std::u16string()),
 -        UIThreadSearchTermsData()));
 -
 -    if (!search_provider_url.is_valid())

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

@@ -9,7 +9,7 @@ Subject: [PATCH 56/66] browser: disable profile auto-import on first run
 
 --- a/chrome/browser/chrome_browser_main.cc
 +++ b/chrome/browser/chrome_browser_main.cc
-@@ -1448,8 +1448,6 @@ int ChromeBrowserMainParts::PreMainMessa
+@@ -1461,8 +1461,6 @@ int ChromeBrowserMainParts::PreMainMessa
    // and preferences have been registered since some of the import code depends
    // on preferences.
    if (first_run::IsChromeFirstRun()) {

+ 1 - 1
patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch

@@ -11,7 +11,7 @@ very interesting in themselves. Force them to be stored.
 
 --- a/third_party/blink/common/mime_util/mime_util.cc
 +++ b/third_party/blink/common/mime_util/mime_util.cc
-@@ -81,6 +81,7 @@ static const char* const kUnsupportedTex
+@@ -83,6 +83,7 @@ static const char* const kUnsupportedTex
      "text/x-csv",
      "text/x-vcf",
      "text/rtf",

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

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

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

@@ -8,7 +8,7 @@
  #include "base/observer_list.h"
  #include "build/build_config.h"
  #include "build/chromeos_buildflags.h"
-@@ -69,10 +70,12 @@ bool BookmarkTabHelper::ShouldShowBookma
+@@ -71,10 +72,12 @@ bool BookmarkTabHelper::ShouldShowBookma
        !prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar))
      return false;
  

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

@@ -41,7 +41,7 @@
  #include "base/feature_list.h"
  #include "base/format_macros.h"
  #include "base/metrics/histogram.h"
-@@ -276,6 +277,15 @@ AutocompleteController::AutocompleteCont
+@@ -275,6 +276,15 @@ AutocompleteController::AutocompleteCont
        search_service_worker_signal_sent_(false),
        template_url_service_(provider_client_->GetTemplateURLService()) {
    provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
@@ -59,7 +59,7 @@
    if (provider_types & AutocompleteProvider::TYPE_BUILTIN)
 --- a/components/omnibox/browser/history_url_provider.cc
 +++ b/components/omnibox/browser/history_url_provider.cc
-@@ -551,6 +551,9 @@ void HistoryURLProvider::Start(const Aut
+@@ -553,6 +553,9 @@ void HistoryURLProvider::Start(const Aut
    if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
      matches_.push_back(what_you_typed_match);
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5926,7 +5926,7 @@ bool ChromeContentBrowserClient::ShouldA
+@@ -5794,7 +5794,7 @@ bool ChromeContentBrowserClient::ShouldA
      const url::Origin& embedder_origin,
      const content::PepperPluginInfo& plugin_info) {
  #if BUILDFLAG(ENABLE_PDF)
@@ -35,7 +35,7 @@
 +++ b/chrome/browser/plugins/plugin_prefs.cc
 @@ -37,9 +37,9 @@ namespace {
  
- bool IsPDFViewerPlugin(const base::string16& plugin_name) {
+ bool IsPDFViewerPlugin(const std::u16string& plugin_name) {
    return (plugin_name ==
 -          base::ASCIIToUTF16(ChromeContentClient::kPDFExtensionPluginName)) ||
 +          base::ASCIIToUTF16(ChromeContentClient::GetPDFExtensionPluginName())) ||
@@ -254,7 +254,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/chrome/common/BUILD.gn
 +++ b/chrome/common/BUILD.gn
-@@ -245,6 +245,7 @@ static_library("common") {
+@@ -247,6 +247,7 @@ static_library("common") {
      "//components/no_state_prefetch/common",
      "//components/no_state_prefetch/common:mojo_bindings",
      "//components/page_load_metrics/common:common",
@@ -264,7 +264,7 @@
    if (enable_plugins) {
 --- a/chrome/common/chrome_content_client.cc
 +++ b/chrome/common/chrome_content_client.cc
-@@ -142,7 +142,7 @@ void ComputeBuiltInPlugins(std::vector<c
+@@ -143,7 +143,7 @@ void ComputeBuiltInPlugins(std::vector<c
    content::PepperPluginInfo pdf_info;
    pdf_info.is_internal = true;
    pdf_info.is_out_of_process = true;
@@ -275,7 +275,7 @@
    content::WebPluginMimeType pdf_mime_type(
 --- a/chrome/common/chrome_content_client.h
 +++ b/chrome/common/chrome_content_client.h
-@@ -41,8 +41,8 @@ class ChromeContentClient : public conte
+@@ -42,8 +42,8 @@ class ChromeContentClient : public conte
    static const base::FilePath::CharType kNaClPluginFileName[];
  #endif
  
@@ -288,23 +288,24 @@
    ChromeContentClient();
 --- a/chrome/common/chrome_content_client_constants.cc
 +++ b/chrome/common/chrome_content_client_constants.cc
-@@ -2,7 +2,11 @@
+@@ -2,8 +2,12 @@
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
 +#include <string>
 +
 +#include "base/command_line.h"
+ #include "build/branding_buildflags.h"
  #include "chrome/common/chrome_content_client.h"
 +#include "components/ungoogled/ungoogled_switches.h"
  
- #if defined(GOOGLE_CHROME_BUILD)
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
  const base::FilePath::CharType ChromeContentClient::kNotPresent[] =
-@@ -14,15 +18,52 @@ const base::FilePath::CharType ChromeCon
+@@ -15,15 +19,52 @@ const base::FilePath::CharType ChromeCon
      FILE_PATH_LITERAL("internal-nacl-plugin");
  #endif
  
--#if defined(GOOGLE_CHROME_BUILD)
+-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
 -const char ChromeContentClient::kPDFExtensionPluginName[] = "Chrome PDF Viewer";
 -const char ChromeContentClient::kPDFInternalPluginName[] = "Chrome PDF Plugin";
 -#else
@@ -362,7 +363,7 @@
      FILE_PATH_LITERAL("internal-pdf-viewer");
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -955,7 +955,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -959,7 +959,7 @@ WebPlugin* ChromeContentRendererClient::
              }
            }
          } else if (info.name ==
@@ -371,7 +372,7 @@
            // Report PDF load metrics. Since the PDF plugin is comprised of an
            // extension that loads a second plugin, avoid double counting by
            // ignoring the creation of the second plugin.
-@@ -991,7 +991,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -1005,7 +1005,7 @@ WebPlugin* ChromeContentRendererClient::
          PluginUMAReporter::GetInstance()->ReportPluginDisabled(orig_mime_type,
                                                                 url);
          if (info.name ==

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

@@ -13,7 +13,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/chrome/renderer/chrome_render_frame_observer.cc
 +++ b/chrome/renderer/chrome_render_frame_observer.cc
-@@ -136,9 +136,10 @@ ChromeRenderFrameObserver::ChromeRenderF
+@@ -139,9 +139,10 @@ ChromeRenderFrameObserver::ChromeRenderF
    if (!render_frame->IsMainFrame())
      return;
  
@@ -25,7 +25,7 @@
    if (!command_line.HasSwitch(switches::kDisableClientSidePhishingDetection))
      SetClientSidePhishingDetection();
  #endif
-@@ -198,14 +199,16 @@ void ChromeRenderFrameObserver::DidFinis
+@@ -201,14 +202,16 @@ void ChromeRenderFrameObserver::DidFinis
    if (frame->Parent())
      return;
  
@@ -52,7 +52,7 @@
  
 --- a/chrome/renderer/chrome_render_frame_observer.h
 +++ b/chrome/renderer/chrome_render_frame_observer.h
-@@ -134,6 +134,7 @@ class ChromeRenderFrameObserver : public
+@@ -135,6 +135,7 @@ class ChromeRenderFrameObserver : public
  #if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
    safe_browsing::PhishingClassifierDelegate* phishing_classifier_ = nullptr;
  #endif
@@ -62,15 +62,15 @@
    web_cache::WebCacheImpl* web_cache_impl_;
 --- a/components/search_engines/template_url_service.cc
 +++ b/components/search_engines/template_url_service.cc
-@@ -11,6 +11,7 @@
- #include "base/base64url.h"
+@@ -12,6 +12,7 @@
  #include "base/bind.h"
  #include "base/callback.h"
+ #include "base/callback_helpers.h"
 +#include "base/command_line.h"
  #include "base/containers/contains.h"
  #include "base/debug/crash_logging.h"
  #include "base/format_macros.h"
-@@ -196,6 +197,12 @@ bool IsCreatedByExtension(const Template
+@@ -197,6 +198,12 @@ bool IsCreatedByExtension(const Template
           template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION;
  }
  
@@ -83,7 +83,7 @@
  }  // namespace
  
  // TemplateURLService::LessWithPrefix -----------------------------------------
-@@ -280,6 +287,7 @@ TemplateURLService::TemplateURLService(
+@@ -281,6 +288,7 @@ TemplateURLService::TemplateURLService(
      std::unique_ptr<TemplateURLServiceClient> client,
      const base::RepeatingClosure& dsp_change_callback)
      : prefs_(prefs),
@@ -91,7 +91,7 @@
        search_terms_data_(std::move(search_terms_data)),
        web_data_service_(web_data_service),
        client_(std::move(client)),
-@@ -361,8 +369,8 @@ bool TemplateURLService::CanAddAutogener
+@@ -362,8 +370,8 @@ bool TemplateURLService::CanAddAutogener
    // that may interfere with search queries).  An easy heuristic for this is
    // whether the user has a TemplateURL that has been manually modified (e.g.,
    // renamed) connected to the same host.
@@ -102,7 +102,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
-@@ -1449,6 +1457,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1450,6 +1458,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -111,7 +111,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1585,6 +1595,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1586,6 +1596,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {
@@ -123,7 +123,7 @@
      return true;
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -686,6 +686,8 @@ class TemplateURLService : public WebDat
+@@ -685,6 +685,8 @@ class TemplateURLService : public WebDat
    // ---------- Browser state related members ---------------------------------
    PrefService* prefs_ = nullptr;
  

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

@@ -8,7 +8,7 @@
  #include "base/containers/flat_map.h"
  #include "base/metrics/histogram_macros.h"
  #include "base/metrics/user_metrics.h"
-@@ -1755,6 +1756,10 @@ bool TabStripModel::InternalCloseTabs(
+@@ -1790,6 +1791,10 @@ bool TabStripModel::InternalCloseTabs(
    if (items.empty())
      return true;
  

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

@@ -3,15 +3,15 @@
 
 --- a/chrome/browser/download/download_crx_util.cc
 +++ b/chrome/browser/download/download_crx_util.cc
-@@ -6,6 +6,7 @@
+@@ -8,6 +8,7 @@
  
- #include "chrome/browser/download/download_crx_util.h"
+ #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"
-@@ -126,6 +127,14 @@ scoped_refptr<extensions::CrxInstaller>
+@@ -127,6 +128,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)
-@@ -134,7 +143,7 @@ bool IsExtensionDownload(const DownloadI
+@@ -135,7 +144,7 @@ bool IsExtensionDownload(const DownloadI
    if (download_item.GetMimeType() == extensions::Extension::kMimeType ||
        extensions::UserScript::IsURLUserScript(download_item.GetURL(),
                                                download_item.GetMimeType())) {
@@ -69,7 +69,7 @@
    // Don't prompt for file types that are marked for opening automatically.
 --- a/chrome/browser/extensions/extension_management.cc
 +++ b/chrome/browser/extensions/extension_management.cc
-@@ -8,6 +8,7 @@
+@@ -10,6 +10,7 @@
  
  #include "base/bind.h"
  #include "base/callback_helpers.h"
@@ -77,7 +77,7 @@
  #include "base/containers/contains.h"
  #include "base/logging.h"
  #include "base/metrics/histogram_functions.h"
-@@ -234,6 +235,13 @@ bool ExtensionManagement::IsInstallation
+@@ -237,6 +238,13 @@ bool ExtensionManagement::IsInstallation
  bool ExtensionManagement::IsOffstoreInstallAllowed(
      const GURL& url,
      const GURL& referrer_url) const {

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch

@@ -30,4 +30,4 @@
 +        || base::CommandLine::ForCurrentProcess()->HasSwitch("disable-beforeunload")) {
      // If a site harassed the user enough for them to put it on mute, then it
      // lost its privilege to deny unloading.
-     std::move(callback).Run(true, base::string16());
+     std::move(callback).Run(true, std::u16string());

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

@@ -21,7 +21,7 @@
  #include "base/callback_helpers.h"
  #include "base/compiler_specific.h"
  #include "base/containers/flat_set.h"
-@@ -879,7 +880,8 @@ void HistoryBackend::InitImpl(
+@@ -907,7 +908,8 @@ void HistoryBackend::InitImpl(
    db_->GetStartDate(&first_recorded_time_);
  
    // Start expiring old stuff.
@@ -29,5 +29,5 @@
 +  if (!base::CommandLine::ForCurrentProcess()->HasSwitch("keep-old-history"))
 +    expirer_.StartExpiringOldStuff(TimeDelta::FromDays(kExpireDaysThreshold));
  
- #if defined(OS_ANDROID)
-   if (backend_client_) {
+   LOCAL_HISTOGRAM_TIMES("History.InitTime", TimeTicks::Now() - beginning_time);
+ }

+ 3 - 3
patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch

@@ -18,10 +18,10 @@
  #include <vector>
  
 +#include "base/command_line.h"
- #include "base/i18n/uchar.h"
  #include "base/lazy_instance.h"
  #include "base/numerics/safe_conversions.h"
-@@ -268,6 +269,13 @@ IDNConversionResult IDNToUnicodeWithAdju
+ #include "base/stl_util.h"
+@@ -266,6 +267,13 @@ IDNConversionResult IDNToUnicodeWithAdju
    host16.reserve(host.length());
    host16.insert(host16.end(), host.begin(), host.end());
  
@@ -34,4 +34,4 @@
 +
    // Compute the top level domain to be used in spoof checks later.
    base::StringPiece top_level_domain;
-   base::string16 top_level_domain_unicode;
+   std::u16string top_level_domain_unicode;

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

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
 +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -553,7 +553,8 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -607,7 +607,8 @@ void StartupBrowserCreatorImpl::AddInfoB
    if (command_line_.HasSwitch(switches::kKioskMode))
      return;
  

+ 2 - 2
patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch

@@ -38,7 +38,7 @@
  
  BrowserRootView::~BrowserRootView() {
    // It's possible to destroy the browser while a drop is active.  In this case,
-@@ -263,7 +278,7 @@ bool BrowserRootView::OnMouseWheel(const
+@@ -267,7 +282,7 @@ bool BrowserRootView::OnMouseWheel(const
  
    // Scroll-event-changes-tab is incompatible with scrolling tabstrip, so
    // disable it if the latter feature is enabled.
@@ -49,7 +49,7 @@
      // tabstrip, or the empty space beside the tabstrip.
 --- a/chrome/browser/ui/views/frame/browser_root_view.h
 +++ b/chrome/browser/ui/views/frame/browser_root_view.h
-@@ -130,6 +130,8 @@ class BrowserRootView : public views::in
+@@ -136,6 +136,8 @@ class BrowserRootView : public views::in
    int scroll_remainder_x_ = 0;
    int scroll_remainder_y_ = 0;
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -243,14 +243,30 @@ void ToolbarView::Init() {
+@@ -250,14 +250,30 @@ void ToolbarView::Init() {
  
    std::unique_ptr<ToolbarAccountIconContainerView>
        toolbar_account_icon_container;

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

@@ -13,9 +13,9 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/net/base/features.cc
 +++ b/net/base/features.cc
-@@ -205,5 +205,7 @@ const base::Feature kSameSiteCookiesBugf
- const base::Feature kNoCookieChangeNotificationOnLoad{
-     "NoCookieChangeNotificationOnLoad", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -233,5 +233,7 @@ const base::Feature kDocumentReporting{"
+                                        base::FEATURE_DISABLED_BY_DEFAULT};
+ #endif  // BUILDFLAG(ENABLE_REPORTING)
  
 +const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT};
 +
@@ -23,9 +23,9 @@
  }  // namespace net
 --- a/net/base/features.h
 +++ b/net/base/features.h
-@@ -308,6 +308,8 @@ NET_EXPORT extern const base::Feature kS
- // notifications are still dispatched as usual.
- NET_EXPORT extern const base::Feature kNoCookieChangeNotificationOnLoad;
+@@ -339,6 +339,8 @@ NET_EXPORT extern const base::Feature kN
+ NET_EXPORT extern const base::Feature kDocumentReporting;
+ #endif  // BUILDFLAG(ENABLE_REPORTING)
  
 +NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse;
 +
@@ -34,7 +34,7 @@
  
 --- a/net/dns/host_resolver_manager.cc
 +++ b/net/dns/host_resolver_manager.cc
-@@ -132,11 +132,6 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -134,11 +134,6 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  
@@ -46,7 +46,7 @@
  enum DnsResolveStatus {
    RESOLVE_STATUS_DNS_SUCCESS = 0,
    RESOLVE_STATUS_PROC_SUCCESS,
-@@ -3327,7 +3322,7 @@ bool HostResolverManager::IsIPv6Reachabl
+@@ -3340,7 +3335,7 @@ bool HostResolverManager::IsIPv6Reachabl
        (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
            kIPv6ProbePeriodMs) {
      SetLastIPv6ProbeResult(

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

@@ -78,7 +78,7 @@
    },
 --- a/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.js
 +++ b/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.js
-@@ -28,6 +28,7 @@
+@@ -28,6 +28,7 @@ import {addSingletonGetter, sendWithProm
   *            modelIndex: number,
   *            name: string,
   *            url: string,
@@ -86,36 +86,35 @@
   *            urlLocked: boolean}}
   * @see chrome/browser/ui/webui/settings/search_engine_manager_handler.cc
   */
-@@ -60,8 +61,10 @@ cr.define('settings', function() {
-      * @param {string} searchEngine
-      * @param {string} keyword
-      * @param {string} queryUrl
-+     * @param {string} suggestionsUrl
-      */
--    searchEngineEditCompleted(searchEngine, keyword, queryUrl) {}
-+    searchEngineEditCompleted(
-+        searchEngine, keyword, queryUrl, suggestionsUrl) {}
- 
-     /** @return {!Promise<!SearchEnginesInfo>} */
-     getSearchEnginesList() {}
-@@ -99,11 +102,12 @@ cr.define('settings', function() {
-     }
+@@ -59,8 +60,9 @@ export class SearchEnginesBrowserProxy {
+    * @param {string} searchEngine
+    * @param {string} keyword
+    * @param {string} queryUrl
++   * @param {string} suggestionsUrl
+    */
+-  searchEngineEditCompleted(searchEngine, keyword, queryUrl) {}
++  searchEngineEditCompleted(searchEngine, keyword, queryUrl, suggestionsUrl) {}
+ 
+   /** @return {!Promise<!SearchEnginesInfo>} */
+   getSearchEnginesList() {}
+@@ -98,11 +100,12 @@ export class SearchEnginesBrowserProxyIm
+   }
  
-     /** @override */
--    searchEngineEditCompleted(searchEngine, keyword, queryUrl) {
-+    searchEngineEditCompleted(searchEngine, keyword, queryUrl, suggestionsUrl) {
-       chrome.send('searchEngineEditCompleted', [
-         searchEngine,
-         keyword,
-         queryUrl,
-+        suggestionsUrl
-       ]);
-     }
+   /** @override */
+-  searchEngineEditCompleted(searchEngine, keyword, queryUrl) {
++  searchEngineEditCompleted(searchEngine, keyword, queryUrl, suggestionsUrl) {
+     chrome.send('searchEngineEditCompleted', [
+       searchEngine,
+       keyword,
+       queryUrl,
++      suggestionsUrl,
+     ]);
+   }
  
 --- a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
 +++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
-@@ -66,6 +66,15 @@ bool EditSearchEngineController::IsURLVa
-       service->search_terms_data())).is_valid();
+@@ -67,6 +67,15 @@ bool EditSearchEngineController::IsURLVa
+       .is_valid();
  }
  
 +bool EditSearchEngineController::IsSuggestionsURLValid(
@@ -128,12 +127,12 @@
 +}
 +
  bool EditSearchEngineController::IsKeywordValid(
-     const base::string16& keyword_input) const {
-   base::string16 keyword_input_trimmed(
-@@ -88,10 +97,12 @@ bool EditSearchEngineController::IsKeywo
+     const std::u16string& keyword_input) const {
+   std::u16string keyword_input_trimmed(
+@@ -89,10 +98,12 @@ bool EditSearchEngineController::IsKeywo
  void EditSearchEngineController::AcceptAddOrEdit(
-     const base::string16& title_input,
-     const base::string16& keyword_input,
+     const std::u16string& title_input,
+     const std::u16string& keyword_input,
 -    const std::string& url_input) {
 +    const std::string& url_input,
 +    const std::string& suggestions_url_input) {
@@ -144,7 +143,7 @@
  
    TemplateURLService* template_url_service =
        TemplateURLServiceFactory::GetForProfile(profile_);
-@@ -119,7 +130,8 @@ void EditSearchEngineController::AcceptA
+@@ -120,7 +131,8 @@ void EditSearchEngineController::AcceptA
    } else {
      // Adding or modifying an entry via the Delegate.
      edit_keyword_delegate_->OnEditedKeyword(template_url_, title_input,
@@ -156,17 +155,17 @@
  
 --- a/chrome/browser/ui/search_engines/edit_search_engine_controller.h
 +++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.h
-@@ -24,7 +24,8 @@ class EditSearchEngineControllerDelegate
+@@ -23,7 +23,8 @@ class EditSearchEngineControllerDelegate
    virtual void OnEditedKeyword(TemplateURL* template_url,
-                                const base::string16& title,
-                                const base::string16& keyword,
+                                const std::u16string& title,
+                                const std::u16string& keyword,
 -                               const std::string& url) = 0;
 +                               const std::string& url,
 +                               const std::string& suggestions_url) = 0;
  
   protected:
    virtual ~EditSearchEngineControllerDelegate() {}
-@@ -50,6 +51,8 @@ class EditSearchEngineController {
+@@ -49,6 +50,8 @@ class EditSearchEngineController {
    // character results in a valid url.
    bool IsURLValid(const std::string& url_input) const;
  
@@ -175,10 +174,10 @@
    // Returns true if the value of |keyword_input| represents a valid keyword.
    // The keyword is valid if it is non-empty and does not conflict with an
    // existing entry. NOTE: this is just the keyword, not the title and url.
-@@ -58,7 +61,8 @@ class EditSearchEngineController {
+@@ -57,7 +60,8 @@ class EditSearchEngineController {
    // Completes the add or edit of a search engine.
-   void AcceptAddOrEdit(const base::string16& title_input,
-                        const base::string16& keyword_input,
+   void AcceptAddOrEdit(const std::u16string& title_input,
+                        const std::u16string& keyword_input,
 -                       const std::string& url_input);
 +                       const std::string& url_input,
 +                       const std::string& suggestions_url_input);
@@ -191,12 +190,12 @@
  KeywordEditorController::~KeywordEditorController() {
  }
  
--int KeywordEditorController::AddTemplateURL(const base::string16& title,
--                                            const base::string16& keyword,
+-int KeywordEditorController::AddTemplateURL(const std::u16string& title,
+-                                            const std::u16string& keyword,
 -                                            const std::string& url) {
 +int KeywordEditorController::AddTemplateURL(
-+    const base::string16& title,
-+    const base::string16& keyword,
++    const std::u16string& title,
++    const std::u16string& keyword,
 +    const std::string& url,
 +    const std::string& suggestions_url) {
    DCHECK(!url.empty());
@@ -211,13 +210,13 @@
  }
  
 -void KeywordEditorController::ModifyTemplateURL(TemplateURL* template_url,
--                                                const base::string16& title,
--                                                const base::string16& keyword,
+-                                                const std::u16string& title,
+-                                                const std::u16string& keyword,
 -                                                const std::string& url) {
 +void KeywordEditorController::ModifyTemplateURL(
 +    TemplateURL* template_url,
-+    const base::string16& title,
-+    const base::string16& keyword,
++    const std::u16string& title,
++    const std::u16string& keyword,
 +    const std::string& url,
 +    const std::string& suggestions_url) {
    DCHECK(!url.empty());
@@ -240,10 +239,10 @@
  }
 --- a/chrome/browser/ui/search_engines/keyword_editor_controller.h
 +++ b/chrome/browser/ui/search_engines/keyword_editor_controller.h
-@@ -26,14 +26,16 @@ class KeywordEditorController {
+@@ -25,14 +25,16 @@ class KeywordEditorController {
    // model.  Returns the index of the added URL.
-   int AddTemplateURL(const base::string16& title,
-                      const base::string16& keyword,
+   int AddTemplateURL(const std::u16string& title,
+                      const std::u16string& keyword,
 -                     const std::string& url);
 +                     const std::string& url,
 +                     const std::string& suggestions_url);
@@ -251,8 +250,8 @@
    // Invoked when the user modifies a TemplateURL. Updates the
    // TemplateURLService and table model appropriately.
    void ModifyTemplateURL(TemplateURL* template_url,
-                          const base::string16& title,
-                          const base::string16& keyword,
+                          const std::u16string& title,
+                          const std::u16string& keyword,
 -                         const std::string& url);
 +                         const std::string& url,
 +                         const std::string& suggestions_url);
@@ -263,8 +262,8 @@
 +++ b/chrome/browser/ui/search_engines/template_url_table_model.cc
 @@ -98,20 +98,24 @@ void TemplateURLTableModel::Remove(int i
  void TemplateURLTableModel::Add(int index,
-                                 const base::string16& short_name,
-                                 const base::string16& keyword,
+                                 const std::u16string& short_name,
+                                 const std::u16string& keyword,
 -                                const std::string& url) {
 +                                const std::string& url,
 +                                const std::string& suggestions_url) {
@@ -279,13 +278,13 @@
  }
  
 -void TemplateURLTableModel::ModifyTemplateURL(int index,
--                                              const base::string16& title,
--                                              const base::string16& keyword,
+-                                              const std::u16string& title,
+-                                              const std::u16string& keyword,
 -                                              const std::string& url) {
 +void TemplateURLTableModel::ModifyTemplateURL(
 +    int index,
-+    const base::string16& title,
-+    const base::string16& keyword,
++    const std::u16string& title,
++    const std::u16string& keyword,
 +    const std::string& url,
 +    const std::string& suggestions_url) {
    DCHECK(index >= 0 && index <= RowCount());
@@ -303,18 +302,18 @@
  TemplateURL* TemplateURLTableModel::GetTemplateURL(int index) {
 --- a/chrome/browser/ui/search_engines/template_url_table_model.h
 +++ b/chrome/browser/ui/search_engines/template_url_table_model.h
-@@ -52,13 +52,15 @@ class TemplateURLTableModel : public ui:
+@@ -51,13 +51,15 @@ class TemplateURLTableModel : public ui:
    void Add(int index,
-            const base::string16& short_name,
-            const base::string16& keyword,
+            const std::u16string& short_name,
+            const std::u16string& keyword,
 -           const std::string& url);
 +           const std::string& url,
 +           const std::string& suggestions_url);
  
    // Update the entry at the specified index.
    void ModifyTemplateURL(int index,
-                          const base::string16& title,
-                          const base::string16& keyword,
+                          const std::u16string& title,
+                          const std::u16string& keyword,
 -                         const std::string& url);
 +                         const std::string& url,
 +                         const std::string& suggestions_url);
@@ -343,8 +342,8 @@
    if (icon_url.is_valid())
 @@ -290,12 +294,14 @@ void SearchEnginesHandler::HandleSearchE
  void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
-                                            const base::string16& title,
-                                            const base::string16& keyword,
+                                            const std::u16string& title,
+                                            const std::u16string& keyword,
 -                                           const std::string& url) {
 +                                           const std::string& url,
 +                                           const std::string& suggestions_url) {
@@ -396,8 +395,8 @@
 +++ b/chrome/browser/ui/webui/settings/search_engines_handler.h
 @@ -46,7 +46,8 @@ class SearchEnginesHandler : public Sett
    void OnEditedKeyword(TemplateURL* template_url,
-                        const base::string16& title,
-                        const base::string16& keyword,
+                        const std::u16string& title,
+                        const std::u16string& keyword,
 -                       const std::string& url) override;
 +                       const std::string& url,
 +                       const std::string& suggestions_url) override;
@@ -417,17 +416,17 @@
  
 --- a/components/search_engines/template_url_service.cc
 +++ b/components/search_engines/template_url_service.cc
-@@ -643,7 +643,8 @@ void TemplateURLService::IncrementUsageC
+@@ -644,7 +644,8 @@ void TemplateURLService::IncrementUsageC
  void TemplateURLService::ResetTemplateURL(TemplateURL* url,
-                                           const base::string16& title,
-                                           const base::string16& keyword,
+                                           const std::u16string& title,
+                                           const std::u16string& keyword,
 -                                          const std::string& search_url) {
 +                                          const std::string& search_url,
 +                                          const std::string& suggestions_url) {
    DCHECK(!IsCreatedByExtension(url));
    DCHECK(!keyword.empty());
    DCHECK(!search_url.empty());
-@@ -657,6 +658,7 @@ void TemplateURLService::ResetTemplateUR
+@@ -658,6 +659,7 @@ void TemplateURLService::ResetTemplateUR
    }
    data.safe_for_autoreplace = false;
    data.last_modified = clock_->Now();
@@ -439,8 +438,8 @@
 +++ b/components/search_engines/template_url_service.h
 @@ -252,7 +252,8 @@ class TemplateURLService : public WebDat
    void ResetTemplateURL(TemplateURL* url,
-                         const base::string16& title,
-                         const base::string16& keyword,
+                         const std::u16string& title,
+                         const std::u16string& keyword,
 -                        const std::string& search_url);
 +                        const std::string& search_url,
 +                        const std::string& suggestions_url);

+ 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
-@@ -2606,7 +2606,13 @@ constexpr char kWallpaperWebUIInternalNa
+@@ -2587,7 +2587,13 @@ const FeatureEntry::FeatureVariation kPa
  // calculate and verify checksum.
  //
  // When adding a new choice, add it to the end of the list.

+ 1 - 1
patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch

@@ -8,7 +8,7 @@
    dial_ = CreateDialService();
    dial_->AddObserver(this);
 -  DoDiscovery();
--  repeating_timer_.reset(new base::RepeatingTimer());
+-  repeating_timer_ = std::make_unique<base::RepeatingTimer>();
 -  repeating_timer_->Start(FROM_HERE, refresh_interval_delta_, this,
 -                          &DialRegistry::DoDiscovery);
  }

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

@@ -6,11 +6,11 @@
  #include "components/download/public/common/download_interrupt_reasons_utils.h"
  #include "components/download/public/common/download_item.h"
  #include "components/download/public/common/download_stats.h"
--#include "components/download/quarantine/quarantine.h"
+-#include "components/services/quarantine/quarantine.h"
  #include "crypto/secure_hash.h"
  
  #if defined(OS_WIN)
-@@ -533,133 +532,12 @@ DownloadInterruptReason BaseFile::Publis
+@@ -533,105 +532,6 @@ DownloadInterruptReason BaseFile::Publis
  }
  #endif  // defined(OS_ANDROID)
  
@@ -88,34 +88,6 @@
 -
 -}  // namespace
 -
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
--    defined(OS_CHROMEOS)
--
--DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
--    const std::string& client_guid,
--    const GURL& source_url,
--    const GURL& referrer_url) {
--  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
--  DCHECK(!detached_);
--  DCHECK(!full_path_.empty());
--
--  CONDITIONAL_TRACE(BEGIN0("download", "DownloadFileAnnotate"));
--  QuarantineFileResult result = QuarantineFile(
--      full_path_, GetEffectiveAuthorityURL(source_url, referrer_url),
--      referrer_url, client_guid);
--  CONDITIONAL_TRACE(END0("download", "DownloadFileAnnotate"));
--
--  return QuarantineFileResultToReason(result);
--}
--#else  // !OS_WIN && !OS_APPLE && !OS_LINUX && !OS_CHROMEOS
- DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
-     const std::string& client_guid,
-     const GURL& source_url,
-     const GURL& referrer_url) {
-   return DOWNLOAD_INTERRUPT_REASON_NONE;
- }
--#endif
--
 -void BaseFile::OnFileQuarantined(
 -    bool connection_error,
 -    quarantine::mojom::QuarantineFileResult result) {
@@ -144,17 +116,19 @@
  
  void BaseFile::AnnotateWithSourceInformation(
      const std::string& client_guid,
-@@ -667,30 +545,8 @@ void BaseFile::AnnotateWithSourceInforma
+@@ -639,32 +539,8 @@ void BaseFile::AnnotateWithSourceInforma
      const GURL& referrer_url,
      mojo::PendingRemote<quarantine::mojom::Quarantine> remote_quarantine,
      OnAnnotationDoneCallback on_annotation_done_callback) {
 -  GURL authority_url = GetEffectiveAuthorityURL(source_url, referrer_url);
 -  if (!remote_quarantine) {
 -#if defined(OS_WIN)
--    QuarantineFileResult result = quarantine::SetInternetZoneIdentifierDirectly(
--        full_path_, authority_url, referrer_url);
+-    quarantine::mojom::QuarantineFileResult result =
+-        quarantine::SetInternetZoneIdentifierDirectly(full_path_, authority_url,
+-                                                      referrer_url);
 -#else
--    QuarantineFileResult result = QuarantineFileResult::ANNOTATION_FAILED;
+-    quarantine::mojom::QuarantineFileResult result =
+-        quarantine::mojom::QuarantineFileResult::ANNOTATION_FAILED;
 -#endif
 -    std::move(on_annotation_done_callback)
 -        .Run(QuarantineFileResultToReason(result));
@@ -179,17 +153,17 @@
  }  // namespace download
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -64,7 +64,6 @@ source_set("browser") {
-     "//components/discardable_memory/service",
-     "//components/download/database",
-     "//components/download/public/common:public",
--    "//components/download/quarantine",
-     "//components/filename_generation",
-     "//components/link_header_util",
-     "//components/metrics",
+@@ -78,7 +78,6 @@ source_set("browser") {
+     "//components/payments/mojom",
+     "//components/power_scheduler",
+     "//components/services/filesystem:lib",
+-    "//components/services/quarantine:quarantine",
+     "//components/services/storage",
+     "//components/services/storage:filesystem_proxy_factory",
+     "//components/services/storage/dom_storage:local_storage_proto",
 --- a/content/browser/renderer_host/pepper/pepper_file_io_host.cc
 +++ b/content/browser/renderer_host/pepper/pepper_file_io_host.cc
-@@ -437,7 +437,7 @@ void PepperFileIOHost::OnLocalFileOpened
+@@ -438,7 +438,7 @@ void PepperFileIOHost::OnLocalFileOpened
      ppapi::host::ReplyMessageContext reply_context,
      const base::FilePath& path,
      base::File::Error error_code) {
@@ -198,7 +172,7 @@
    // Quarantining a file before its contents are available is only supported on
    // Windows and Linux.
    if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) {
-@@ -458,7 +458,7 @@ void PepperFileIOHost::OnLocalFileOpened
+@@ -472,7 +472,7 @@ void PepperFileIOHost::OnLocalFileOpened
  #endif
  }
  
@@ -213,17 +187,19 @@
  #include "base/macros.h"
  #include "base/memory/ref_counted.h"
  #include "base/memory/weak_ptr.h"
--#include "components/download/quarantine/quarantine.h"
+-#include "components/services/quarantine/public/mojom/quarantine.mojom.h"
  #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
  #include "ipc/ipc_listener.h"
  #include "ipc/ipc_platform_file.h"
-@@ -90,10 +89,6 @@ class PepperFileIOHost : public ppapi::h
+@@ -91,12 +90,6 @@ class PepperFileIOHost : public ppapi::h
                           const base::FilePath& path,
                           base::File::Error error_code);
  
--  void OnLocalFileQuarantined(ppapi::host::ReplyMessageContext reply_context,
--                              const base::FilePath& path,
--                              download::QuarantineFileResult quarantine_result);
+-  void OnLocalFileQuarantined(
+-      ppapi::host::ReplyMessageContext reply_context,
+-      const base::FilePath& path,
+-      mojo::Remote<quarantine::mojom::Quarantine> quarantine_remote,
+-      quarantine::mojom::QuarantineFileResult quarantine_result);
 -
    void SendFileOpenReply(ppapi::host::ReplyMessageContext reply_context,
                           base::File::Error error_code);

+ 1 - 1
patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch

@@ -2,7 +2,7 @@
 
 --- a/components/url_formatter/url_formatter.cc
 +++ b/components/url_formatter/url_formatter.cc
-@@ -471,14 +471,14 @@ ComponentResult IDNToUnicodeOneComponent
+@@ -465,14 +465,14 @@ ComponentResult IDNToUnicodeOneComponent
  }  // namespace
  
  const FormatUrlType kFormatUrlOmitNothing = 0;

+ 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
-@@ -3552,8 +3552,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3572,8 +3572,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_RENDERER))));
          }
@@ -13,7 +13,7 @@
        }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-@@ -3567,8 +3566,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3587,8 +3586,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
-@@ -334,7 +334,7 @@ const base::Feature kComputePressure{"Co
+@@ -375,7 +375,7 @@ const base::Feature kComputePressure{"Co
  // Prefetch request properties are updated to be privacy-preserving. See
  // crbug.com/988956.
  const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/views/toolbar/reload_button.cc
 +++ b/chrome/browser/ui/views/toolbar/reload_button.cc
-@@ -94,7 +94,7 @@ bool ReloadButton::GetMenuEnabled() cons
+@@ -83,7 +83,7 @@ bool ReloadButton::GetMenuEnabled() cons
  }
  
  void ReloadButton::SetMenuEnabled(bool enable) {
@@ -10,4 +10,4 @@
 +  menu_enabled_ = true;
  }
  
- void ReloadButton::OnThemeChanged() {
+ void ReloadButton::OnMouseExited(const ui::MouseEvent& event) {

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/browser_commands.cc
 +++ b/chrome/browser/ui/browser_commands.cc
-@@ -411,11 +411,6 @@ int GetContentRestrictions(const Browser
+@@ -415,11 +415,6 @@ int GetContentRestrictions(const Browser
      CoreTabHelper* core_tab_helper =
          CoreTabHelper::FromWebContents(current_tab);
      content_restrictions = core_tab_helper->content_restrictions();
@@ -14,7 +14,7 @@
    }
    return content_restrictions;
  }
-@@ -1249,8 +1244,7 @@ bool CanSavePage(const Browser* browser)
+@@ -1272,8 +1267,7 @@ bool CanSavePage(const Browser* browser)
            prefs::kAllowFileSelectionDialogs)) {
      return false;
    }

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

@@ -13,7 +13,7 @@
        AddChildView(std::make_unique<views::InkDropContainerView>());
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -2664,8 +2664,6 @@ void TabStrip::NewTabButtonPressed(const
+@@ -2651,8 +2651,6 @@ void TabStrip::NewTabButtonPressed(const
  
      const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
      if (mouse.IsOnlyMiddleMouseButton()) {
@@ -21,8 +21,8 @@
 -              ui::ClipboardBuffer::kSelection)) {
          ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
          CHECK(clipboard);
-         base::string16 clipboard_text;
-@@ -2673,7 +2671,6 @@ void TabStrip::NewTabButtonPressed(const
+         std::u16string clipboard_text;
+@@ -2660,7 +2658,6 @@ void TabStrip::NewTabButtonPressed(const
                              /* data_dst = */ nullptr, &clipboard_text);
          if (!clipboard_text.empty())
            controller_->CreateNewTabWithLocation(clipboard_text);

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

@@ -27,7 +27,7 @@
              href="chrome://settings/clearBrowserData"
 --- a/chrome/browser/resources/settings/a11y_page/a11y_page.html
 +++ b/chrome/browser/resources/settings/a11y_page/a11y_page.html
-@@ -57,10 +57,6 @@
+@@ -51,10 +51,6 @@
              sub-label="$i18n{accessibleImageLabelsSubtitle}">
          </settings-toggle-button>
  </if>
@@ -36,11 +36,11 @@
 -            external>
 -        </cr-link-row>
        </div>
- <if expr="not is_macosx and not chromeos">
-       <template is="dom-if" route-path="/captions">
+ <if expr="not chromeos">
+       <template is="dom-if" if="[[!captionSettingsOpensExternally_]]">
 --- a/chrome/browser/resources/settings/about_page/about_page.html
 +++ b/chrome/browser/resources/settings/about_page/about_page.html
-@@ -124,8 +124,6 @@
+@@ -122,8 +122,6 @@
          </div>
        </template>
  </if>
@@ -69,7 +69,7 @@
            <settings-section page-title="$i18n{privacyPageTitle}"
 --- a/chrome/browser/resources/settings/privacy_page/personalization_options.html
 +++ b/chrome/browser/resources/settings/privacy_page/personalization_options.html
-@@ -35,7 +35,7 @@
+@@ -8,7 +8,7 @@
          border-top: none;
        }
      </style>
@@ -77,8 +77,8 @@
 +<if expr="false">
      <settings-toggle-button id="signinAllowedToggle"
          class="hr"
-         disabled="[[syncFirstSetupInProgress_]]"
-@@ -77,12 +77,6 @@
+         hidden="[[!signinAvailable_]]"
+@@ -51,12 +51,6 @@
      </settings-toggle-button>
  </if><!-- not chromeos -->
  </if><!-- _google_chrome -->
@@ -129,21 +129,21 @@
    Profile* profile = browser()->profile();
  
    if (!profile->IsRegularProfile())
-@@ -517,8 +518,7 @@ void ProfileMenuView::BuildIdentity() {
+@@ -514,8 +515,7 @@ void ProfileMenuView::BuildIdentity() {
          menu_title_, menu_subtitle_);
    } else {
-     menu_title_ = base::string16();
+     menu_title_ = std::u16string();
 -    menu_subtitle_ =
 -        l10n_util::GetStringUTF16(IDS_PROFILES_LOCAL_PROFILE_STATE);
-+    menu_subtitle_ = base::string16();
++    menu_subtitle_ = std::u16string();
      SetProfileIdentityInfo(
          profile_name, background_color, edit_button_params,
          ui::ImageModel::FromImage(
-@@ -589,6 +589,7 @@ void ProfileMenuView::BuildSyncInfo() {
+@@ -586,6 +586,7 @@ void ProfileMenuView::BuildSyncInfo() {
      return;
    }
  
 +  return;
    // Show sync promos.
-   CoreAccountInfo unconsented_account = identity_manager->GetPrimaryAccountInfo(
-       signin::ConsentLevel::kNotRequired);
+   CoreAccountInfo unconsented_account =
+       identity_manager->GetPrimaryAccountInfo(signin::ConsentLevel::kSignin);

+ 8 - 8
patches/extra/ungoogled-chromium/searx.patch

@@ -20,11 +20,11 @@
        "keyword": "ask.com",
 --- a/components/search_engines/search_engine_type.h
 +++ b/components/search_engines/search_engine_type.h
-@@ -47,6 +47,7 @@ enum SearchEngineType {
-   SEARCH_ENGINE_SAPO,
-   SEARCH_ENGINE_SEARCHNU,
-   SEARCH_ENGINE_SEARCH_RESULTS,
-+  SEARCH_ENGINE_SEARX,
-   SEARCH_ENGINE_SEZNAM,
-   SEARCH_ENGINE_SNAPDO,
-   SEARCH_ENGINE_SOFTONIC,
+@@ -74,6 +74,7 @@ enum SearchEngineType {
+   SEARCH_ENGINE_OCEANHERO = 57,
+   SEARCH_ENGINE_PRIVACYWALL = 58,
+   SEARCH_ENGINE_ECOSIA = 59,
++  SEARCH_ENGINE_SEARX = 60,
+ 
+   SEARCH_ENGINE_MAX  // Bounding value needed for UMA histogram macro.
+ };

+ 2 - 1
patches/series

@@ -26,7 +26,7 @@ core/ungoogled-chromium/disable-fonts-googleapis-references.patch
 core/ungoogled-chromium/disable-webstore-urls.patch
 core/ungoogled-chromium/fix-learn-doubleclick-hsts.patch
 core/ungoogled-chromium/disable-webrtc-log-uploader.patch
-core/ungoogled-chromium/use-local-devtools-files.patch
+core/ungoogled-chromium/fix-building-with-prunned-binaries.patch
 core/ungoogled-chromium/disable-network-time-tracker.patch
 core/ungoogled-chromium/disable-mei-preload.patch
 core/ungoogled-chromium/fix-building-without-safebrowsing.patch
@@ -34,6 +34,7 @@ core/ungoogled-chromium/remove-unused-preferences-fields.patch
 core/ungoogled-chromium/fix-building-without-enabling-reporting.patch
 core/ungoogled-chromium/block-requests.patch
 core/bromite/disable-fetching-field-trials.patch
+core/chromium-upstream/fix-crash-in-ThemeService.patch
 
 extra/inox-patchset/0006-modify-default-prefs.patch
 extra/inox-patchset/0008-restore-classic-ntp.patch

+ 44 - 25
pruning.list

@@ -1,3 +1,4 @@
+android_webview/test/data/components/fake_component.crx
 android_webview/test/shell/assets/star.svgz
 android_webview/test/shell/assets/video.webm
 ash/display/test_data/06af5c10.icc
@@ -8,11 +9,6 @@ base/test/data/file_util/binary_file_diff.bin
 base/test/data/file_util/binary_file_same.bin
 base/test/data/file_version_info_unittest/FileVersionInfoTest1.dll
 base/test/data/file_version_info_unittest/no_version_info.dll
-base/test/data/mac/arm64
-base/test/data/mac/elf
-base/test/data/mac/universal
-base/test/data/mac/x86
-base/test/data/mac/x86_64
 base/test/data/pe_image/pe_image_test_32.dll
 base/test/data/pe_image/pe_image_test_64.dll
 base/test/data/pe_image/pe_image_test_arm64.dll
@@ -36,7 +32,6 @@ buildtools/linux64/gn
 buildtools/third_party/eu-strip/bin/eu-strip
 chrome/app/etw_events/MSG00001.bin
 chrome/app/etw_events/chrome_events_winTEMP.BIN
-chrome/browser/chromeos/power/ml/smart_dim/20181115_example_preprocessor_config.pb
 chrome/browser/chromeos/power/ml/smart_dim/20190521_example_preprocessor_config.pb
 chrome/browser/resources/chromeos/accessibility/chromevox/background/earcons/alert_modal.ogg
 chrome/browser/resources/chromeos/accessibility/chromevox/background/earcons/alert_nonmodal.ogg
@@ -75,7 +70,7 @@ chrome/browser/resources/default_apps/youtube.crx
 chrome/browser/resources/media/mei_preload/preloaded_data.pb
 chrome/browser/ui/app_list/search/search_result_ranker/20190722_example_preprocessor_config.pb
 chrome/browser/ui/app_list/search/search_result_ranker/search_ranker_assets/20190923_example_preprocessor_config.pb
-chrome/build/pgo_profiles/chrome-linux-4430-1618483786-646ea3f0575412a6f8d1607da5c9f7b4f0e5e58d.profdata
+chrome/build/pgo_profiles/chrome-linux-4472-1621756476-ebad7a91210ae5a7ae94aabb1dd5a349fcc91380.profdata
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/Network Share Test.lnk
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/New folder - Shortcut.lnk
 chrome/chrome_cleaner/parsers/shortcut_parser/target/data/lnk_parser_fuzzer/long_name.lnk
@@ -184,6 +179,9 @@ components/safe_browsing/core/common/safe_browsing_prefs.h
 components/services/storage/test_data/legacy_dom_storage_database.localstorage
 components/signin/public/base/signin_pref_names.cc
 components/signin/public/base/signin_pref_names.h
+components/test/data/ad_tagging/allow.zip
+components/test/data/ad_tagging/bear-320x240-video-only.webm
+components/test/data/ad_tagging/disallow.zip
 components/test/data/autofill/automated_integration/testdata/Default/Web Data
 components/test/data/cast_certificate/testsuite/testsuite1.pb
 components/test/data/crx_file/sample.zip
@@ -197,6 +195,7 @@ components/test/data/history/HistoryNoDuration
 components/test/data/history/HistoryNoSource
 components/test/data/history/History_with_starred
 components/test/data/omnibox/on_device_head_test_model_index.bin
+components/test/data/optimization_guide/bert_page_topics_model.tflite
 components/test/data/optimization_guide/simple_test.tflite
 components/test/data/paint_preview/PaintPreviewTestService/wikipedia/150869817BD7A616833436F122EF294C.skp
 components/test/data/paint_preview/PaintPreviewTestService/wikipedia/ABE3BC9BB03E9107A321304E21C0A644.skp
@@ -289,6 +288,7 @@ ios/chrome/test/data/sessions/session_m58.plist
 ios/chrome/test/data/voice/test_sound.m4a
 ios/testing/data/http_server_files/generic.pkpass
 ios/testing/data/http_server_files/redchair.usdz
+ios/testing/data/http_server_files/video_sample.mov
 ios/web/test/data/testpass.pkpass
 media/formats/mp4/h264_annex_b_fuzz_corpus/chunk1-config-idr.bin
 media/formats/mp4/h264_annex_b_fuzz_corpus/chunk2-non-idr.bin
@@ -5622,6 +5622,15 @@ third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Secu
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx
+third_party/boringssl/src/crypto/pkcs8/test/empty_password.p12
+third_party/boringssl/src/crypto/pkcs8/test/no_encryption.p12
+third_party/boringssl/src/crypto/pkcs8/test/nss.p12
+third_party/boringssl/src/crypto/pkcs8/test/null_password.p12
+third_party/boringssl/src/crypto/pkcs8/test/openssl.p12
+third_party/boringssl/src/crypto/pkcs8/test/pbes2_sha1.p12
+third_party/boringssl/src/crypto/pkcs8/test/pbes2_sha256.p12
+third_party/boringssl/src/crypto/pkcs8/test/unicode_password.p12
+third_party/boringssl/src/crypto/pkcs8/test/windows.p12
 third_party/boringssl/src/fuzz/bn_div_corpus/003c251663b41c83a0f83abc47c785b353849b99
 third_party/boringssl/src/fuzz/bn_div_corpus/003cade09fe7fd51c9a44a547f9d37e54a772cde
 third_party/boringssl/src/fuzz/bn_div_corpus/006ab25bff8f0f5e84dfe2baa2ea02174b6f7c10
@@ -10387,6 +10396,10 @@ third_party/grpc/src/examples/android/helloworld/gradle/wrapper/gradle-wrapper.j
 third_party/grpc/src/src/android/test/interop/gradle/wrapper/gradle-wrapper.jar
 third_party/grpc/src/src/csharp/keys/Grpc.public.snk
 third_party/grpc/src/src/csharp/keys/Grpc.snk
+third_party/grpc/src/src/php/tests/generated_code/GPBMetadata/Math.php
+third_party/grpc/src/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Messages.php
+third_party/grpc/src/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/PBEmpty.php
+third_party/grpc/src/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Test.php
 third_party/grpc/src/test/core/end2end/fuzzers/client_fuzzer_corpus/001946397b463a3562c5951f6325069d8a3a2ded
 third_party/grpc/src/test/core/end2end/fuzzers/client_fuzzer_corpus/0083d5addbeca55271ed7ef93c8016bf7ca76903
 third_party/grpc/src/test/core/end2end/fuzzers/client_fuzzer_corpus/00c8446b230bebbae2b473552b174a06b446337a
@@ -13651,6 +13664,7 @@ third_party/libdrm/src/intel/tests/gm45-3d.batch
 third_party/libjpeg_turbo/testimages/test1.icc
 third_party/libjpeg_turbo/testimages/test2.icc
 third_party/libjpeg_turbo/testimages/testorig.ppm
+third_party/libjxl/src/third_party/testdata/jxl/color_management/sRGB-D2700.icc
 third_party/liblouis/src/.travis/secrets/deploy_key.enc
 third_party/liblouis/src/tables/fr-bfu-comp8.utb
 third_party/liblouis/src/tables/hr-chardefs.cti
@@ -15885,12 +15899,6 @@ third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_x86_64.core
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-i386.core
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-i386.out
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.core
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.out
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.core
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.out
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.core
-third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.out
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-ppc64le.core
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-ppc64le.out
 third_party/llvm/lldb/test/API/functionalities/postmortem/elf-core/linux-s390x.core
@@ -15967,6 +15975,7 @@ third_party/llvm/llvm/test/Bitcode/Inputs/PR23310.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/apple-clang-700-O3-g-1.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/branch-weight.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/byval-upgrade.bc
+third_party/llvm/llvm/test/Bitcode/Inputs/inalloca-upgrade.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/infer_dso_local.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/invalid-GCTable-overflow.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/invalid-abbrev-fixed-size-too-big.bc
@@ -16101,8 +16110,10 @@ third_party/llvm/llvm/test/Bitcode/upgrade-mrr-runtime-calls.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-objcretainrelease-asm.ll.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-objcretainrelease.ll.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-pointer-address-space.ll.bc
+third_party/llvm/llvm/test/Bitcode/upgrade-ptr-annotation.ll.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-subprogram-this.ll.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-subprogram.ll.bc
+third_party/llvm/llvm/test/Bitcode/upgrade-var-annotation.ll.bc
 third_party/llvm/llvm/test/Bitcode/upgrade-vecreduce-intrinsics.ll.bc
 third_party/llvm/llvm/test/Bitcode/variableArgumentIntrinsic.3.2.ll.bc
 third_party/llvm/llvm/test/Bitcode/vectorInstructions.3.2.ll.bc
@@ -16433,6 +16444,7 @@ third_party/llvm/llvm/test/ThinLTO/X86/Inputs/autoupgrade.bc
 third_party/llvm/llvm/test/ThinLTO/X86/Inputs/drop-debug-info.bc
 third_party/llvm/llvm/test/Transforms/GlobalOpt/2007-04-05-Crash.ll
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/bad.extbinary.afdo
+third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/csspgo-import-list.prof.extbin
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/ctxsplit.extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/fnptr.binprof
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.compact.afdo
@@ -16445,6 +16457,8 @@ third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/inline.extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/inline.fixlenmd5.extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/inline.md5extbinary.afdo
 third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdo
+third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/uniqname.nosuffix.afdo
+third_party/llvm/llvm/test/Transforms/SampleProfile/Inputs/uniqname.suffix.afdo
 third_party/llvm/llvm/test/Verifier/non-integer-gep-index.ll.bc
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/absolute_sym.macho.i386
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/absolute_sym.macho.i386.o
@@ -16534,11 +16548,18 @@ third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/eh_frame/eh_frame.o
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/extern/extern.o
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/extern/extern.out
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/extern/main.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/label/label.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/label/label.out
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/private_extern/main.o
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/private_extern/private_extern.o
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/private_extern/private_extern.out
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/templated_operators/template_operators
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/templated_operators/template_operators.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/thinlto/bar.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/thinlto/foo.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/thinlto/foobar.dylib
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/thinlto/lto/0.x86_64.thinlto.o
+third_party/llvm/llvm/test/tools/dsymutil/Inputs/private/tmp/thinlto/lto/1.x86_64.thinlto.o
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/remarks/basic.macho.remarks.archive.x86_64
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/remarks/basic.macho.remarks.empty.x86_64
 third_party/llvm/llvm/test/tools/dsymutil/Inputs/remarks/basic.macho.remarks.x86_64
@@ -16583,6 +16604,7 @@ third_party/llvm/llvm/test/tools/llvm-cov/Inputs/binary-formats.v1.linux64l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/binary-formats.v2.linux32l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/binary-formats.v2.linux64l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
+third_party/llvm/llvm/test/tools/llvm-cov/Inputs/binary-formats.v6.linux64l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/branch-c-general.o32l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.o32l
 third_party/llvm/llvm/test/tools/llvm-cov/Inputs/branch-macros.o32l
@@ -16664,6 +16686,8 @@ third_party/llvm/llvm/test/tools/llvm-cxxdump/Inputs/mixed-archive.coff-i386
 third_party/llvm/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.coff-i386
 third_party/llvm/llvm/test/tools/llvm-cxxdump/Inputs/trivial.obj.elf-i386
 third_party/llvm/llvm/test/tools/llvm-dwarfdump/X86/Inputs/empty.dSYM
+third_party/llvm/llvm/test/tools/llvm-dwarfdump/XCOFF/Inputs/basic32.o
+third_party/llvm/llvm/test/tools/llvm-dwarfdump/XCOFF/Inputs/basic64.o
 third_party/llvm/llvm/test/tools/llvm-dwp/Inputs/compress/a.dwo
 third_party/llvm/llvm/test/tools/llvm-dwp/Inputs/compressfail/a.dwo
 third_party/llvm/llvm/test/tools/llvm-dwp/Inputs/compressfail/compress.dwo
@@ -16940,6 +16964,8 @@ third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/noinline-cs-noprobe.perfbin
 third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/noinline-cs-pseudoprobe.perfbin
 third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-noprobe.perfbin
 third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin
+third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/unique-linkage-name-dwarf.perfbin
+third_party/llvm/llvm/test/tools/llvm-profgen/Inputs/unique-linkage-name-probe.perfbin
 third_party/llvm/llvm/test/tools/llvm-readobj/COFF/Inputs/arm64-win1.obj
 third_party/llvm/llvm/test/tools/llvm-readobj/COFF/Inputs/arm64-win2.obj
 third_party/llvm/llvm/test/tools/llvm-readobj/COFF/Inputs/bad-relocs.obj.coff-i386
@@ -17497,18 +17523,7 @@ third_party/skia/resources/images/sample_1mp_rotated.dng
 third_party/skia/resources/images/wide_gamut_yellow_224_224_64.jpeg
 third_party/skia/resources/invalid_images/ossfuzz6347
 third_party/skia/resources/nima/Robot.nima
-third_party/skia/site/dev/design/conical/corollary2.2.1.ggb
-third_party/skia/site/dev/design/conical/corollary2.2.2.ggb
-third_party/skia/site/dev/design/conical/corollary2.2.ggb
-third_party/skia/site/dev/design/conical/corollary2.3.1.ggb
-third_party/skia/site/dev/design/conical/corollary2.3.2.ggb
-third_party/skia/site/dev/design/conical/corollary2.3.3.ggb
-third_party/skia/site/dev/design/conical/lemma1.ggb
-third_party/skia/site/dev/design/conical/lemma3.1.ggb
-third_party/skia/site/dev/design/conical/lemma3.2.ggb
-third_party/skia/site/dev/design/conical/lemma3.ggb
-third_party/skia/site/dev/design/conical/lemma4.ggb
-third_party/skia/site/dev/tools/calendar.mskp
+third_party/skia/site/docs/dev/tools/calendar.mskp
 third_party/snappy/src/testdata/baddata1.snappy
 third_party/snappy/src/testdata/baddata2.snappy
 third_party/snappy/src/testdata/baddata3.snappy
@@ -18141,9 +18156,13 @@ third_party/webgl/src/sdk/tests/resources/red-green.theora.ogv
 third_party/webgl/src/sdk/tests/resources/red-green.webmvp8.webm
 third_party/webgl/src/sdk/tests/resources/transparent-2frames.webm
 third_party/webgl/src/sdk/tests/resources/video-rotation-0.mp4
+third_party/webgl/src/sdk/tests/resources/video-rotation-0.vp9.mp4
 third_party/webgl/src/sdk/tests/resources/video-rotation-180.mp4
+third_party/webgl/src/sdk/tests/resources/video-rotation-180.vp9.mp4
 third_party/webgl/src/sdk/tests/resources/video-rotation-270.mp4
+third_party/webgl/src/sdk/tests/resources/video-rotation-270.vp9.mp4
 third_party/webgl/src/sdk/tests/resources/video-rotation-90.mp4
+third_party/webgl/src/sdk/tests/resources/video-rotation-90.vp9.mp4
 third_party/webgpu-cts/src/deploy_key.enc
 third_party/webrtc/data/audio_processing/android/output_data_fixed.pb
 third_party/webrtc/data/audio_processing/android/output_data_float.pb

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