Browse Source

Upgrade to Chromium 87.0.4280.66

Notes:

`'chrome/android/proviles/afdo.prof'` was removed from `PRUNING_EXCLUDE_PATTERNS`
because it no longer exists.

`core/chromium-upstream/remove-dead-reloc-in-nonalloc-LD-flags.patch` was
dropped as the commit that was backported is part of the Chromium 87 release.

`extra/inox-patchset/0006-modify-default-prefs.patch` now disables third-party
cookies in a similar fashion to GrapheneOS Vanadium.

`extra/debian/disable/device-notifications.patch` was dropped as the changes
that it made have been adopted by Chromium upstream.
Zoraver Kang 3 years ago
parent
commit
fc06b0d7f5
61 changed files with 1199 additions and 1075 deletions
  1. 1 1
      chromium_version.txt
  2. 1 3
      devutils/update_lists.py
  3. 144 84
      domain_substitution.list
  4. 1 0
      flags.gn
  5. 0 33
      patches/core/chromium-upstream/remove-dead-reloc-in-nonalloc-LD-flags.patch
  6. 2 2
      patches/core/debian/disable/unrar.patch
  7. 51 91
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  8. 11 18
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  9. 8 8
      patches/core/inox-patchset/0005-disable-default-extensions.patch
  10. 12 12
      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. 2 2
      patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
  13. 1 1
      patches/core/ungoogled-chromium/block-requests.patch
  14. 5 5
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  15. 1 1
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  16. 7 10
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  17. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  18. 1 1
      patches/core/ungoogled-chromium/disable-signin.patch
  19. 3 3
      patches/core/ungoogled-chromium/disable-untraceable-urls.patch
  20. 6 6
      patches/core/ungoogled-chromium/disable-webstore-urls.patch
  21. 2 2
      patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch
  22. 1 1
      patches/core/ungoogled-chromium/fix-building-without-one-click-signin.patch
  23. 36 146
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  24. 166 151
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  25. 21 17
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  26. 10 60
      patches/core/ungoogled-chromium/use-local-devtools-files.patch
  27. 24 24
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  28. 11 12
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  29. 8 8
      patches/extra/bromite/flag-max-connections-per-host.patch
  30. 1 1
      patches/extra/debian/disable/android.patch
  31. 0 16
      patches/extra/debian/disable/device-notifications.patch
  32. 2 2
      patches/extra/debian/disable/fuzzers.patch
  33. 2 4
      patches/extra/debian/disable/google-api-warning.patch
  34. 1 1
      patches/extra/debian/disable/welcome-page.patch
  35. 18 18
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  36. 18 18
      patches/extra/inox-patchset/0011-add-duckduckgo-search-engine.patch
  37. 1 1
      patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch
  38. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  39. 1 1
      patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
  40. 2 2
      patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch
  41. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  42. 7 7
      patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch
  43. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  44. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  45. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  46. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
  47. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
  48. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
  49. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  50. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch
  51. 7 7
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  52. 3 3
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  53. 10 9
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  54. 1 1
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  55. 3 3
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  56. 20 20
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  57. 4 4
      patches/extra/ungoogled-chromium/popups-to-tabs.patch
  58. 21 36
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  59. 108 108
      patches/extra/ungoogled-chromium/searx.patch
  60. 0 2
      patches/series
  61. 409 85
      pruning.list

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-86.0.4240.198
+87.0.4280.66

+ 1 - 3
devutils/update_lists.py

@@ -39,9 +39,6 @@ PRUNING_INCLUDE_PATTERNS = [
 # pathlib.Path.match() paths to exclude from binary pruning
 PRUNING_EXCLUDE_PATTERNS = [
     'chrome/common/win/eventlog_messages.mc', # TODO: False positive textfile
-    # Exclude AFDO sample profile in binary format (Auto FDO)
-    # Details: https://clang.llvm.org/docs/UsersManual.html#sample-profile-formats
-    'chrome/android/profiles/afdo.prof',
     # TabRanker example preprocessor config
     # Details in chrome/browser/resource_coordinator/tab_ranker/README.md
     'chrome/browser/resource_coordinator/tab_ranker/example_preprocessor_config.pb',
@@ -57,6 +54,7 @@ PRUNING_EXCLUDE_PATTERNS = [
     'components/language/content/browser/ulp_language_code_locator/geolanguage-data_rank2.bin',
     'third_party/icu/common/icudtl.dat', # Exclusion for ICU data
     # Exclusions for safe file extensions
+    '*.avif',
     '*.ttf',
     '*.png',
     '*.jpg',

File diff suppressed because it is too large
+ 144 - 84
domain_substitution.list


+ 1 - 0
flags.gn

@@ -1,3 +1,4 @@
+chrome_pgo_phase=0
 clang_use_chrome_plugins=false
 enable_hangout_services_extension=false
 enable_js_type_check=false

+ 0 - 33
patches/core/chromium-upstream/remove-dead-reloc-in-nonalloc-LD-flags.patch

@@ -1,33 +0,0 @@
-From 74b0cb5b86f7d7f8f7c1172d85b09096bef147b7 Mon Sep 17 00:00:00 2001
-From: Daniel Nicoara <dnicoara@chromium.org>
-Date: Thu, 24 Sep 2020 02:34:24 +0000
-Subject: [PATCH] Remove dead-reloc-in-nonalloc LD flags
-
-Breakpad change landed. Revert workaround.
-
-Bug: 1105559
-Test: components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/andrd --binary=out/andrd/lib.unstripped/libcontent_shell_content_view.so --symbols-dir=/tmp/foo --platform=android
-Change-Id: I519534002898a97b15a57b9b87ac78ef3f216dee
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2427349
-Commit-Queue: Nico Weber <thakis@chromium.org>
-Reviewed-by: Nico Weber <thakis@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#810066}
----
-
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -399,14 +399,6 @@ config("compiler") {
-         "-Wl,--as-needed",
-       ]
-     }
--    if (use_lld && !is_chromeos_device) {
--      # TODO(thakis): Fix dump_syms to not need this and then remove it,
--      # https://crbug.com/1105559
--      ldflags += [
--        "-Wl,-z,dead-reloc-in-nonalloc=*=0",
--        "-Wl,-z,dead-reloc-in-nonalloc=.debug_ranges=1",
--      ]
--    }
-   }
- 
-   # Linux-specific compiler flags setup.

+ 2 - 2
patches/core/debian/disable/unrar.patch

@@ -15,7 +15,7 @@ bug: http://bugs.debian.org/914487
      StartExtractDmgFeatures();
 --- a/chrome/common/safe_browsing/BUILD.gn
 +++ b/chrome/common/safe_browsing/BUILD.gn
-@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
+@@ -50,39 +50,6 @@ if (safe_browsing_mode == 1) {
      public_deps = [ "//components/safe_browsing/core:csd_proto" ]
    }
  
@@ -55,7 +55,7 @@ bug: http://bugs.debian.org/914487
    source_set("disk_image_type_sniffer_mac") {
      sources = [
        "disk_image_type_sniffer_mac.cc",
-@@ -138,7 +105,6 @@ source_set("safe_browsing") {
+@@ -145,7 +112,6 @@ source_set("safe_browsing") {
        ":archive_analyzer_results",
        ":binary_feature_extractor",
        ":download_type_util",

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -3177,8 +3177,6 @@ static_library("browser") {
+@@ -3355,8 +3355,6 @@ static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -11,7 +11,7 @@
        "download/download_dir_util.cc",
 --- a/chrome/browser/browser_process.h
 +++ b/chrome/browser/browser_process.h
-@@ -46,10 +46,6 @@ class NetworkQualityTracker;
+@@ -49,10 +49,6 @@ class NetworkQualityTracker;
  class SharedURLLoaderFactory;
  }
  
@@ -22,7 +22,7 @@
  namespace subresource_filter {
  class RulesetService;
  }
-@@ -211,9 +207,6 @@ class BrowserProcess {
+@@ -217,9 +213,6 @@ class BrowserProcess {
    // on this platform (or this is a unit test).
    virtual StatusTray* status_tray() = 0;
  
@@ -34,7 +34,7 @@
    virtual subresource_filter::RulesetService*
 --- a/chrome/browser/browser_process_impl.cc
 +++ b/chrome/browser/browser_process_impl.cc
-@@ -69,7 +69,6 @@
+@@ -67,7 +67,6 @@
  #include "chrome/browser/printing/print_preview_dialog_controller.h"
  #include "chrome/browser/profiles/profile_manager.h"
  #include "chrome/browser/resource_coordinator/resource_coordinator_parts.h"
@@ -42,7 +42,7 @@
  #include "chrome/browser/shell_integration.h"
  #include "chrome/browser/site_isolation/prefs_observer.h"
  #include "chrome/browser/ssl/secure_origin_prefs_observer.h"
-@@ -373,8 +372,6 @@ void BrowserProcessImpl::StartTearDown()
+@@ -372,8 +371,6 @@ void BrowserProcessImpl::StartTearDown()
  
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
@@ -51,7 +51,7 @@
    network_time_tracker_.reset();
  #if BUILDFLAG(ENABLE_PLUGINS)
    plugins_resource_service_.reset();
-@@ -981,14 +978,6 @@ StatusTray* BrowserProcessImpl::status_t
+@@ -980,14 +977,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_);
-@@ -1248,26 +1237,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1250,26 +1239,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -95,7 +95,7 @@
    created_subresource_filter_ruleset_service_ = true;
 --- a/chrome/browser/browser_process_impl.h
 +++ b/chrome/browser/browser_process_impl.h
-@@ -167,7 +167,6 @@ class BrowserProcessImpl : public Browse
+@@ -169,7 +169,6 @@ class BrowserProcessImpl : public Browse
    void set_background_mode_manager_for_test(
        std::unique_ptr<BackgroundModeManager> manager) override;
    StatusTray* status_tray() override;
@@ -103,7 +103,7 @@
    subresource_filter::RulesetService* subresource_filter_ruleset_service()
        override;
    federated_learning::FlocBlocklistService* floc_blocklist_service() override;
-@@ -312,9 +311,6 @@ class BrowserProcessImpl : public Browse
+@@ -320,9 +319,6 @@ class BrowserProcessImpl : public Browse
    std::unique_ptr<BackgroundModeManager> background_mode_manager_;
  #endif
  
@@ -115,7 +115,7 @@
        subresource_filter_ruleset_service_;
 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
 +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -65,7 +65,6 @@
+@@ -64,7 +64,6 @@
  #include "chrome/browser/previews/previews_service.h"
  #include "chrome/browser/previews/previews_service_factory.h"
  #include "chrome/browser/profiles/profile.h"
@@ -123,46 +123,20 @@
  #include "chrome/browser/translate/chrome_translate_client.h"
  #include "chrome/browser/ui/find_bar/find_bar_state.h"
  #include "chrome/browser/ui/find_bar/find_bar_state_factory.h"
-@@ -701,36 +700,6 @@ void ChromeBrowsingDataRemoverDelegate::
-         ContentSettingsType::CLIENT_HINTS, base::Time(), base::Time::Max(),
-         website_settings_filter);
- 
--    // Clear the safebrowsing cookies only if time period is for "all time".  It
--    // doesn't make sense to apply the time period of deleting in the last X
--    // hours/days to the safebrowsing cookies since they aren't the result of
--    // any user action.
--    if (IsForAllTime()) {
--      safe_browsing::SafeBrowsingService* sb_service =
--          g_browser_process->safe_browsing_service();
--      if (sb_service) {
--        mojo::Remote<network::mojom::CookieManager> cookie_manager;
--        sb_service->GetNetworkContext(profile_)->GetCookieManager(
--            cookie_manager.BindNewPipeAndPassReceiver());
--
--        network::mojom::CookieManager* manager_ptr = cookie_manager.get();
--
--        network::mojom::CookieDeletionFilterPtr deletion_filter =
--            filter_builder->BuildCookieDeletionFilter();
--        if (!delete_begin_.is_null())
--          deletion_filter->created_after_time = delete_begin_;
--        if (!delete_end_.is_null())
--          deletion_filter->created_before_time = delete_end_;
--
--        manager_ptr->DeleteCookies(
--            std::move(deletion_filter),
--            base::BindOnce(
--                &OnClearedCookies,
--                CreateTaskCompletionClosure(TracingDataType::kCookies),
--                std::move(cookie_manager)));
--      }
--    }
--
-     if (filter_builder->GetMode() ==
-         BrowsingDataFilterBuilder::Mode::kPreserve) {
-       MediaDeviceIDSalt::Reset(profile_->GetPrefs());
+@@ -658,10 +657,6 @@ void ChromeBrowsingDataRemoverDelegate::
+     base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
+ 
+     network::mojom::NetworkContext* safe_browsing_context = nullptr;
+-    safe_browsing::SafeBrowsingService* sb_service =
+-        g_browser_process->safe_browsing_service();
+-    if (sb_service)
+-      safe_browsing_context = sb_service->GetNetworkContext(profile_);
+ 
+     browsing_data::RemoveEmbedderCookieData(
+         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
-@@ -873,30 +873,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -887,30 +887,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -193,7 +167,7 @@
  #if BUILDFLAG(ENABLE_EXTENSIONS)
  
  AppLoadedInTabSource ClassifyAppLoadedInTabSource(
-@@ -1414,7 +1390,6 @@ void ChromeContentBrowserClient::PostAft
+@@ -1423,7 +1399,6 @@ void ChromeContentBrowserClient::PostAft
    InitNetworkContextsParentDirectory();
  
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -201,7 +175,7 @@
  }
  
  bool ChromeContentBrowserClient::IsBrowserStartupComplete() {
-@@ -4077,7 +4052,7 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4071,7 +4046,7 @@ ChromeContentBrowserClient::CreateThrott
        base::BindRepeating(&MaybeTriggerSecurityInterstitialShownEvent));
    throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
        handle,
@@ -210,8 +184,8 @@
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp)));
  
    throttles.push_back(std::make_unique<LoginNavigationThrottle>(handle));
-@@ -4095,9 +4070,6 @@ ChromeContentBrowserClient::CreateThrott
- 
+@@ -4084,9 +4059,6 @@ ChromeContentBrowserClient::CreateThrott
+                    &throttles);
  #endif
  
 -  throttles.push_back(
@@ -245,7 +219,7 @@
  }  // namespace
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -372,13 +372,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
+@@ -385,13 +385,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
  
  void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
    download_manager_ = dm;
@@ -259,7 +233,7 @@
  }
  
  #if defined(OS_ANDROID)
-@@ -715,16 +708,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -728,16 +721,6 @@ void ChromeDownloadManagerDelegate::Choo
  
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename) {
@@ -341,7 +315,7 @@
    }
  }
  
-@@ -461,10 +454,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
+@@ -472,10 +465,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(c
  bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
      const base::FilePath& file_name) {
    base::FilePath::StringType extension = file_name.Extension();
@@ -409,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"
-@@ -1331,9 +1330,6 @@ DownloadsAcceptDangerFunction::Downloads
+@@ -1327,9 +1326,6 @@ DownloadsAcceptDangerFunction::Downloads
  
  DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
  
@@ -419,7 +393,7 @@
  ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() {
    std::unique_ptr<downloads::AcceptDanger::Params> params(
        downloads::AcceptDanger::Params::Create(*args_));
-@@ -1371,43 +1367,7 @@ void DownloadsAcceptDangerFunction::Prom
+@@ -1367,43 +1363,7 @@ void DownloadsAcceptDangerFunction::Prom
      return;
    }
    RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -677,7 +651,7 @@
    // SimpleURLLoader -> (owned loader, extension id).
 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
 +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -755,9 +755,6 @@ void ChromeMetricsServiceClient::Registe
+@@ -759,9 +759,6 @@ void ChromeMetricsServiceClient::Registe
    metrics_service_->RegisterMetricsProvider(
        std::make_unique<HttpsEngagementMetricsProvider>());
  
@@ -701,7 +675,7 @@
  // static
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -242,7 +242,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -244,7 +244,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
    CaptivePortalServiceFactory::GetInstance();
  #endif
@@ -711,7 +685,7 @@
    ClientHintsFactory::GetInstance();
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -94,7 +94,6 @@
+@@ -93,7 +93,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"
@@ -719,7 +693,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"
-@@ -591,17 +590,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -588,17 +587,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -739,7 +713,7 @@
        CreatePrefService(pref_registry_, CreateExtensionPrefStore(this, false),
 --- a/chrome/browser/profiles/profiles_state.cc
 +++ b/chrome/browser/profiles/profiles_state.cc
-@@ -219,9 +219,6 @@ void RemoveBrowsingDataForProfile(const
+@@ -224,9 +224,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.
@@ -751,15 +725,15 @@
    if (!profile)
 --- a/chrome/browser/safe_browsing/BUILD.gn
 +++ b/chrome/browser/safe_browsing/BUILD.gn
-@@ -6,6 +6,7 @@ import("//components/safe_browsing/build
- import("//extensions/buildflags/buildflags.gni")
+@@ -13,6 +13,7 @@ import("//build/config/deprecated_defaul
+ set_sources_assignment_filter(deprecated_default_sources_assignment_filter)
  
  static_library("safe_browsing") {
 +  if (false) {
    sources = [
      "chrome_controller_client.cc",
      "chrome_controller_client.h",
-@@ -62,6 +63,7 @@ static_library("safe_browsing") {
+@@ -71,6 +72,7 @@ static_library("safe_browsing") {
      ]
      deps += [ "//extensions/browser" ]
    }
@@ -864,28 +838,21 @@
  
 --- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
 +++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
-@@ -69,18 +69,6 @@ void ChromeSubresourceFilterClient::DidS
- void ChromeSubresourceFilterClient::MaybeAppendNavigationThrottles(
-     content::NavigationHandle* navigation_handle,
-     std::vector<std::unique_ptr<content::NavigationThrottle>>* throttles) {
+@@ -167,10 +167,7 @@ void ChromeSubresourceFilterClient::Allo
+ 
+ const scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager>
+ ChromeSubresourceFilterClient::GetSafeBrowsingDatabaseManager() {
 -  safe_browsing::SafeBrowsingService* safe_browsing_service =
 -      g_browser_process->safe_browsing_service();
--  if (navigation_handle->IsInMainFrame() && safe_browsing_service) {
--    throttles->push_back(
--        std::make_unique<subresource_filter::
--                             SubresourceFilterSafeBrowsingActivationThrottle>(
--            navigation_handle, this, content::GetIOThreadTaskRunner({}),
--            safe_browsing_service->database_manager()));
--  }
--
--  throttle_manager_->MaybeAppendNavigationThrottles(navigation_handle,
--                                                    throttles);
+-  return safe_browsing_service ? safe_browsing_service->database_manager()
+-                               : nullptr;
++  return nullptr;
  }
  
- void ChromeSubresourceFilterClient::OnReloadRequested() {
+ void ChromeSubresourceFilterClient::ToggleForceActivationInCurrentWebContents(
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -3383,7 +3383,6 @@ static_library("ui") {
+@@ -3454,7 +3454,6 @@ static_library("ui") {
        "views/device_chooser_content_view.h",
        "views/devtools_process_observer.cc",
        "views/devtools_process_observer.h",
@@ -895,25 +862,18 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -307,10 +307,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -308,11 +308,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
        web_contents);
    ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
 -  safe_browsing::SafeBrowsingNavigationObserver::MaybeCreateForWebContents(
 -      web_contents);
+-  safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
 -  safe_browsing::TriggerCreator::MaybeCreateTriggersForWebContents(
 -      profile, web_contents);
    ReputationWebContentsObserver::CreateForWebContents(web_contents);
    SearchEngineTabHelper::CreateForWebContents(web_contents);
    SecurityStateTabHelper::CreateForWebContents(web_contents);
-@@ -374,7 +370,6 @@ void TabHelpers::AttachTabHelpers(WebCon
-   pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
-       web_contents, std::make_unique<ChromePDFWebContentsHelperClient>());
-   SadTabHelper::CreateForWebContents(web_contents);
--  safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
-   SearchTabHelper::CreateForWebContents(web_contents);
-   if (base::FeatureList::IsEnabled(
-           switches::kSyncSupportTrustedVaultPassphrase)) {
 --- a/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc
 +++ b/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc
 @@ -23,7 +23,6 @@
@@ -1178,7 +1138,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
-@@ -154,7 +154,6 @@ void CertReportHelper::FinishCertCollect
+@@ -175,7 +175,6 @@ void CertReportHelper::FinishCertCollect
      return;
    }
  

+ 11 - 18
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
-@@ -842,94 +842,6 @@ AutofillDownloadManager::GetRequestURLAn
+@@ -826,87 +826,6 @@ AutofillDownloadManager::GetRequestURLAn
  }
  
  bool AutofillDownloadManager::StartRequest(FormRequestData request_data) {
@@ -11,9 +11,7 @@
 -  // Get the URL and method to use for this request.
 -  std::string method;
 -  GURL request_url;
--  std::tie(request_url, method) =
--      UseApi() ? GetRequestURLAndMethodForApi(request_data)
--               : GetRequestURLAndMethod(request_data);
+-  std::tie(request_url, method) = GetRequestURLAndMethodForApi(request_data);
 -
 -  // Track the URL length for GET queries because the URL length can be in the
 -  // thousands when rich metadata is enabled.
@@ -43,11 +41,10 @@
 -                             : variations::InIncognito::kNo,
 -      resource_request.get());
 -
--  // Set headers specific to the API if using it.
--  if (UseApi())
--    // Encode response serialized proto in base64 for safety.
--    resource_request->headers.SetHeader(kGoogEncodeResponseIfExecutable,
--                                        "base64");
+-  // Set headers specific to the API.
+-  // Encode response serialized proto in base64 for safety.
+-  resource_request->headers.SetHeader(kGoogEncodeResponseIfExecutable,
+-                                      "base64");
 -
 -  // Put API key in request's header if a key exists, and the endpoint is
 -  // trusted by Google.
@@ -66,17 +63,13 @@
 -  simple_loader->SetAllowHttpErrorResults(true);
 -
 -  if (method == "POST") {
--    const std::string content_type =
--        UseApi() ? "application/x-protobuf" : "text/proto";
+-    const std::string content_type = "application/x-protobuf";
 -    std::string payload;
--    if (UseApi()) {
--      if (!GetAPIBodyPayload(request_data.payload, request_data.request_type,
--                             &payload)) {
--        return false;
--      }
--    } else {
--      payload = request_data.payload;
+-    if (!GetAPIBodyPayload(request_data.payload, request_data.request_type,
+-                           &payload)) {
+-      return false;
 -    }
+-
 -    // Attach payload data and add data format header.
 -    simple_loader->AttachStringForUpload(payload, content_type);
 -  }

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

@@ -1,8 +1,8 @@
---- a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
-+++ b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
+--- a/chrome/browser/extensions/component_extensions_allowlist/allowlist.cc
++++ b/chrome/browser/extensions/component_extensions_allowlist/allowlist.cc
 @@ -26,7 +26,6 @@ namespace extensions {
  
- bool IsComponentExtensionWhitelisted(const std::string& extension_id) {
+ bool IsComponentExtensionAllowlisted(const std::string& extension_id) {
    const char* const kAllowed[] = {
 -    extension_misc::kInAppPaymentsSupportAppId,
      extension_misc::kCastExtensionIdRelease,
@@ -10,7 +10,7 @@
  #if defined(OS_CHROMEOS)
 --- a/chrome/browser/extensions/component_loader.cc
 +++ b/chrome/browser/extensions/component_loader.cc
-@@ -350,11 +350,6 @@ void ComponentLoader::AddWebStoreApp() {
+@@ -348,11 +348,6 @@ void ComponentLoader::AddWebStoreApp() {
    if (!IsNormalSession())
      return;
  #endif
@@ -22,7 +22,7 @@
  }
  
  #if defined(OS_CHROMEOS)
-@@ -452,11 +447,6 @@ void ComponentLoader::AddDefaultComponen
+@@ -451,11 +446,6 @@ void ComponentLoader::AddDefaultComponen
    AddKeyboardApp();
  #else  // defined(OS_CHROMEOS)
    DCHECK(!skip_session_components);
@@ -34,7 +34,7 @@
  #endif  // defined(OS_CHROMEOS)
  
    if (!skip_session_components) {
-@@ -534,18 +524,6 @@ void ComponentLoader::AddDefaultComponen
+@@ -533,18 +523,6 @@ void ComponentLoader::AddDefaultComponen
      AddHangoutServicesExtension();
  #endif  // BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
  
@@ -67,7 +67,7 @@
    {
 --- a/chrome/browser/extensions/webstore_installer.cc
 +++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -560,20 +560,6 @@ void WebstoreInstaller::DownloadNextPend
+@@ -552,20 +552,6 @@ void WebstoreInstaller::DownloadNextPend
  void WebstoreInstaller::DownloadCrx(
      const std::string& extension_id,
      InstallSource source) {
@@ -88,7 +88,7 @@
  }
  
  // http://crbug.com/165634
-@@ -720,21 +706,6 @@ void WebstoreInstaller::UpdateDownloadPr
+@@ -712,21 +698,6 @@ void WebstoreInstaller::UpdateDownloadPr
  void WebstoreInstaller::StartCrxInstaller(const DownloadItem& download) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
    DCHECK(!crx_installer_.get());

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

@@ -73,7 +73,7 @@ by default.
 
 --- a/build/apple/tweak_info_plist.py
 +++ b/build/apple/tweak_info_plist.py
-@@ -208,7 +208,7 @@ def _AddKeystoneKeys(plist, bundle_ident
+@@ -194,7 +194,7 @@ def _AddKeystoneKeys(plist, bundle_ident
    also requires the |bundle_identifier| argument (com.example.product)."""
    plist['KSVersion'] = plist['CFBundleShortVersionString']
    plist['KSProductID'] = bundle_identifier
@@ -81,7 +81,7 @@ by default.
 +  plist['KSUpdateURL'] = 'trk:132:https://tools.google.com/service/update2'
  
    _RemoveKeys(plist, 'KSChannelID')
-   for tag_suffix in _TagSuffixes():
+   if base_tag != '':
 --- a/chrome/browser/chromeos/customization/customization_document.cc
 +++ b/chrome/browser/chromeos/customization/customization_document.cc
 @@ -172,7 +172,7 @@ std::string ReadFileInBackground(const b
@@ -95,7 +95,7 @@ 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
-@@ -1036,7 +1036,7 @@ void FileManagerPrivateInternalGetDownlo
+@@ -857,7 +857,7 @@ void FileManagerPrivateInternalGetDownlo
    const CoreAccountId& account_id =
        identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kNotRequired);
    std::vector<std::string> scopes;
@@ -106,7 +106,7 @@ by default.
        content::BrowserContext::GetDefaultStoragePartition(
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
-@@ -86,7 +86,7 @@ namespace {
+@@ -93,7 +93,7 @@ namespace {
  
  using api::file_manager_private::ProfileInfo;
  
@@ -246,7 +246,7 @@ by default.
                base::ToLowerASCII(bdict_file));
 --- a/chrome/browser/supervised_user/supervised_user_service.cc
 +++ b/chrome/browser/supervised_user/supervised_user_service.cc
-@@ -85,7 +85,7 @@ namespace {
+@@ -86,7 +86,7 @@ namespace {
  
  // The URL from which to download a host denylist if no local one exists yet.
  const char kDenylistURL[] =
@@ -317,7 +317,7 @@ by default.
  
 --- a/chrome/common/url_constants.cc
 +++ b/chrome/common/url_constants.cc
-@@ -263,7 +263,7 @@ const char kSyncErrorsHelpURL[] =
+@@ -272,7 +272,7 @@ const char kSyncErrorsHelpURL[] =
      "https://support.google.com/chrome/?p=settings_sync_error";
  
  const char kSyncGoogleDashboardURL[] =
@@ -326,7 +326,7 @@ by default.
  
  const char kSyncLearnMoreURL[] =
      "https://support.google.com/chrome/?p=settings_sign_in";
-@@ -385,7 +385,7 @@ const char kNaturalScrollHelpURL[] =
+@@ -394,7 +394,7 @@ const char kNaturalScrollHelpURL[] =
  const char kOemEulaURLPath[] = "oem";
  
  const char kOnlineEulaURLPath[] =
@@ -495,7 +495,7 @@ by default.
  
 --- a/components/password_manager/core/browser/password_store.cc
 +++ b/components/password_manager/core/browser/password_store.cc
-@@ -259,10 +259,10 @@ void PasswordStore::GetLogins(const Form
+@@ -268,10 +268,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 &&
@@ -512,7 +512,7 @@ by default.
      base::Time out_time;
 --- a/components/policy/resources/policy_templates.json
 +++ b/components/policy/resources/policy_templates.json
-@@ -4436,7 +4436,7 @@
+@@ -4466,7 +4466,7 @@
          'dynamic_refresh': True,
          'per_profile': True,
        },
@@ -521,7 +521,7 @@ by default.
        'id': 34,
        'caption': '''Configure the list of force-installed apps and extensions''',
        'tags': ['full-admin-access'],
-@@ -9703,7 +9703,7 @@
+@@ -9609,7 +9609,7 @@
          'dynamic_refresh': True,
        },
        'deprecated': True,
@@ -530,7 +530,7 @@ by default.
        'id': 135,
        'caption': '''List of AppPack extensions''',
        'tags': [],
-@@ -14725,7 +14725,7 @@
+@@ -14686,7 +14686,7 @@
        'features': {
          'dynamic_refresh': True,
        },
@@ -617,7 +617,7 @@ by default.
  
 --- a/content/shell/browser/shell_browser_main_parts.cc
 +++ b/content/shell/browser/shell_browser_main_parts.cc
-@@ -84,7 +84,7 @@ GURL GetStartupURL() {
+@@ -88,7 +88,7 @@ GURL GetStartupURL() {
  #else
    const base::CommandLine::StringVector& args = command_line->GetArgs();
    if (args.empty())

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

@@ -42,7 +42,7 @@ the URL so we get notified if this happens again in the future).
  IncidentReportingService::IncidentReportingService(
 --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
 +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
-@@ -63,8 +63,7 @@ class SafeBrowsingBlockingPageFactoryImp
+@@ -65,8 +65,7 @@ class SafeBrowsingBlockingPageFactoryImp
      PrefService* prefs =
          Profile::FromBrowserContext(web_contents->GetBrowserContext())
              ->GetPrefs();
@@ -65,7 +65,7 @@ the URL so we get notified if this happens again in the future).
  }
 --- a/components/security_interstitials/core/safe_browsing_loud_error_ui.cc
 +++ b/components/security_interstitials/core/safe_browsing_loud_error_ui.cc
-@@ -22,6 +22,7 @@ namespace {
+@@ -24,6 +24,7 @@ namespace {
  
  // For malware interstitial pages, we link the problematic URL to Google's
  // diagnostic page.

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

@@ -13,9 +13,9 @@ This prevents trk:148 (phishing) and trk:149 (malware).
 
 --- a/chrome/browser/safe_browsing/client_side_detection_service.cc
 +++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
-@@ -220,90 +220,8 @@ void ClientSideDetectionService::StartCl
+@@ -219,90 +219,8 @@ void ClientSideDetectionService::StartCl
+     const ClientReportPhishingRequestCallback& callback) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
-   std::unique_ptr<ClientPhishingRequest> request(verdict);
  
 -  if (!enabled_) {
 -    if (!callback.is_null())

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

@@ -35,7 +35,7 @@
    // Note: If there is an ongoing request, abandon it. It's possible that
 --- a/chrome/browser/search/promos/promo_service.cc
 +++ b/chrome/browser/search/promos/promo_service.cc
-@@ -131,6 +131,7 @@ PromoService::PromoService(
+@@ -139,6 +139,7 @@ PromoService::PromoService(
  PromoService::~PromoService() = default;
  
  void PromoService::Refresh() {

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

@@ -58,7 +58,7 @@
    return url::FindAndCompareScheme(utf8_input, url::kHttpScheme, nullptr);
 --- a/components/url_formatter/url_fixer.cc
 +++ b/components/url_formatter/url_fixer.cc
-@@ -557,6 +557,10 @@ GURL FixupURL(const std::string& text, c
+@@ -560,6 +560,10 @@ GURL FixupURL(const std::string& text, c
      }
    }
  
@@ -71,7 +71,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
-@@ -672,6 +672,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
+@@ -760,6 +760,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
  #endif  // BUILDFLAG(ENABLE_WEBSOCKETS)
    RegisterWebSafeScheme(url::kFtpScheme);
    RegisterWebSafeScheme(url::kDataScheme);
@@ -81,7 +81,7 @@
    // TODO(nick): https://crbug.com/651534 blob: and filesystem: schemes embed
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1092,6 +1092,8 @@ component("net") {
+@@ -1095,6 +1095,8 @@ component("net") {
        "url_request/report_sender.h",
        "url_request/static_http_user_agent_settings.cc",
        "url_request/static_http_user_agent_settings.h",
@@ -173,7 +173,7 @@
  
  using base::Time;
  using std::string;
-@@ -570,6 +572,12 @@ URLRequest::URLRequest(const GURL& url,
+@@ -566,6 +568,12 @@ URLRequest::URLRequest(const GURL& url,
    // Sanity check out environment.
    DCHECK(base::ThreadTaskRunnerHandle::IsSet());
  
@@ -195,7 +195,7 @@
 +#include "net/url_request/trk_protocol_handler.h"
  #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_impl.h"
+ #include "net/url_request/url_request_job_factory.h"
 @@ -616,6 +617,9 @@ std::unique_ptr<URLRequestContext> URLRe
    }
    protocol_handlers_.clear();

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

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

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

@@ -502,10 +502,10 @@
  namespace {
  
  // The result of checking whether a request to a URL should have variations
-@@ -205,32 +201,7 @@ class VariationsHeaderHelper {
-   bool AppendHeaderIfNeeded(const GURL& url,
-                             InIncognito incognito,
-                             Owner owner) {
+@@ -236,29 +232,7 @@ class VariationsHeaderHelper {
+   }
+ 
+   bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) {
 -    AppendOmniboxOnDeviceSuggestionsHeaderIfNeeded(url, resource_request_);
 -
 -    // Note the criteria for attaching client experiment headers:
@@ -521,9 +521,6 @@
 -        !ShouldAppendVariationsHeader(url, "Append"))
 -      return false;
 -
--    // TODO(crbug/1094303): Use the result to determine which IDs to include.
--    IsFirstPartyContext(*resource_request_, owner);
--
 -    if (variations_header_.empty())
 -      return false;
 -
@@ -536,7 +533,7 @@
    }
  
   private:
-@@ -281,8 +252,6 @@ void RemoveVariationsHeaderIfNeeded(
+@@ -328,8 +302,6 @@ void RemoveVariationsHeaderIfNeeded(
      const net::RedirectInfo& redirect_info,
      const network::mojom::URLResponseHead& response_head,
      std::vector<std::string>* to_be_removed_headers) {
@@ -545,7 +542,7 @@
  }
  
  std::unique_ptr<network::SimpleURLLoader>
-@@ -312,14 +281,11 @@ CreateSimpleURLLoaderWithVariationsHeade
+@@ -359,14 +331,11 @@ CreateSimpleURLLoaderWithVariationsHeade
  }
  
  bool IsVariationsHeader(const std::string& header_name) {
@@ -562,7 +559,7 @@
  }
  
  bool ShouldAppendVariationsHeaderForTesting(
-@@ -330,12 +296,6 @@ bool ShouldAppendVariationsHeaderForTest
+@@ -377,12 +346,6 @@ bool ShouldAppendVariationsHeaderForTest
  
  void UpdateCorsExemptHeaderForVariations(
      network::mojom::NetworkContextParams* params) {

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -291,7 +291,6 @@ if (!is_android && !is_mac) {
+@@ -303,7 +303,6 @@ if (!is_android && !is_mac) {
      }
  
      data_deps += [
@@ -15,7 +15,7 @@
        "//third_party/widevine/cdm",
      ]
    }
-@@ -1001,7 +1000,6 @@ if (is_win) {
+@@ -1014,7 +1013,6 @@ if (is_win) {
        ":keystone_registration_framework",
        ":swiftshader_library",
        ":widevine_cdm_library",

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/chrome_pages.cc
 +++ b/chrome/browser/ui/chrome_pages.cc
-@@ -530,22 +530,6 @@ GURL GetOSSettingsUrl(const std::string&
+@@ -536,22 +536,6 @@ GURL GetOSSettingsUrl(const std::string&
  #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
  void ShowBrowserSignin(Browser* browser,
                         signin_metrics::AccessPoint access_point) {

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

@@ -23,7 +23,7 @@
  }  // namespace
 --- a/chrome/browser/safe_browsing/client_side_model_loader.cc
 +++ b/chrome/browser/safe_browsing/client_side_model_loader.cc
-@@ -58,8 +58,6 @@ std::string ReadFileIntoString(base::Fil
+@@ -59,8 +59,6 @@ std::string ReadFileIntoString(base::Fil
  // Model Loader strings
  const size_t ModelLoader::kMaxModelSizeBytes = 150 * 1024;
  const int ModelLoader::kClientModelFetchIntervalMs = 3600 * 1000;
@@ -32,7 +32,7 @@
  const char ModelLoader::kClientModelNamePattern[] =
      "client_model_v5%s_variation_%d.pb";
  const char ModelLoader::kClientModelFinchExperiment[] =
-@@ -120,7 +118,7 @@ ModelLoader::ModelLoader(
+@@ -121,7 +119,7 @@ ModelLoader::ModelLoader(
      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
      bool is_extended_reporting)
      : name_(FillInModelName(is_extended_reporting, GetModelNumber())),
@@ -41,7 +41,7 @@
        update_renderers_callback_(update_renderers_callback),
        url_loader_factory_(url_loader_factory),
        last_client_model_status_(ClientModelStatus::MODEL_NEVER_FETCHED) {
-@@ -134,7 +132,7 @@ ModelLoader::ModelLoader(
+@@ -135,7 +133,7 @@ ModelLoader::ModelLoader(
      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
      const std::string& model_name)
      : name_(model_name),

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

@@ -102,7 +102,7 @@
  
  bool ShouldRetryRequest(const network::SimpleURLLoader* loader) {
    DCHECK(loader);
-@@ -330,12 +321,6 @@ void ExtensionDownloader::DoStartAllPend
+@@ -332,12 +323,6 @@ void ExtensionDownloader::DoStartAllPend
    ReportStats();
    url_stats_ = URLStats();
  
@@ -115,7 +115,7 @@
    fetches_preparing_.clear();
  }
  
-@@ -374,11 +359,6 @@ bool ExtensionDownloader::AddExtensionDa
+@@ -376,11 +361,6 @@ bool ExtensionDownloader::AddExtensionDa
      return false;
    }
  
@@ -127,7 +127,7 @@
    // Skip extensions with empty IDs.
    if (id.empty()) {
      DLOG(WARNING) << "Found extension with empty ID";
-@@ -387,12 +367,10 @@ bool ExtensionDownloader::AddExtensionDa
+@@ -389,12 +369,10 @@ bool ExtensionDownloader::AddExtensionDa
      return false;
    }
  
@@ -142,8 +142,8 @@
    } else {
      url_stats_.other_url_count++;
    }
-@@ -855,20 +833,6 @@ void ExtensionDownloader::HandleManifest
-                           update->info);
+@@ -864,20 +842,6 @@ void ExtensionDownloader::HandleManifest
+         update->info);
    }
  
 -  // If the manifest response included a <daystart> element, we want to save
@@ -163,7 +163,7 @@
    NotifyExtensionsDownloadStageChanged(
        no_updates, ExtensionDownloaderDelegate::Stage::FINISHED);
    NotifyExtensionsDownloadFailed(
-@@ -1423,11 +1387,7 @@ bool ExtensionDownloader::IterateFetchCr
+@@ -1426,11 +1390,7 @@ bool ExtensionDownloader::IterateFetchCr
    // fetch.
    switch (fetch->credentials) {
      case ExtensionFetch::CREDENTIALS_NONE:

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

@@ -1,6 +1,6 @@
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -1302,6 +1302,10 @@ source_set("browser") {
+@@ -1240,6 +1240,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",
-@@ -2758,10 +2762,6 @@ source_set("browser") {
+@@ -2784,10 +2788,6 @@ source_set("browser") {
  
    if (enable_reporting) {
      sources += [

+ 1 - 1
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
-@@ -4123,8 +4123,6 @@ static_library("ui") {
+@@ -4195,8 +4195,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",

+ 36 - 146
patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch

@@ -2,8 +2,8 @@
 
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -4070,11 +4070,13 @@ ChromeContentBrowserClient::CreateThrott
- 
+@@ -4059,11 +4059,13 @@ ChromeContentBrowserClient::CreateThrott
+                    &throttles);
  #endif
  
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
@@ -16,7 +16,7 @@
  
  #if defined(OS_WIN) || defined(OS_MAC) || \
      (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-@@ -5155,20 +5157,7 @@ ChromeContentBrowserClient::GetSafeBrows
+@@ -5175,20 +5177,7 @@ ChromeContentBrowserClient::GetSafeBrows
      bool should_check_on_sb_disabled) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);
  
@@ -40,7 +40,7 @@
  safe_browsing::RealTimeUrlLookupServiceBase*
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -124,7 +124,6 @@ using content::DownloadManager;
+@@ -128,7 +128,6 @@ using content::DownloadManager;
  using download::DownloadItem;
  using download::DownloadPathReservationTracker;
  using download::PathValidationResult;
@@ -48,7 +48,7 @@
  using safe_browsing::DownloadProtectionService;
  
  namespace {
-@@ -1347,8 +1346,6 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -1380,8 +1379,6 @@ void ChromeDownloadManagerDelegate::OnDo
      if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
        DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
  #endif
@@ -570,14 +570,14 @@
  
  void SafeBrowsingPrivateEventRouter::OnSensitiveDataEvent(
 @@ -481,6 +489,7 @@ void SafeBrowsingPrivateEventRouter::OnS
-     const safe_browsing::ContentAnalysisScanResult& result,
+     const enterprise_connectors::ContentAnalysisResponse::Result& result,
      const int64_t content_size,
      safe_browsing::EventResult event_result) {
 +#if defined(FULL_SAFE_BROWSING)
    if (!IsRealtimeReportingEnabled())
      return;
  
-@@ -521,6 +530,7 @@ void SafeBrowsingPrivateEventRouter::OnS
+@@ -522,6 +531,7 @@ void SafeBrowsingPrivateEventRouter::OnS
            result, url.spec(), file_name, download_digest_sha256,
            GetProfileUserName(), mime_type, trigger, content_size,
            event_result));
@@ -585,9 +585,9 @@
  }
  
  void SafeBrowsingPrivateEventRouter::OnAnalysisConnectorWarningBypassed(
-@@ -532,6 +542,7 @@ void SafeBrowsingPrivateEventRouter::OnA
+@@ -533,6 +543,7 @@ void SafeBrowsingPrivateEventRouter::OnA
      safe_browsing::DeepScanAccessPoint access_point,
-     const safe_browsing::ContentAnalysisScanResult& result,
+     const enterprise_connectors::ContentAnalysisResponse::Result& result,
      const int64_t content_size) {
 +#if defined(FULL_SAFE_BROWSING)
    if (!IsRealtimeReportingEnabled())
@@ -834,23 +834,23 @@
  
  #if defined(OS_ANDROID)
  #include "base/feature_list.h"
-@@ -786,6 +785,7 @@ std::string ChromePasswordManagerClient:
+@@ -771,6 +770,7 @@ std::string ChromePasswordManagerClient:
    return std::string();
  }
  
 +#if BUILDFLAG(FULL_SAFE_BROWSING)
- #if defined(ON_FOCUS_PING_ENABLED) || \
-     defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
+ #if defined(ON_FOCUS_PING_ENABLED) || defined(PASSWORD_REUSE_DETECTION_ENABLED)
  safe_browsing::PasswordProtectionService*
-@@ -808,6 +808,7 @@ void ChromePasswordManagerClient::CheckS
+ ChromePasswordManagerClient::GetPasswordProtectionService() const {
+@@ -792,6 +792,7 @@ void ChromePasswordManagerClient::CheckS
    }
  }
  #endif  // defined(ON_FOCUS_PING_ENABLED)
 +#endif // BUILDFLAG(FULL_SAFE_BROWSING)
  
- #if defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
+ #if defined(PASSWORD_REUSE_DETECTION_ENABLED)
  void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
-@@ -816,24 +817,11 @@ void ChromePasswordManagerClient::CheckP
+@@ -800,24 +801,11 @@ void ChromePasswordManagerClient::CheckP
      const std::vector<password_manager::MatchingReusedCredential>&
          matching_reused_credentials,
      bool password_field_exists) {
@@ -863,9 +863,9 @@
 -      web_contents(), web_contents()->GetLastCommittedURL(), username,
 -      password_type, matching_reused_credentials, password_field_exists);
  }
- #endif  // defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
+ #endif  // defined(PASSWORD_REUSE_DETECTION_ENABLED)
  
- #if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
+ #if defined(PASSWORD_REUSE_WARNING_ENABLED)
  void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() {
 -  safe_browsing::PasswordProtectionService* pps =
 -      GetPasswordProtectionService();
@@ -873,9 +873,9 @@
 -    pps->MaybeLogPasswordReuseDetectedEvent(web_contents());
 -  }
  }
- #endif  // defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
+ #endif  // defined(PASSWORD_REUSE_WARNING_ENABLED)
  
-@@ -1284,9 +1272,11 @@ void ChromePasswordManagerClient::OnPast
+@@ -1264,9 +1252,11 @@ void ChromePasswordManagerClient::OnPast
    clipboard->ReadText(ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr,
                        &text);
    was_on_paste_called_ = true;
@@ -888,7 +888,7 @@
  
  void ChromePasswordManagerClient::RenderFrameCreated(
      content::RenderFrameHost* render_frame_host) {
-@@ -1345,7 +1335,9 @@ void ChromePasswordManagerClient::OnInpu
+@@ -1325,7 +1315,9 @@ void ChromePasswordManagerClient::OnInpu
    if (key_event.windows_key_code == (ui::VKEY_V & 0x1f)) {
      OnPaste();
    } else {
@@ -898,7 +898,7 @@
    }
  #endif  // defined(OS_ANDROID)
  }
-@@ -1384,6 +1376,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1364,6 +1356,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -906,7 +906,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
-@@ -1394,6 +1387,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1374,6 +1367,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -916,14 +916,12 @@
      password_manager::BrowserSavePasswordProgressLogger logger(
 --- a/chrome/browser/password_manager/chrome_password_manager_client.h
 +++ b/chrome/browser/password_manager/chrome_password_manager_client.h
-@@ -173,13 +173,14 @@ class ChromePasswordManagerClient
+@@ -169,12 +169,13 @@ class ChromePasswordManagerClient
    void AnnotateNavigationEntry(bool has_password_field) override;
    std::string GetPageLanguage() const override;
  
--#if defined(ON_FOCUS_PING_ENABLED) || \
--    defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
-+#if (defined(ON_FOCUS_PING_ENABLED) || \
-+    defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)) && \
+-#if defined(ON_FOCUS_PING_ENABLED) || defined(PASSWORD_REUSE_DETECTION_ENABLED)
++#if (defined(ON_FOCUS_PING_ENABLED) || defined(PASSWORD_REUSE_DETECTION_ENABLED)) && \
 +    BUILDFLAG(FULL_SAFE_BROWSING)
    safe_browsing::PasswordProtectionService* GetPasswordProtectionService()
        const override;
@@ -1082,7 +1080,7 @@
  }
 --- a/chrome/browser/ui/views/download/download_item_view.cc
 +++ b/chrome/browser/ui/views/download/download_item_view.cc
-@@ -778,9 +778,7 @@ void DownloadItemView::UpdateLabels() {
+@@ -755,9 +755,7 @@ void DownloadItemView::UpdateLabels() {
  
    deep_scanning_label_->SetVisible(mode_ == Mode::kDeepScanning);
    if (deep_scanning_label_->GetVisible()) {
@@ -1093,7 +1091,7 @@
                         ? IDS_PROMPT_DEEP_SCANNING_DOWNLOAD
                         : IDS_PROMPT_DEEP_SCANNING_APP_DOWNLOAD;
      const base::string16 filename = ElidedFilename(*deep_scanning_label_);
-@@ -804,10 +802,14 @@ void DownloadItemView::UpdateButtons() {
+@@ -781,10 +779,14 @@ void DownloadItemView::UpdateButtons() {
    }
  
    const bool allow_open_during_deep_scan =
@@ -1108,7 +1106,7 @@
    open_button_->SetEnabled((mode_ == Mode::kNormal) || prompt_to_scan ||
                             allow_open_during_deep_scan);
  
-@@ -1191,7 +1193,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1195,7 +1197,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -1120,7 +1118,7 @@
  
 --- 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
-@@ -178,10 +178,7 @@ PasswordReuseModalWarningDialog::Passwor
+@@ -172,10 +172,7 @@ PasswordReuseModalWarningDialog::Passwor
          placeholder_offsets);
    } else {
      views::Label* message_body_label = CreateMessageBodyLabel(
@@ -1134,7 +1132,7 @@
    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
-@@ -84,8 +84,6 @@
+@@ -87,8 +87,6 @@
  #include "components/nacl/common/buildflags.h"
  #include "components/prefs/pref_service.h"
  #include "components/safe_browsing/buildflags.h"
@@ -1143,7 +1141,7 @@
  #include "components/security_interstitials/content/connection_help_ui.h"
  #include "components/security_interstitials/content/known_interception_disclosure_ui.h"
  #include "components/security_interstitials/content/urls.h"
-@@ -495,8 +493,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
+@@ -519,8 +517,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
      return &NewWebUI<PredictorsUI>;
    if (url.host_piece() == chrome::kChromeUIQuotaInternalsHost)
      return &NewWebUI<QuotaInternalsUI>;
@@ -1164,7 +1162,7 @@
  
 --- a/chrome/browser/ui/webui/management_ui_handler.cc
 +++ b/chrome/browser/ui/webui/management_ui_handler.cc
-@@ -788,14 +788,6 @@ base::Value ManagementUIHandler::GetThre
+@@ -815,14 +815,6 @@ base::Value ManagementUIHandler::GetThre
  
    auto* on_page_visited_event =
        chrome_policies.GetValue(policy::key::kEnterpriseRealTimeUrlCheckMode);
@@ -1181,7 +1179,7 @@
    std::string management_domain = GetDeviceDomain();
 --- a/components/password_manager/content/browser/content_password_manager_driver.cc
 +++ b/components/password_manager/content/browser/content_password_manager_driver.cc
-@@ -316,7 +316,7 @@ void ContentPasswordManagerDriver::Check
+@@ -313,7 +313,7 @@ void ContentPasswordManagerDriver::Check
    if (client_->GetMetricsRecorder()) {
      client_->GetMetricsRecorder()->RecordUserFocusedPasswordField();
    }
@@ -1192,14 +1190,12 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -328,14 +328,15 @@ class PasswordManagerClient {
+@@ -321,13 +321,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual std::string GetPageLanguage() const;
  
--#if defined(ON_FOCUS_PING_ENABLED) || \
--    defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
-+#if (defined(ON_FOCUS_PING_ENABLED) || \
-+    defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)) && \
+-#if defined(ON_FOCUS_PING_ENABLED) || defined(PASSWORD_REUSE_DETECTION_ENABLED)
++#if (defined(ON_FOCUS_PING_ENABLED) || defined(PASSWORD_REUSE_DETECTION_ENABLED)) && \
 +    BUILDFLAG(FULL_SAFE_BROWSING)
    // Return the PasswordProtectionService associated with this instance.
    virtual safe_browsing::PasswordProtectionService*
@@ -1285,112 +1281,6 @@
    mutable base::Lock lock_;
  
    FRIEND_TEST_ALL_PREFIXES(FileTypePoliciesTest, UnpackResourceBundle);
---- a/content/browser/native_file_system/native_file_system_file_writer_impl.cc
-+++ b/content/browser/native_file_system/native_file_system_file_writer_impl.cc
-@@ -144,8 +144,7 @@ NativeFileSystemFileWriterImpl::NativeFi
-     : NativeFileSystemHandleBase(manager, context, url, handle_state),
-       swap_url_(swap_url),
-       quarantine_connection_callback_(
--          std::move(quarantine_connection_callback)),
--      has_transient_user_activation_(has_transient_user_activation) {
-+          std::move(quarantine_connection_callback)) {
-   DCHECK_EQ(swap_url.type(), url.type());
- }
- 
-@@ -461,51 +460,7 @@ void NativeFileSystemFileWriterImpl::Clo
-   // swap file even if the writer was destroyed at that point.
-   state_ = State::kClosePending;
- 
--  if (!RequireSecurityChecks() || !manager()->permission_context()) {
--    DidPassAfterWriteCheck(std::move(callback));
--    return;
--  }
--
--  ComputeHashForSwapFile(base::BindOnce(
--      &NativeFileSystemFileWriterImpl::DoAfterWriteCheck,
--      weak_factory_.GetWeakPtr(), base::WrapRefCounted(manager()), swap_url(),
--      std::move(callback)));
--}
--
--// static
--void NativeFileSystemFileWriterImpl::DoAfterWriteCheck(
--    base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer,
--    scoped_refptr<NativeFileSystemManagerImpl> manager,
--    const storage::FileSystemURL& swap_url,
--    NativeFileSystemFileWriterImpl::CloseCallback callback,
--    base::File::Error hash_result,
--    const std::string& hash,
--    int64_t size) {
--  if (!file_writer || hash_result != base::File::FILE_OK) {
--    // If writer was deleted, or calculating the hash failed try deleting the
--    // swap file and invoke the callback.
--    manager->operation_runner().PostTaskWithThisObject(
--        FROM_HERE, base::BindOnce(&RemoveSwapFile, swap_url));
--    std::move(callback).Run(native_file_system_error::FromStatus(
--        NativeFileSystemStatus::kOperationAborted,
--        "Failed to perform Safe Browsing check."));
--    return;
--  }
--
--  DCHECK_CALLED_ON_VALID_SEQUENCE(file_writer->sequence_checker_);
--
--  auto item = std::make_unique<NativeFileSystemWriteItem>();
--  item->target_file_path = file_writer->url().path();
--  item->full_path = file_writer->swap_url().path();
--  item->sha256_hash = hash;
--  item->size = size;
--  item->frame_url = file_writer->context().url;
--  item->has_user_gesture = file_writer->has_transient_user_activation_;
--  file_writer->manager()->permission_context()->PerformAfterWriteChecks(
--      std::move(item), file_writer->context().frame_id,
--      base::BindOnce(&NativeFileSystemFileWriterImpl::DidAfterWriteCheck,
--                     file_writer, std::move(manager), swap_url,
--                     std::move(callback)));
-+  DidPassAfterWriteCheck(std::move(callback));
- }
- 
- // static
---- a/content/browser/native_file_system/native_file_system_file_writer_impl.h
-+++ b/content/browser/native_file_system/native_file_system_file_writer_impl.h
-@@ -81,16 +81,8 @@ class CONTENT_EXPORT NativeFileSystemFil
-                 bool complete);
-   void TruncateImpl(uint64_t length, TruncateCallback callback);
-   void CloseImpl(CloseCallback callback);
--  // The following two methods are static, because they need to be invoked to
--  // perform cleanup even if the writer was deleted before they were invoked.
--  static void DoAfterWriteCheck(
--      base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer,
--      scoped_refptr<NativeFileSystemManagerImpl> manager,
--      const storage::FileSystemURL& swap_url,
--      NativeFileSystemFileWriterImpl::CloseCallback callback,
--      base::File::Error hash_result,
--      const std::string& hash,
--      int64_t size);
-+  // The following method is static, because it needs to be invoked to
-+  // perform cleanup even if the writer was deleted before it was invoked.
-   static void DidAfterWriteCheck(
-       base::WeakPtr<NativeFileSystemFileWriterImpl> file_writer,
-       scoped_refptr<NativeFileSystemManagerImpl> manager,
-@@ -116,7 +108,7 @@ class CONTENT_EXPORT NativeFileSystemFil
-   // except temporary file systems.
-   // TOOD(crbug.com/1103076): Extend this check to non-native paths.
-   bool RequireSecurityChecks() const {
--    return url().type() != storage::kFileSystemTypeTemporary;
-+    return false;
-   }
- 
-   void ComputeHashForSwapFile(HashCallback callback);
-@@ -150,10 +142,6 @@ class CONTENT_EXPORT NativeFileSystemFil
- 
-   download::QuarantineConnectionCallback quarantine_connection_callback_;
- 
--  // Keeps track of user activation state at creation time for after write
--  // checks.
--  bool has_transient_user_activation_ = false;
--
-   base::WeakPtr<NativeFileSystemHandleBase> AsWeakPtr() override;
- 
-   base::WeakPtrFactory<NativeFileSystemFileWriterImpl> weak_factory_{this};
 --- a/content/public/browser/native_file_system_permission_context.h
 +++ b/content/public/browser/native_file_system_permission_context.h
 @@ -85,12 +85,6 @@ class NativeFileSystemPermissionContext

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


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

@@ -1,7 +1,7 @@
 # Disables translation and removes the "Translate to" context menu when --translate-script-url flag is not set
 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
 +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
-@@ -120,6 +120,7 @@
+@@ -122,6 +122,7 @@
  #include "components/spellcheck/common/spellcheck_common.h"
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/strings/grit/components_strings.h"
@@ -9,16 +9,23 @@
  #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"
-@@ -1526,7 +1527,8 @@ void RenderViewContextMenu::AppendPageIt
-     std::unique_ptr<translate::TranslatePrefs> prefs(
-         ChromeTranslateClient::CreateTranslatePrefs(
-             GetPrefs(browser_context_)));
--    if (prefs->IsTranslateAllowedByPolicy()) {
-+    const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
-+    if (prefs->IsTranslateAllowedByPolicy() && command_line.HasSwitch(translate::switches::kTranslateScriptURL)) {
-       language::LanguageModel* language_model =
-           LanguageModelManagerFactory::GetForBrowserContext(browser_context_)
-               ->GetPrimaryModel();
+@@ -1530,6 +1531,8 @@ void RenderViewContextMenu::AppendPageIt
+     menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
+   }
+ 
++  const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
++  if (command_line.HasSwitch(translate::switches::kTranslateScriptURL)) {
+   ChromeTranslateClient* chrome_translate_client =
+       ChromeTranslateClient::FromWebContents(embedder_web_contents_);
+   if (chrome_translate_client &&
+@@ -1548,6 +1551,7 @@ void RenderViewContextMenu::AppendPageIt
+         IDC_CONTENT_CONTEXT_TRANSLATE,
+         l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
+   }
++  } // if (command_line.HasSwitch(translate::switches::kTranslateScriptURL))
+ }
+ 
+ void RenderViewContextMenu::AppendExitFullscreenItem() {
 --- a/components/translate/core/browser/translate_language_list.cc
 +++ b/components/translate/core/browser/translate_language_list.cc
 @@ -11,6 +11,7 @@
@@ -49,7 +56,7 @@
      request_pending_ = true;
 --- a/components/translate/core/browser/translate_manager.cc
 +++ b/components/translate/core/browser/translate_manager.cc
-@@ -714,8 +714,9 @@ void TranslateManager::FilterIsTranslate
+@@ -736,8 +736,9 @@ void TranslateManager::FilterIsTranslate
          TranslateBrowserMetrics::INITIATION_STATUS_NO_NETWORK);
    }
  
@@ -63,26 +70,23 @@
      // that settings syncs and we don't want to turn off translate everywhere
 --- a/components/translate/core/browser/translate_ranker_impl.cc
 +++ b/components/translate/core/browser/translate_ranker_impl.cc
-@@ -157,14 +157,10 @@ TranslateRankerImpl::TranslateRankerImpl
+@@ -154,12 +154,9 @@ TranslateRankerImpl::TranslateRankerImpl
                                           ukm::UkmRecorder* ukm_recorder)
      : ukm_recorder_(ukm_recorder),
        is_uma_logging_enabled_(false),
 -      is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)),
 -      is_enforcement_enabled_(
 -          base::FeatureList::IsEnabled(kTranslateRankerEnforcement)),
--      is_auto_blacklist_override_enabled_(base::FeatureList::IsEnabled(
--          translate::kTranslateRankerAutoBlacklistOverride)),
 -      is_previous_language_matches_override_enabled_(
 -          base::FeatureList::IsEnabled(
 -              translate::kTranslateRankerPreviousLanguageMatchesOverride)) {
 +      is_query_enabled_(false),
 +      is_enforcement_enabled_(false),
-+      is_auto_blacklist_override_enabled_(false),
 +      is_previous_language_matches_override_enabled_(false) {
    if (is_query_enabled_ || is_enforcement_enabled_) {
      model_loader_ = std::make_unique<assist_ranker::RankerModelLoaderImpl>(
          base::BindRepeating(&ValidateModel),
-@@ -237,6 +233,8 @@ bool TranslateRankerImpl::ShouldOfferTra
+@@ -232,6 +229,8 @@ bool TranslateRankerImpl::ShouldOfferTra
    // (or become False).
    const bool kDefaultResponse = true;
  

+ 10 - 60
patches/core/ungoogled-chromium/use-local-devtools-files.patch

@@ -5,34 +5,17 @@
 
 --- a/third_party/devtools-frontend/src/BUILD.gn
 +++ b/third_party/devtools-frontend/src/BUILD.gn
-@@ -209,14 +209,13 @@ generated_non_autostart_non_remote_modul
-   "$resources_out_dir/web_audio/web_audio_module.js",
-   "$resources_out_dir/webauthn/webauthn_module.js",
-   "$resources_out_dir/workspace_diff/workspace_diff_module.js",
--]
--
--generated_remote_modules = [
-   "$resources_out_dir/lighthouse_worker/lighthouse_worker_module.js",
-   "$resources_out_dir/dagre_layout/dagre_layout_module.js",
-   "$resources_out_dir/emulated_devices/emulated_devices_module.js",
- ]
- 
-+generated_remote_modules = []
-+
- generated_test_modules = [
-   "$resources_out_dir/accessibility_test_runner/accessibility_test_runner_module.js",
-   "$resources_out_dir/application_test_runner/application_test_runner_module.js",
-@@ -273,7 +272,7 @@ devtools_frontend_resources_deps = [
-   ":copy_emulated_devices_images",
+@@ -224,7 +224,7 @@ devtools_frontend_resources_deps = [
+   ":build_release_devtools",
    ":devtools_extension_api",
    "front_end",
 -  "test",
 +#  "test",
  ]
  
- if (is_debug) {
-@@ -337,7 +336,6 @@ action("generate_devtools_grd") {
-       generated_typescript_modules +
+ group("devtools_all_files") {
+@@ -259,7 +259,6 @@ action("generate_devtools_grd") {
+       generated_emulated_device_images +
        [
          "$resources_out_dir/devtools_extension_api.js",
 -        "$resources_out_dir/sdk/wasm_source_map/pkg/wasm_source_map_bg.wasm",
@@ -41,7 +24,7 @@
        ]
 --- a/third_party/devtools-frontend/src/devtools_grd_files.gni
 +++ b/third_party/devtools-frontend/src/devtools_grd_files.gni
-@@ -114,6 +114,7 @@ grd_files_release_sources = [
+@@ -111,6 +111,7 @@ grd_files_release_sources = [
    "front_end/css_overview/css_overview-legacy.js",
    "front_end/css_overview/css_overview.js",
    "front_end/css_overview/css_overview_module.js",
@@ -49,23 +32,15 @@
    "front_end/data_grid/data_grid-legacy.js",
    "front_end/data_grid/data_grid.js",
    "front_end/data_grid/data_grid_module.js",
-@@ -133,6 +134,7 @@ grd_files_release_sources = [
-   "front_end/elements/elements-legacy.js",
-   "front_end/elements/elements.js",
-   "front_end/elements/elements_module.js",
-+  "front_end/emulated_devices/emulated_devices_module.js",
-   "front_end/emulation/emulation-legacy.js",
-   "front_end/emulation/emulation.js",
-   "front_end/event_listeners/event_listeners-legacy.js",
-@@ -191,6 +193,7 @@ grd_files_release_sources = [
-   "front_end/lighthouse/lighthouse.js",
-   "front_end/lighthouse/lighthouse_module.js",
+@@ -231,6 +232,7 @@ grd_files_release_sources = [
    "front_end/lighthouse_worker.js",
+   "front_end/lighthouse_worker/LighthouseService.js",
+   "front_end/lighthouse_worker/lighthouse_worker.js",
 +  "front_end/lighthouse_worker/lighthouse_worker_module.js",
    "front_end/main/main-legacy.js",
    "front_end/main/main.js",
    "front_end/marked/marked.js",
-@@ -242,7 +245,6 @@ grd_files_release_sources = [
+@@ -282,7 +284,6 @@ grd_files_release_sources = [
    "front_end/screencast/screencast.js",
    "front_end/sdk/sdk-legacy.js",
    "front_end/sdk/sdk.js",
@@ -73,31 +48,6 @@
    "front_end/search/search-legacy.js",
    "front_end/search/search.js",
    "front_end/search/search_module.js",
---- a/third_party/devtools-frontend/src/front_end/devtools_app.json
-+++ b/third_party/devtools-frontend/src/front_end/devtools_app.json
-@@ -10,10 +10,10 @@
-     { "name": "browser_debugger" },
-     { "name": "css_overview" },
-     { "name": "cookie_table" },
--    { "name": "dagre_layout", "type": "remote" },
-+    { "name": "dagre_layout" },
-     { "name": "devices" },
-     { "name": "elements" },
--    { "name": "emulated_devices" , "type": "remote" },
-+    { "name": "emulated_devices" },
-     { "name": "issues" },
-     { "name": "developer_resources" },
-     { "name": "har_importer" },
---- a/third_party/devtools-frontend/src/front_end/lighthouse_worker.json
-+++ b/third_party/devtools-frontend/src/front_end/lighthouse_worker.json
-@@ -2,6 +2,6 @@
-     "worker": true,
-     "modules": [
-         { "name": "worker_service", "type": "autostart" },
--        { "name": "lighthouse_worker", "type": "remote" }
-+        { "name": "lighthouse_worker" }
-     ]
- }
 --- a/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/BUILD.gn
 +++ b/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/BUILD.gn
 @@ -8,7 +8,6 @@ devtools_pre_built("wasm_source_map") {

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

@@ -9,14 +9,14 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2170,6 +2170,7 @@ static_library("browser") {
+@@ -2250,6 +2250,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
 +    "//components/ungoogled:ungoogled_switches",
      "//third_party/webrtc_overrides:webrtc_component",
      "//third_party/widevine/cdm:buildflags",
-     "//third_party/zlib",
+     "//third_party/widevine/cdm:headers",
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
 @@ -170,6 +170,7 @@
@@ -27,7 +27,7 @@
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_features.h"
-@@ -2318,6 +2319,14 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2544,6 +2545,14 @@ const FeatureEntry kFeatureEntries[] = {
       "Set internal PDF plugin name",
       "Sets the internal PDF viewer plugin name. Useful for sites that probe JS API navigator.plugins",
       kOsDesktop, MULTI_VALUE_TYPE(kPDFPluginNameChoices)},
@@ -44,7 +44,7 @@
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlocklist)},
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -220,6 +220,7 @@ source_set("browser") {
+@@ -226,6 +226,7 @@ source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -54,7 +54,7 @@
      "//third_party/zlib/google:zip",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -223,6 +223,7 @@
+@@ -221,6 +221,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"
-@@ -3386,6 +3387,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3376,6 +3377,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLDraftExtensions,
      switches::kEnableWebGLImageChromium,
      switches::kFileUrlPathAlias,
@@ -73,7 +73,7 @@
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/BUILD.gn
 +++ b/content/child/BUILD.gn
-@@ -125,6 +125,7 @@ target(link_target_type, "child") {
+@@ -130,6 +130,7 @@ target(link_target_type, "child") {
      "//third_party/blink/public/common",
      "//third_party/blink/public/strings",
      "//third_party/ced",
@@ -83,15 +83,15 @@
      "//ui/events/blink",
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -30,6 +30,7 @@
- #include "third_party/blink/public/common/features.h"
+@@ -29,6 +29,7 @@
+ #include "third_party/blink/public/common/loader/referrer_utils.h"
  #include "third_party/blink/public/common/switches.h"
  #include "third_party/blink/public/platform/web_runtime_features.h"
 +#include "components/ungoogled/ungoogled_switches.h"
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
-@@ -496,6 +497,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -447,6 +448,10 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kEnableAccessibilityObjectModel, true},
        {wrf::EnableAllowSyncXHRInPageDismissal,
         switches::kAllowSyncXHRInPageDismissal, true},
@@ -123,7 +123,7 @@
  #include "base/time/time.h"
  #include "cc/input/overscroll_behavior.h"
  #include "cc/input/scroll_snap_data.h"
-@@ -898,6 +899,14 @@ Range* Document::CreateRangeAdjustedToTr
+@@ -907,6 +908,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>();
-@@ -2472,6 +2481,15 @@ void Document::UpdateStyleAndLayoutTree(
+@@ -2486,6 +2495,15 @@ void Document::UpdateStyleAndLayoutTree(
  #if DCHECK_IS_ON()
    AssertLayoutTreeUpdated(*this);
  #endif
@@ -153,10 +153,10 @@
 +  }
  }
  
- void Document::UpdateActiveStyle() {
+ void Document::InvalidateStyleAndLayoutForFontUpdates() {
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -438,6 +438,10 @@ class CORE_EXPORT Document : public Cont
+@@ -447,6 +447,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -164,10 +164,10 @@
 +  double GetNoiseFactorX();
 +  double GetNoiseFactorY();
 +
-   String visibilityState() const;
+   AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -1940,6 +1944,9 @@ class CORE_EXPORT Document : public Cont
+@@ -1966,6 +1970,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
-@@ -2019,6 +2019,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2049,6 +2049,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
        quads, *element_layout_object);
@@ -191,7 +191,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2036,6 +2041,9 @@ DOMRect* Element::getBoundingClientRect(
+@@ -2066,6 +2071,9 @@ DOMRect* Element::getBoundingClientRect(
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
                                                          *element_layout_object);
@@ -203,7 +203,7 @@
  
 --- a/third_party/blink/renderer/core/dom/range.cc
 +++ b/third_party/blink/renderer/core/dom/range.cc
-@@ -1614,11 +1614,21 @@ DOMRectList* Range::getClientRects() con
+@@ -1615,11 +1615,21 @@ DOMRectList* Range::getClientRects() con
    Vector<FloatQuad> quads;
    GetBorderAndTextQuads(quads);
  
@@ -266,7 +266,7 @@
                const TextDirection&,
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
-@@ -835,9 +835,15 @@ TextMetrics* CanvasRenderingContext2D::m
+@@ -838,9 +838,15 @@ TextMetrics* CanvasRenderingContext2D::m
    else
      direction = ToTextDirection(GetState().GetDirection(), canvas());
  
@@ -285,17 +285,17 @@
  void CanvasRenderingContext2D::DrawTextInternal(
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1569,6 +1569,7 @@ component("platform") {
-     "//base/allocator:buildflags",
+@@ -1610,6 +1610,7 @@ component("platform") {
      "//cc/ipc",
      "//components/paint_preview/common",
+     "//components/search_engines:search_engine_utils",
 +    "//components/ungoogled:ungoogled_switches",
      "//components/viz/client",
      "//components/viz/common",
      "//crypto",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -729,4 +729,12 @@ void WebRuntimeFeatures::EnableConversio
+@@ -731,4 +731,12 @@ void WebRuntimeFeatures::EnableConversio
    RuntimeEnabledFeatures::SetConversionMeasurementInfraSupportEnabled(enable);
  }
  
@@ -310,7 +310,7 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -817,6 +817,12 @@
+@@ -830,6 +830,12 @@
        status: "stable",
      },
      {

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

@@ -23,7 +23,7 @@ approach to change color components.
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -2332,6 +2332,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2558,6 +2558,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Enable Canvas::measureText() fingerprint deception",
       "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
       kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
@@ -36,7 +36,7 @@ approach to change color components.
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlocklist)},
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3389,6 +3389,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3379,6 +3379,7 @@ void RenderProcessHostImpl::PropagateBro
      switches::kFileUrlPathAlias,
      switches::kFingerprintingClientRectsNoise,
      switches::kFingerprintingCanvasMeasureTextNoise,
@@ -46,7 +46,7 @@ approach to change color components.
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -501,6 +501,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -452,6 +452,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -67,7 +67,7 @@ approach to change color components.
    BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1548,7 +1548,9 @@ component("platform") {
+@@ -1575,7 +1575,9 @@ component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  
@@ -76,11 +76,11 @@ approach to change color components.
 +    "//third_party/skia/include/private", # For shuffler in graphics/static_bitmap_image.cc
 +  ]
  
-   public_deps = [
-     ":blink_platform_public_deps",
+   allow_circular_includes_from = [
+     "//third_party/blink/renderer/platform/blob",
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -737,4 +737,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -739,4 +739,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -100,7 +100,7 @@ approach to change color components.
  #include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
  #include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
  #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
-@@ -137,6 +139,11 @@ bool ImageDataBuffer::EncodeImageInterna
+@@ -145,6 +147,11 @@ bool ImageDataBuffer::EncodeImageInterna
                                            const SkPixmap& pixmap) const {
    DCHECK(is_valid_);
  
@@ -123,7 +123,7 @@ approach to change color components.
  #include "base/numerics/checked_math.h"
  #include "gpu/command_buffer/client/gles2_interface.h"
  #include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
-@@ -11,11 +13,13 @@
+@@ -11,10 +13,12 @@
  #include "third_party/blink/renderer/platform/graphics/image_observer.h"
  #include "third_party/blink/renderer/platform/graphics/paint/paint_image.h"
  #include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h"
@@ -132,12 +132,11 @@ approach to change color components.
  #include "third_party/skia/include/core/SkImage.h"
  #include "third_party/skia/include/core/SkPaint.h"
  #include "third_party/skia/include/core/SkSurface.h"
- #include "third_party/skia/include/gpu/GrContext.h"
 +#include "third_party/skia/include/private/SkColorData.h"
  #include "v8/include/v8.h"
  
  namespace blink {
-@@ -129,7 +133,162 @@ bool StaticBitmapImage::CopyToByteArray(
+@@ -128,7 +132,162 @@ bool StaticBitmapImage::CopyToByteArray(
                .bounds()
                .intersect(SkIRect::MakeXYWH(rect.X(), rect.Y(), info.width(),
                                             info.height())));
@@ -313,7 +312,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
-@@ -823,6 +823,9 @@
+@@ -836,6 +836,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {

+ 8 - 8
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
-@@ -1994,6 +1994,7 @@ static_library("browser") {
+@@ -2042,6 +2042,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -27,7 +27,7 @@ with limited CPU/memory resources and it is disabled by default.
      "//components/offline_items_collection/core",
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -795,6 +795,11 @@ const FeatureEntry::Choice kForceEffecti
+@@ -842,6 +842,11 @@ const FeatureEntry::Choice kForceEffecti
       net::kEffectiveConnectionType4G},
  };
  
@@ -39,7 +39,7 @@ with limited CPU/memory resources and it is disabled by default.
  // Ensure that all effective connection types returned by Network Quality
  // Estimator (NQE) are also exposed via flags.
  static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
-@@ -3362,6 +3367,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3586,6 +3591,9 @@ const FeatureEntry kFeatureEntries[] = {
       flag_descriptions::kAutofillCreditCardUploadDescription, kOsAll,
       FEATURE_VALUE_TYPE(autofill::features::kAutofillUpstream)},
  #endif  // TOOLKIT_VIEWS || OS_ANDROID
@@ -66,7 +66,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"
-@@ -99,6 +101,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"
@@ -74,7 +74,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "components/network_time/network_time_tracker.h"
  #include "components/optimization_guide/optimization_guide_features.h"
  #include "components/optimization_guide/optimization_guide_service.h"
-@@ -136,6 +139,7 @@
+@@ -132,6 +135,7 @@
  #include "media/media_buildflags.h"
  #include "mojo/public/cpp/bindings/pending_receiver.h"
  #include "net/log/net_log.h"
@@ -82,7 +82,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "ppapi/buildflags/buildflags.h"
  #include "printing/buildflags/buildflags.h"
  #include "services/network/public/cpp/features.h"
-@@ -325,6 +329,18 @@ void BrowserProcessImpl::Init() {
+@@ -324,6 +328,18 @@ void BrowserProcessImpl::Init() {
                               base::BindRepeating(&ApplyMetricsReportingPolicy));
  #endif
  
@@ -103,7 +103,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1361,6 +1361,10 @@ const char kMediaHistoryDescription[] =
+@@ -1391,6 +1391,10 @@ const char kMediaHistoryDescription[] =
      "Enables Media History which records data around media playbacks on "
      "websites.";
  
@@ -116,7 +116,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
-@@ -801,6 +801,9 @@ extern const char kMarkHttpAsWarningAndD
+@@ -812,6 +812,9 @@ extern const char kMarkHttpAsWarningAndD
  extern const char kMediaHistoryName[];
  extern const char kMediaHistoryDescription[];
  

+ 1 - 1
patches/extra/debian/disable/android.patch

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -409,7 +409,7 @@ group("gn_all") {
+@@ -408,7 +408,7 @@ group("gn_all") {
    #       seems currently broken for this platform at the moment, and the
    #       corresponding code build and works on Linux unmodified.
    #       See instructions in the corresponding BUILD.gn.

+ 0 - 16
patches/extra/debian/disable/device-notifications.patch

@@ -1,16 +0,0 @@
-description: disable device discovery notifications by default
-author: Michael Gilbert <mgilbert@debian.org>
-bug-debian: http://bugs.debian.org/856571
-
---- a/chrome/browser/printing/cloud_print/privet_notifications.cc
-+++ b/chrome/browser/printing/cloud_print/privet_notifications.cc
-@@ -211,8 +211,7 @@ void PrivetNotificationService::DeviceCa
- // static
- bool PrivetNotificationService::IsEnabled() {
-   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
--  return !command_line->HasSwitch(
--      switches::kDisableDeviceDiscoveryNotifications);
-+  return command_line->HasSwitch(switches::kEnableDeviceDiscoveryNotifications);
- }
- 
- // static

+ 2 - 2
patches/extra/debian/disable/fuzzers.patch

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -758,8 +758,7 @@ group("gn_all") {
+@@ -761,8 +761,7 @@ group("gn_all") {
      }
    }
  
@@ -15,7 +15,7 @@ author: Michael Gilbert <mgilbert@debian.org>
        "//testing/libfuzzer/fuzzers",
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
-@@ -2496,10 +2496,6 @@ test("content_perftests") {
+@@ -2506,10 +2506,6 @@ test("content_perftests") {
    }
  }
  

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

@@ -3,14 +3,12 @@ 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
-@@ -901,10 +901,6 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -752,8 +752,6 @@ void StartupBrowserCreatorImpl::AddInfoB
  
      InfoBarService* infobar_service =
          InfoBarService::FromWebContents(web_contents);
--    if (!google_apis::HasAPIKeyConfigured() ||
--        !google_apis::HasOAuthClientConfigured()) {
+-    if (!google_apis::HasAPIKeyConfigured())
 -      GoogleApiKeysInfoBarDelegate::Create(infobar_service);
--    }
  
      if (ObsoleteSystem::IsObsoleteNowOrSoon()) {
        PrefService* local_state = g_browser_process->local_state();

+ 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
-@@ -1101,7 +1101,7 @@ void ProfileManager::InitProfileUserPref
+@@ -1107,7 +1107,7 @@ void ProfileManager::InitProfileUserPref
      profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
                                     supervised_user_id);
    }

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

@@ -12,15 +12,15 @@
  void BackgroundModeManager::RegisterProfile(Profile* profile) {
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1264,7 +1264,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1278,7 +1278,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
 -  registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true);
 +  registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, false);
-   registry->RegisterListPref(prefs::kEnableDeprecatedWebPlatformFeatures);
    // Register user prefs for mapping SitePerProcess and IsolateOrigins in
    // user policy in addition to the same named ones in Local State (which are
+   // used for mapping the command-line flags).
 --- a/chrome/browser/net/prediction_options.cc
 +++ b/chrome/browser/net/prediction_options.cc
 @@ -31,7 +31,7 @@ NetworkPredictionStatus CanPrefetchAndPr
@@ -56,7 +56,7 @@
    registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
 --- a/chrome/browser/profiles/profile.cc
 +++ b/chrome/browser/profiles/profile.cc
-@@ -256,7 +256,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,
@@ -78,7 +78,7 @@
      </cr-dialog>
 --- a/chrome/browser/signin/account_consistency_mode_manager.cc
 +++ b/chrome/browser/signin/account_consistency_mode_manager.cc
-@@ -95,7 +95,7 @@ void AccountConsistencyModeManager::Regi
+@@ -116,7 +116,7 @@ void AccountConsistencyModeManager::Regi
  #if BUILDFLAG(ENABLE_DICE_SUPPORT)
    registry->RegisterBooleanPref(kDiceMigrationCompletePref, false);
  #endif
@@ -105,15 +105,15 @@
    registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
 --- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
 +++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
-@@ -147,10 +147,6 @@ void LocalDiscoveryUI::RegisterProfilePr
+@@ -147,6 +147,10 @@ void LocalDiscoveryUI::RegisterProfilePr
    registry->RegisterBooleanPref(prefs::kLocalDiscoveryEnabled, true);
    registry->RegisterBooleanPref(
        prefs::kLocalDiscoveryNotificationsEnabled,
--#if defined(OS_WIN)
++#if defined(OS_WIN)
        false,
--#else
--      true,
--#endif
++#else
++      true,
++#endif
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
  }
 --- a/chrome/service/cloud_print/connector_settings.cc
@@ -129,7 +129,7 @@
        prefs::kCloudPrintXmppPingEnabled, false);
 --- a/components/autofill/core/common/autofill_prefs.cc
 +++ b/components/autofill/core/common/autofill_prefs.cc
-@@ -134,10 +134,10 @@ const char kAutocompleteLastVersionReten
+@@ -138,10 +138,10 @@ const char kAutocompleteLastVersionReten
  void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    // Synced prefs. Used for cross-device choices, e.g., credit card Autofill.
    registry->RegisterBooleanPref(
@@ -142,7 +142,7 @@
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterIntegerPref(
        prefs::kAutofillLastVersionDeduped, 0,
-@@ -150,7 +150,7 @@ void RegisterProfilePrefs(user_prefs::Pr
+@@ -154,7 +154,7 @@ void RegisterProfilePrefs(user_prefs::Pr
        prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterBooleanPref(
@@ -170,18 +170,18 @@
        prefs::kShowManagedBookmarksInBookmarkBar,
 --- a/components/content_settings/core/browser/cookie_settings.cc
 +++ b/components/content_settings/core/browser/cookie_settings.cc
-@@ -65,7 +65,7 @@ void CookieSettings::GetCookieSettings(
- void CookieSettings::RegisterProfilePrefs(
+@@ -62,7 +62,7 @@ void CookieSettings::RegisterProfilePref
      user_prefs::PrefRegistrySyncable* registry) {
-   registry->RegisterBooleanPref(
--      prefs::kBlockThirdPartyCookies, false,
-+      prefs::kBlockThirdPartyCookies, true,
-       user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
    registry->RegisterIntegerPref(
        prefs::kCookieControlsMode,
+-      static_cast<int>(CookieControlsMode::kIncognitoOnly),
++      static_cast<int>(CookieControlsMode::kBlockThirdParty),
+       user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ }
+ 
 --- a/components/password_manager/core/browser/password_manager.cc
 +++ b/components/password_manager/core/browser/password_manager.cc
-@@ -207,10 +207,10 @@ FormData SimplifiedFormDataFromFormStruc
+@@ -205,10 +205,10 @@ FormData SimplifiedFormDataFromFormStruc
  void PasswordManager::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(

+ 18 - 18
patches/extra/inox-patchset/0011-add-duckduckgo-search-engine.patch

@@ -1,6 +1,6 @@
 --- a/components/search_engines/template_url_prepopulate_data.cc
 +++ b/components/search_engines/template_url_prepopulate_data.cc
-@@ -32,6 +32,7 @@ namespace {
+@@ -29,6 +29,7 @@ namespace {
  
  // Default (for countries with no better engine set)
  const PrepopulatedEngine* const engines_default[] = {
@@ -8,7 +8,7 @@
      &google,
      &bing,
      &yahoo,
-@@ -41,78 +42,79 @@ const PrepopulatedEngine* const engines_
+@@ -38,78 +39,79 @@ const PrepopulatedEngine* const engines_
  // Engine selection by country ------------------------------------------------
  // United Arab Emirates
  const PrepopulatedEngine* const engines_AE[] = {
@@ -96,7 +96,7 @@
      &google,
      &bing,
      &yahoo,
-@@ -122,6 +124,7 @@ const PrepopulatedEngine* const engines_
+@@ -119,6 +121,7 @@ const PrepopulatedEngine* const engines_
  
  // Burundi
  const PrepopulatedEngine* const engines_BI[] = {
@@ -104,7 +104,7 @@
      &google,
      &bing,
      &yahoo,
-@@ -131,33 +134,34 @@ const PrepopulatedEngine* const engines_
+@@ -128,33 +131,34 @@ const PrepopulatedEngine* const engines_
  
  // Brunei
  const PrepopulatedEngine* const engines_BN[] = {
@@ -142,7 +142,7 @@
      &google,
      &yandex_by,
      &mail_ru,
-@@ -167,42 +171,43 @@ const PrepopulatedEngine* const engines_
+@@ -164,42 +168,43 @@ const PrepopulatedEngine* const engines_
  
  // Belize
  const PrepopulatedEngine* const engines_BZ[] = {
@@ -190,7 +190,7 @@
      &baidu,
      &sogou,
      &google,
-@@ -212,78 +217,79 @@ const PrepopulatedEngine* const engines_
+@@ -209,78 +214,79 @@ const PrepopulatedEngine* const engines_
  
  // Colombia
  const PrepopulatedEngine* const engines_CO[] = {
@@ -278,7 +278,7 @@
      &google,
      &bing,
      &yandex_ru,
-@@ -293,42 +299,43 @@ const PrepopulatedEngine* const engines_
+@@ -290,42 +296,43 @@ const PrepopulatedEngine* const engines_
  
  // Egypt
  const PrepopulatedEngine* const engines_EG[] = {
@@ -326,7 +326,7 @@
      &google,
      &bing,
      &yahoo_fr,
-@@ -338,33 +345,34 @@ const PrepopulatedEngine* const engines_
+@@ -335,33 +342,34 @@ const PrepopulatedEngine* const engines_
  
  // United Kingdom
  const PrepopulatedEngine* const engines_GB[] = {
@@ -364,7 +364,7 @@
      &google,
      &yahoo_hk,
      &bing,
-@@ -374,78 +382,79 @@ const PrepopulatedEngine* const engines_
+@@ -371,78 +379,79 @@ const PrepopulatedEngine* const engines_
  
  // Honduras
  const PrepopulatedEngine* const engines_HN[] = {
@@ -452,7 +452,7 @@
      &google,
      &bing,
      &yahoo,
-@@ -455,42 +464,43 @@ const PrepopulatedEngine* const engines_
+@@ -452,42 +461,43 @@ const PrepopulatedEngine* const engines_
  
  // Iceland
  const PrepopulatedEngine* const engines_IS[] = {
@@ -500,7 +500,7 @@
      &google,
      &yahoo_jp,
      &bing,
-@@ -500,15 +510,16 @@ const PrepopulatedEngine* const engines_
+@@ -497,15 +507,16 @@ const PrepopulatedEngine* const engines_
  
  // Kenya
  const PrepopulatedEngine* const engines_KE[] = {
@@ -518,7 +518,7 @@
      &google,
      &naver,
      &bing,
-@@ -518,15 +529,16 @@ const PrepopulatedEngine* const engines_
+@@ -515,15 +526,16 @@ const PrepopulatedEngine* const engines_
  
  // Kuwait
  const PrepopulatedEngine* const engines_KW[] = {
@@ -536,7 +536,7 @@
      &google,
      &yandex_kz,
      &mail_ru,
-@@ -536,267 +548,268 @@ const PrepopulatedEngine* const engines_
+@@ -533,267 +545,268 @@ const PrepopulatedEngine* const engines_
  
  // Lebanon
  const PrepopulatedEngine* const engines_LB[] = {
@@ -834,7 +834,7 @@
      &google,
      &yandex_ru,
      &mail_ru,
-@@ -806,33 +819,34 @@ const PrepopulatedEngine* const engines_
+@@ -803,33 +816,34 @@ const PrepopulatedEngine* const engines_
  
  // Rwanda
  const PrepopulatedEngine* const engines_RW[] = {
@@ -872,7 +872,7 @@
      &google,
      &bing,
      &yandex_com,
-@@ -842,78 +856,79 @@ const PrepopulatedEngine* const engines_
+@@ -839,78 +853,79 @@ const PrepopulatedEngine* const engines_
  
  // Slovenia
  const PrepopulatedEngine* const engines_SI[] = {
@@ -960,7 +960,7 @@
      &google,
      &yahoo_tw,
      &bing,
-@@ -923,15 +938,16 @@ const PrepopulatedEngine* const engines_
+@@ -920,15 +935,16 @@ const PrepopulatedEngine* const engines_
  
  // Tanzania
  const PrepopulatedEngine* const engines_TZ[] = {
@@ -978,7 +978,7 @@
      &google,
      &yandex_ua,
      &bing,
-@@ -941,33 +957,34 @@ const PrepopulatedEngine* const engines_
+@@ -938,33 +954,34 @@ const PrepopulatedEngine* const engines_
  
  // United States
  const PrepopulatedEngine* const engines_US[] = {
@@ -1016,7 +1016,7 @@
      &google,
      &coccoc,
      &yahoo,
-@@ -977,29 +994,29 @@ const PrepopulatedEngine* const engines_
+@@ -974,29 +991,29 @@ const PrepopulatedEngine* const engines_
  
  // Yemen
  const PrepopulatedEngine* const engines_YE[] = {

+ 1 - 1
patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch

@@ -1,6 +1,6 @@
 --- a/sandbox/linux/BUILD.gn
 +++ b/sandbox/linux/BUILD.gn
-@@ -315,6 +315,12 @@ if (is_linux || is_chromeos) {
+@@ -323,6 +323,12 @@ if (is_linux || is_chromeos) {
        # These files have a suspicious comparison.
        # TODO fix this and re-enable this warning.
        "-Wno-sign-compare",

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

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

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

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -300,6 +300,13 @@ const FeatureEntry::Choice kPDFPluginNam
+@@ -301,6 +301,13 @@ const FeatureEntry::Choice kPDFPluginNam
      {"Microsoft Edge", switches::kPDFPluginName, "edge"},
  };
  
@@ -14,7 +14,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -2555,6 +2562,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2774,6 +2781,10 @@ const FeatureEntry kFeatureEntries[] = {
      {"focus-mode", flag_descriptions::kFocusMode,
       flag_descriptions::kFocusModeDescription, kOsDesktop,
       FEATURE_VALUE_TYPE(features::kFocusMode)},

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -307,6 +307,16 @@ const FeatureEntry::Choice kBookmarkBarN
+@@ -308,6 +308,16 @@ const FeatureEntry::Choice kBookmarkBarN
       "never"},
  };
  
@@ -17,7 +17,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -2289,6 +2299,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2515,6 +2525,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Force punycode hostnames",
       "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs).",
       kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")},
@@ -73,7 +73,7 @@
    if (provider_types & AutocompleteProvider::TYPE_KEYWORD) {
 --- a/components/omnibox/browser/history_url_provider.cc
 +++ b/components/omnibox/browser/history_url_provider.cc
-@@ -549,6 +549,11 @@ void HistoryURLProvider::Start(const Aut
+@@ -551,6 +551,11 @@ void HistoryURLProvider::Start(const Aut
    if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
      matches_.push_back(what_you_typed_match);
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -294,6 +294,12 @@ const FeatureEntry::Choice kScrollEventC
+@@ -295,6 +295,12 @@ const FeatureEntry::Choice kScrollEventC
       "never"}
  };
  
@@ -13,7 +13,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -2276,6 +2282,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2502,6 +2508,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Force punycode hostnames",
       "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs).",
       kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")},
@@ -26,7 +26,7 @@
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlocklist)},
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5722,7 +5722,7 @@ bool ChromeContentBrowserClient::ShouldA
+@@ -5742,7 +5742,7 @@ bool ChromeContentBrowserClient::ShouldA
      const url::Origin& embedder_origin,
      const content::PepperPluginInfo& plugin_info) {
  #if BUILDFLAG(ENABLE_PDF)
@@ -37,7 +37,7 @@
      if (embedder_origin.scheme() == extensions::kExtensionScheme &&
 --- a/chrome/browser/pdf/pdf_extension_util.cc
 +++ b/chrome/browser/pdf/pdf_extension_util.cc
-@@ -135,7 +135,7 @@ std::string GetManifest() {
+@@ -152,7 +152,7 @@ std::string GetManifest() {
    DCHECK(manifest_contents.find(kNameTag) != std::string::npos);
    base::ReplaceFirstSubstringAfterOffset(
        &manifest_contents, 0, kNameTag,
@@ -283,7 +283,7 @@
      ],
 --- a/chrome/common/BUILD.gn
 +++ b/chrome/common/BUILD.gn
-@@ -247,6 +247,7 @@ static_library("common") {
+@@ -244,6 +244,7 @@ static_library("common") {
      "//components/page_load_metrics/common:common",
      "//components/prerender/common",
      "//components/prerender/common:mojo_bindings",
@@ -391,7 +391,7 @@
      FILE_PATH_LITERAL("internal-pdf-viewer");
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -920,7 +920,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -922,7 +922,7 @@ WebPlugin* ChromeContentRendererClient::
              }
            }
          } else if (info.name ==
@@ -400,7 +400,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.
-@@ -974,7 +974,7 @@ WebPlugin* ChromeContentRendererClient::
+@@ -976,7 +976,7 @@ WebPlugin* ChromeContentRendererClient::
          PluginUMAReporter::GetInstance()->ReportPluginDisabled(orig_mime_type,
                                                                 url);
          if (info.name ==

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -2245,6 +2245,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2471,6 +2471,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Enable stacking in the tab strip",
       "Forces tabs to be stacked in the tab strip. Otherwise, they follow default behavior.",
       kOsAll, SINGLE_VALUE_TYPE("enable-stacked-tab-strip")},

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -317,6 +317,13 @@ const FeatureEntry::Choice kOmniboxAutoc
+@@ -318,6 +318,13 @@ const FeatureEntry::Choice kOmniboxAutoc
       "search-suggestions-and-bookmarks"},
  };
  
@@ -14,7 +14,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -2303,6 +2310,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2529,6 +2536,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Omnibox Autocomplete Filtering",
       "Restrict omnibox autocomplete results to search suggestions (if enabled) or search suggestions and bookmarks.",
       kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
@@ -35,7 +35,7 @@
  #include "base/containers/flat_map.h"
  #include "base/metrics/histogram_macros.h"
  #include "base/metrics/user_metrics.h"
-@@ -1673,6 +1674,10 @@ bool TabStripModel::InternalCloseTabs(
+@@ -1704,6 +1705,10 @@ bool TabStripModel::InternalCloseTabs(
    if (items.empty())
      return true;
  

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

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -261,6 +261,16 @@ const unsigned kOsDesktop = kOsMac | kOs
+@@ -262,6 +262,16 @@ const unsigned kOsDesktop = kOsMac | kOs
  const unsigned kOsAura = kOsWin | kOsLinux | kOsCrOS;
  #endif  // USE_AURA || OS_ANDROID
  
@@ -20,7 +20,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -2227,6 +2237,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2453,6 +2463,10 @@ const FeatureEntry kFeatureEntries[] = {
  // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
  // //tools/flags/generate_unexpire_flags.py.
  #include "chrome/browser/unexpire_flags_gen.inc"
@@ -107,7 +107,7 @@
  #include "base/logging.h"
  #include "base/metrics/histogram_macros.h"
  #include "base/stl_util.h"
-@@ -193,6 +194,13 @@ bool ExtensionManagement::IsInstallation
+@@ -197,6 +198,13 @@ bool ExtensionManagement::IsInstallation
  bool ExtensionManagement::IsOffstoreInstallAllowed(
      const GURL& url,
      const GURL& referrer_url) const {

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -2249,6 +2249,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2475,6 +2475,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Disable search engine collection",
       "Prevents search engines from being added automatically.",
       kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")},

+ 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
-@@ -879,7 +879,8 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -730,7 +730,8 @@ void StartupBrowserCreatorImpl::AddInfoB
    if (command_line_.HasSwitch(switches::kKioskMode))
      return;
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -284,6 +284,16 @@ const FeatureEntry::Choice kShowAvatarBu
+@@ -285,6 +285,16 @@ const FeatureEntry::Choice kShowAvatarBu
       "never"}
  };
  
@@ -17,7 +17,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -4681,6 +4691,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -4911,6 +4921,11 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(
           autofill::features::kAutofillEnableAccountWalletStorage)},
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -271,6 +271,19 @@ const FeatureEntry::Choice kExtensionHan
+@@ -272,6 +272,19 @@ const FeatureEntry::Choice kExtensionHan
       "always-prompt-for-install"},
  };
  
@@ -20,7 +20,7 @@
  #if defined(USE_AURA)
  const FeatureEntry::Choice kPullToRefreshChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
-@@ -4800,6 +4813,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5024,6 +5037,11 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(arc::kEnableUnifiedAudioFocusFeature)},
  #endif  // defined(OS_CHROMEOS)
  
@@ -34,7 +34,7 @@
       flag_descriptions::kUseAngleDescription, kOsWin,
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -241,14 +241,30 @@ void ToolbarView::Init() {
+@@ -233,14 +233,30 @@ void ToolbarView::Init() {
  
    std::unique_ptr<ToolbarAccountIconContainerView>
        toolbar_account_icon_container;

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -2227,6 +2227,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2453,6 +2453,10 @@ const FeatureEntry kFeatureEntries[] = {
  // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
  // //tools/flags/generate_unexpire_flags.py.
  #include "chrome/browser/unexpire_flags_gen.inc"
@@ -15,7 +15,7 @@
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlocklist)},
 --- a/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
 +++ b/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
-@@ -72,14 +72,13 @@ using content::WebContents;
+@@ -77,14 +77,13 @@ using content::WebContents;
  namespace {
  
  bool DetermineTabStripLayoutStacked(PrefService* prefs, bool* adjust_layout) {

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

@@ -3,9 +3,9 @@
 
 --- a/net/base/features.cc
 +++ b/net/base/features.cc
-@@ -178,5 +178,7 @@ extern const base::FeatureParam<int> kLi
-     "LimitOpenUDPSocketsMax",
-     6000);
+@@ -195,5 +195,7 @@ extern const base::FeatureParam<base::Ti
+     "TimeoutTcpConnectAttemptMax",
+     base::TimeDelta::FromSeconds(30));
  
 +const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT};
 +
@@ -13,9 +13,9 @@
  }  // namespace net
 --- a/net/base/features.h
 +++ b/net/base/features.h
-@@ -266,6 +266,8 @@ NET_EXPORT extern const base::Feature kL
- // this will result in a failure (ERR_INSUFFICIENT_RESOURCES).
- NET_EXPORT extern const base::FeatureParam<int> kLimitOpenUDPSocketsMax;
+@@ -288,6 +288,8 @@ NET_EXPORT extern const base::FeaturePar
+ NET_EXPORT extern const base::FeatureParam<base::TimeDelta>
+     kTimeoutTcpConnectAttemptMax;
  
 +NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse;
 +
@@ -36,7 +36,7 @@
  enum DnsResolveStatus {
    RESOLVE_STATUS_DNS_SUCCESS = 0,
    RESOLVE_STATUS_PROC_SUCCESS,
-@@ -3584,7 +3579,7 @@ bool HostResolverManager::IsIPv6Reachabl
+@@ -3583,7 +3578,7 @@ bool HostResolverManager::IsIPv6Reachabl
        (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
            kIPv6ProbePeriodMs) {
      SetLastIPv6ProbeResult(

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

@@ -176,7 +176,7 @@
  }  // namespace download
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -60,7 +60,6 @@ source_set("browser") {
+@@ -68,7 +68,6 @@ source_set("browser") {
      "//components/discardable_memory/service",
      "//components/download/database",
      "//components/download/public/common:public",
@@ -186,7 +186,7 @@
      "//components/metrics",
 --- a/content/browser/renderer_host/pepper/pepper_file_io_host.cc
 +++ b/content/browser/renderer_host/pepper/pepper_file_io_host.cc
-@@ -433,7 +433,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) {
@@ -195,7 +195,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) {
-@@ -454,7 +454,7 @@ void PepperFileIOHost::OnLocalFileOpened
+@@ -459,7 +459,7 @@ void PepperFileIOHost::OnLocalFileOpened
  #endif
  }
  

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

@@ -3,22 +3,23 @@
 
 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
 +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -3458,16 +3458,14 @@ ScriptValue WebGLRenderingContextBase::g
-       return ScriptValue::CreateNull(script_state->GetIsolate());
-     case WebGLDebugRendererInfo::kUnmaskedRendererWebgl:
-       if (ExtensionEnabled(kWebGLDebugRendererInfoName))
+@@ -3602,8 +3602,7 @@ ScriptValue WebGLRenderingContextBase::g
+               pname, IdentifiabilityBenignStringToken(
+                          String(ContextGL()->GetString(GL_RENDERER))));
+         }
 -        return WebGLAny(script_state,
 -                        String(ContextGL()->GetString(GL_RENDERER)));
 +        return WebGLAny(script_state, String(""));
+       }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-           "invalid parameter name, WEBGL_debug_renderer_info not enabled");
-       return ScriptValue::CreateNull(script_state->GetIsolate());
-     case WebGLDebugRendererInfo::kUnmaskedVendorWebgl:
-       if (ExtensionEnabled(kWebGLDebugRendererInfoName))
+@@ -3617,8 +3616,7 @@ ScriptValue WebGLRenderingContextBase::g
+               pname, IdentifiabilityBenignStringToken(
+                          String(ContextGL()->GetString(GL_VENDOR))));
+         }
 -        return WebGLAny(script_state,
 -                        String(ContextGL()->GetString(GL_VENDOR)));
 +        return WebGLAny(script_state, String(""));
+       }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-           "invalid parameter name, WEBGL_debug_renderer_info not enabled");

+ 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
-@@ -303,7 +303,7 @@ const base::Feature kWebComponentsV0{"We
+@@ -308,7 +308,7 @@ const base::Feature kWebComponentsV0{"We
  // Prefetch request properties are updated to be privacy-preserving. See
  // crbug.com/988956.
  const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",

+ 3 - 3
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
-@@ -385,11 +385,6 @@ int GetContentRestrictions(const Browser
+@@ -409,11 +409,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;
  }
-@@ -1121,8 +1116,7 @@ bool CanSavePage(const Browser* browser)
+@@ -1193,8 +1188,7 @@ bool CanSavePage(const Browser* browser)
            prefs::kAllowFileSelectionDialogs)) {
      return false;
    }
@@ -64,7 +64,7 @@
  // These lists are lazily initialized below and are leaked on shutdown to
 --- a/content/public/common/url_utils.cc
 +++ b/content/public/common/url_utils.cc
-@@ -28,11 +28,7 @@ bool HasWebUIScheme(const GURL& url) {
+@@ -26,11 +26,7 @@ bool HasWebUIScheme(const GURL& url) {
  }
  
  bool IsSavableURL(const GURL& url) {

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

@@ -1,32 +1,32 @@
 --- a/chrome/browser/ui/views/tabs/new_tab_button.cc
 +++ b/chrome/browser/ui/views/tabs/new_tab_button.cc
 @@ -57,10 +57,8 @@ class NewTabButton::HighlightPathGenerat
- NewTabButton::NewTabButton(TabStrip* tab_strip, views::ButtonListener* listener)
-     : views::ImageButton(listener), tab_strip_(tab_strip) {
-   set_animate_on_state_change(true);
+ NewTabButton::NewTabButton(TabStrip* tab_strip, PressedCallback callback)
+     : views::ImageButton(std::move(callback)), tab_strip_(tab_strip) {
+   SetAnimateOnStateChange(true);
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-   set_triggerable_event_flags(triggerable_event_flags() |
-                               ui::EF_MIDDLE_MOUSE_BUTTON);
+   SetTriggerableEventFlags(GetTriggerableEventFlags() |
+                            ui::EF_MIDDLE_MOUSE_BUTTON);
 -#endif
  
    ink_drop_container_ =
        AddChildView(std::make_unique<views::InkDropContainerView>());
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -3598,8 +3598,6 @@ void TabStrip::ButtonPressed(views::Butt
+@@ -2573,8 +2573,6 @@ void TabStrip::NewTabButtonPressed(const
  
-       const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
-       if (mouse.IsOnlyMiddleMouseButton()) {
--        if (ui::Clipboard::IsSupportedClipboardBuffer(
--                ui::ClipboardBuffer::kSelection)) {
-           ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
-           CHECK(clipboard);
-           base::string16 clipboard_text;
-@@ -3607,7 +3605,6 @@ void TabStrip::ButtonPressed(views::Butt
-                               /* data_dst = */ nullptr, &clipboard_text);
-           if (!clipboard_text.empty())
-             controller_->CreateNewTabWithLocation(clipboard_text);
--        }
-         return;
-       }
+     const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
+     if (mouse.IsOnlyMiddleMouseButton()) {
+-      if (ui::Clipboard::IsSupportedClipboardBuffer(
+-              ui::ClipboardBuffer::kSelection)) {
+         ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
+         CHECK(clipboard);
+         base::string16 clipboard_text;
+@@ -2582,7 +2580,6 @@ void TabStrip::NewTabButtonPressed(const
+                             /* data_dst = */ nullptr, &clipboard_text);
+         if (!clipboard_text.empty())
+           controller_->CreateNewTabWithLocation(clipboard_text);
+-      }
+       return;
      }
+   }

+ 4 - 4
patches/extra/ungoogled-chromium/popups-to-tabs.patch

@@ -2,12 +2,12 @@
 
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
-@@ -252,7 +252,7 @@ WindowOpenDisposition RenderViewImpl::Na
+@@ -253,7 +253,7 @@ WindowOpenDisposition RenderViewImpl::Na
      case blink::kWebNavigationPolicyNewWindow:
        return WindowOpenDisposition::NEW_WINDOW;
      case blink::kWebNavigationPolicyNewPopup:
 -      return WindowOpenDisposition::NEW_POPUP;
 +      return WindowOpenDisposition::NEW_FOREGROUND_TAB;
-   default:
-     NOTREACHED() << "Unexpected WebNavigationPolicy";
-     return WindowOpenDisposition::IGNORE_ACTION;
+     default:
+       NOTREACHED() << "Unexpected WebNavigationPolicy";
+       return WindowOpenDisposition::IGNORE_ACTION;

+ 21 - 36
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
-@@ -44,10 +44,6 @@
+@@ -46,10 +46,6 @@
              sub-label="$i18n{accessibleImageLabelsSubtitle}">
          </settings-toggle-button>
  </if>
@@ -69,21 +69,21 @@
            <settings-section page-title="$i18n{privacyPageTitle}"
 --- a/chrome/browser/resources/settings/languages_page/languages_page.html
 +++ b/chrome/browser/resources/settings/languages_page/languages_page.html
-@@ -208,14 +208,6 @@
-               </a>
+@@ -220,14 +220,6 @@
+                 </a>
+               </div>
              </div>
-           </div>
--          <settings-toggle-button id="offerTranslateOtherLanguages"
--              pref="{{prefs.translate.enabled}}"
--              label="$i18n{offerToEnableTranslate}"
--          <if expr="chromeos">
--              on-settings-boolean-control-change="onTranslateToggleChange_"
--          </if>
--          >
--          </settings-toggle-button>
-         </iron-collapse>
-         <settings-toggle-button
-             id="enableSpellcheckingToggle"
+-            <settings-toggle-button id="offerTranslateOtherLanguages"
+-                pref="{{prefs.translate.enabled}}"
+-                label="$i18n{offerToEnableTranslate}"
+-            <if expr="chromeos">
+-                on-settings-boolean-control-change="onTranslateToggleChange_"
+-            </if>
+-            >
+-            </settings-toggle-button>
+           </iron-collapse>
+           <settings-toggle-button
+               id="enableSpellcheckingToggle"
 --- a/chrome/browser/resources/settings/printing_page/printing_page.html
 +++ b/chrome/browser/resources/settings/printing_page/printing_page.html
 @@ -6,6 +6,7 @@
@@ -100,21 +100,6 @@
        </template>
 +</if>
      </settings-animated-pages>
---- a/chrome/browser/resources/settings/privacy_page/passwords_leak_detection_toggle.html
-+++ b/chrome/browser/resources/settings/privacy_page/passwords_leak_detection_toggle.html
-@@ -6,6 +6,7 @@
-           padding-inline-start: 0;
-       }
-     </style>
-+<if expr="false">
-     <settings-toggle-button id="passwordsLeakDetectionCheckbox" class="hr"
-         pref="[[passwordsLeakDetectionPref_]]" no-set-pref
-         label="$i18n{passwordsLeakDetectionLabel}"
-@@ -16,3 +17,4 @@
-             prefs.safebrowsing.enhanced.value)]]"
-         on-settings-boolean-control-change="onPasswordsLeakDetectionChange_">
-     </settings-toggle-button>
-+</if>
 --- a/chrome/browser/resources/settings/privacy_page/personalization_options.html
 +++ b/chrome/browser/resources/settings/privacy_page/personalization_options.html
 @@ -35,7 +35,7 @@
@@ -126,11 +111,11 @@
      <settings-toggle-button id="signinAllowedToggle"
          class="hr"
          disabled="[[syncFirstSetupInProgress_]]"
-@@ -76,12 +76,6 @@
+@@ -77,12 +77,6 @@
      </settings-toggle-button>
  </if><!-- not chromeos -->
  </if><!-- _google_chrome -->
--    <settings-toggle-button
+-    <settings-toggle-button id="urlCollectionToggle"
 -        class="hr"
 -        pref="{{prefs.url_keyed_anonymized_data_collection.enabled}}"
 -        label="$i18n{urlKeyedAnonymizedDataCollection}"
@@ -141,7 +126,7 @@
          class="hr"
 --- a/chrome/browser/resources/settings/privacy_page/security_page.html
 +++ b/chrome/browser/resources/settings/privacy_page/security_page.html
-@@ -82,10 +82,3 @@
+@@ -77,10 +77,3 @@
          sub-label="$i18n{manageCertificatesDescription}"
          on-click="onManageCertificatesClick_"></cr-link-row>
  </if>
@@ -168,7 +153,7 @@
          $i18n{privacyPageTitle}
 --- a/chrome/browser/ui/views/profiles/profile_menu_view.cc
 +++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc
-@@ -191,6 +191,7 @@ void ProfileMenuView::BuildMenu() {
+@@ -195,6 +195,7 @@ void ProfileMenuView::BuildMenu() {
  }
  
  gfx::ImageSkia ProfileMenuView::GetSyncIcon() const {
@@ -176,7 +161,7 @@
    Profile* profile = browser()->profile();
  
    if (!profile->IsRegularProfile())
-@@ -472,7 +473,7 @@ void ProfileMenuView::BuildIdentity() {
+@@ -476,7 +477,7 @@ void ProfileMenuView::BuildIdentity() {
          ui::ImageModel::FromImage(
              profile_attributes->GetAvatarIcon(kIdentityImageSize)),
          /*title=*/base::string16(),
@@ -185,7 +170,7 @@
    }
  }
  
-@@ -526,6 +527,7 @@ void ProfileMenuView::BuildSyncInfo() {
+@@ -544,6 +545,7 @@ void ProfileMenuView::BuildSyncInfo() {
      return;
    }
  

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

@@ -32,7 +32,7 @@
    SEARCH_ENGINE_SOFTONIC,
 --- a/components/search_engines/template_url_prepopulate_data.cc
 +++ b/components/search_engines/template_url_prepopulate_data.cc
-@@ -32,6 +32,7 @@ namespace {
+@@ -29,6 +29,7 @@ namespace {
  
  // Default (for countries with no better engine set)
  const PrepopulatedEngine* const engines_default[] = {
@@ -40,7 +40,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -42,6 +43,7 @@ const PrepopulatedEngine* const engines_
+@@ -39,6 +40,7 @@ const PrepopulatedEngine* const engines_
  // Engine selection by country ------------------------------------------------
  // United Arab Emirates
  const PrepopulatedEngine* const engines_AE[] = {
@@ -48,7 +48,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -51,6 +53,7 @@ const PrepopulatedEngine* const engines_
+@@ -48,6 +50,7 @@ const PrepopulatedEngine* const engines_
  
  // Albania
  const PrepopulatedEngine* const engines_AL[] = {
@@ -56,7 +56,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -60,6 +63,7 @@ const PrepopulatedEngine* const engines_
+@@ -57,6 +60,7 @@ const PrepopulatedEngine* const engines_
  
  // Argentina
  const PrepopulatedEngine* const engines_AR[] = {
@@ -64,7 +64,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -69,6 +73,7 @@ const PrepopulatedEngine* const engines_
+@@ -66,6 +70,7 @@ const PrepopulatedEngine* const engines_
  
  // Austria
  const PrepopulatedEngine* const engines_AT[] = {
@@ -72,7 +72,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -78,6 +83,7 @@ const PrepopulatedEngine* const engines_
+@@ -75,6 +80,7 @@ const PrepopulatedEngine* const engines_
  
  // Australia
  const PrepopulatedEngine* const engines_AU[] = {
@@ -80,7 +80,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -87,6 +93,7 @@ const PrepopulatedEngine* const engines_
+@@ -84,6 +90,7 @@ const PrepopulatedEngine* const engines_
  
  // Bosnia and Herzegovina
  const PrepopulatedEngine* const engines_BA[] = {
@@ -88,7 +88,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -96,6 +103,7 @@ const PrepopulatedEngine* const engines_
+@@ -93,6 +100,7 @@ const PrepopulatedEngine* const engines_
  
  // Belgium
  const PrepopulatedEngine* const engines_BE[] = {
@@ -96,7 +96,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -105,6 +113,7 @@ const PrepopulatedEngine* const engines_
+@@ -102,6 +110,7 @@ const PrepopulatedEngine* const engines_
  
  // Bulgaria
  const PrepopulatedEngine* const engines_BG[] = {
@@ -104,7 +104,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -114,6 +123,7 @@ const PrepopulatedEngine* const engines_
+@@ -111,6 +120,7 @@ const PrepopulatedEngine* const engines_
  
  // Bahrain
  const PrepopulatedEngine* const engines_BH[] = {
@@ -112,7 +112,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -124,6 +134,7 @@ const PrepopulatedEngine* const engines_
+@@ -121,6 +131,7 @@ const PrepopulatedEngine* const engines_
  
  // Burundi
  const PrepopulatedEngine* const engines_BI[] = {
@@ -120,7 +120,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -134,6 +145,7 @@ const PrepopulatedEngine* const engines_
+@@ -131,6 +142,7 @@ const PrepopulatedEngine* const engines_
  
  // Brunei
  const PrepopulatedEngine* const engines_BN[] = {
@@ -128,7 +128,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -143,6 +155,7 @@ const PrepopulatedEngine* const engines_
+@@ -140,6 +152,7 @@ const PrepopulatedEngine* const engines_
  
  // Bolivia
  const PrepopulatedEngine* const engines_BO[] = {
@@ -136,7 +136,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -152,6 +165,7 @@ const PrepopulatedEngine* const engines_
+@@ -149,6 +162,7 @@ const PrepopulatedEngine* const engines_
  
  // Brazil
  const PrepopulatedEngine* const engines_BR[] = {
@@ -144,7 +144,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -161,6 +175,7 @@ const PrepopulatedEngine* const engines_
+@@ -158,6 +172,7 @@ const PrepopulatedEngine* const engines_
  
  // Belarus
  const PrepopulatedEngine* const engines_BY[] = {
@@ -152,7 +152,7 @@
      &duckduckgo,
      &google,
      &yandex_by,
-@@ -171,6 +186,7 @@ const PrepopulatedEngine* const engines_
+@@ -168,6 +183,7 @@ const PrepopulatedEngine* const engines_
  
  // Belize
  const PrepopulatedEngine* const engines_BZ[] = {
@@ -160,7 +160,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -180,6 +196,7 @@ const PrepopulatedEngine* const engines_
+@@ -177,6 +193,7 @@ const PrepopulatedEngine* const engines_
  
  // Canada
  const PrepopulatedEngine* const engines_CA[] = {
@@ -168,7 +168,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -189,6 +206,7 @@ const PrepopulatedEngine* const engines_
+@@ -186,6 +203,7 @@ const PrepopulatedEngine* const engines_
  
  // Switzerland
  const PrepopulatedEngine* const engines_CH[] = {
@@ -176,7 +176,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -198,6 +216,7 @@ const PrepopulatedEngine* const engines_
+@@ -195,6 +213,7 @@ const PrepopulatedEngine* const engines_
  
  // Chile
  const PrepopulatedEngine* const engines_CL[] = {
@@ -184,7 +184,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -207,6 +226,7 @@ const PrepopulatedEngine* const engines_
+@@ -204,6 +223,7 @@ const PrepopulatedEngine* const engines_
  
  // China
  const PrepopulatedEngine* const engines_CN[] = {
@@ -192,7 +192,7 @@
      &duckduckgo,
      &baidu,
      &sogou,
-@@ -217,6 +237,7 @@ const PrepopulatedEngine* const engines_
+@@ -214,6 +234,7 @@ const PrepopulatedEngine* const engines_
  
  // Colombia
  const PrepopulatedEngine* const engines_CO[] = {
@@ -200,7 +200,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -226,6 +247,7 @@ const PrepopulatedEngine* const engines_
+@@ -223,6 +244,7 @@ const PrepopulatedEngine* const engines_
  
  // Costa Rica
  const PrepopulatedEngine* const engines_CR[] = {
@@ -208,7 +208,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -235,6 +257,7 @@ const PrepopulatedEngine* const engines_
+@@ -232,6 +254,7 @@ const PrepopulatedEngine* const engines_
  
  // Czech Republic
  const PrepopulatedEngine* const engines_CZ[] = {
@@ -216,7 +216,7 @@
      &duckduckgo,
      &google,
      &seznam_cz,
-@@ -244,6 +267,7 @@ const PrepopulatedEngine* const engines_
+@@ -241,6 +264,7 @@ const PrepopulatedEngine* const engines_
  
  // Germany
  const PrepopulatedEngine* const engines_DE[] = {
@@ -224,7 +224,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -253,6 +277,7 @@ const PrepopulatedEngine* const engines_
+@@ -250,6 +274,7 @@ const PrepopulatedEngine* const engines_
  
  // Denmark
  const PrepopulatedEngine* const engines_DK[] = {
@@ -232,7 +232,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -262,6 +287,7 @@ const PrepopulatedEngine* const engines_
+@@ -259,6 +284,7 @@ const PrepopulatedEngine* const engines_
  
  // Dominican Republic
  const PrepopulatedEngine* const engines_DO[] = {
@@ -240,7 +240,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -271,6 +297,7 @@ const PrepopulatedEngine* const engines_
+@@ -268,6 +294,7 @@ const PrepopulatedEngine* const engines_
  
  // Algeria
  const PrepopulatedEngine* const engines_DZ[] = {
@@ -248,7 +248,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -280,6 +307,7 @@ const PrepopulatedEngine* const engines_
+@@ -277,6 +304,7 @@ const PrepopulatedEngine* const engines_
  
  // Ecuador
  const PrepopulatedEngine* const engines_EC[] = {
@@ -256,7 +256,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -289,6 +317,7 @@ const PrepopulatedEngine* const engines_
+@@ -286,6 +314,7 @@ const PrepopulatedEngine* const engines_
  
  // Estonia
  const PrepopulatedEngine* const engines_EE[] = {
@@ -264,7 +264,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -299,6 +328,7 @@ const PrepopulatedEngine* const engines_
+@@ -296,6 +325,7 @@ const PrepopulatedEngine* const engines_
  
  // Egypt
  const PrepopulatedEngine* const engines_EG[] = {
@@ -272,7 +272,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -308,6 +338,7 @@ const PrepopulatedEngine* const engines_
+@@ -305,6 +335,7 @@ const PrepopulatedEngine* const engines_
  
  // Spain
  const PrepopulatedEngine* const engines_ES[] = {
@@ -280,7 +280,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -317,6 +348,7 @@ const PrepopulatedEngine* const engines_
+@@ -314,6 +345,7 @@ const PrepopulatedEngine* const engines_
  
  // Finland
  const PrepopulatedEngine* const engines_FI[] = {
@@ -288,7 +288,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -326,6 +358,7 @@ const PrepopulatedEngine* const engines_
+@@ -323,6 +355,7 @@ const PrepopulatedEngine* const engines_
  
  // Faroe Islands
  const PrepopulatedEngine* const engines_FO[] = {
@@ -296,7 +296,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -335,6 +368,7 @@ const PrepopulatedEngine* const engines_
+@@ -332,6 +365,7 @@ const PrepopulatedEngine* const engines_
  
  // France
  const PrepopulatedEngine* const engines_FR[] = {
@@ -304,7 +304,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -345,6 +379,7 @@ const PrepopulatedEngine* const engines_
+@@ -342,6 +376,7 @@ const PrepopulatedEngine* const engines_
  
  // United Kingdom
  const PrepopulatedEngine* const engines_GB[] = {
@@ -312,7 +312,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -354,6 +389,7 @@ const PrepopulatedEngine* const engines_
+@@ -351,6 +386,7 @@ const PrepopulatedEngine* const engines_
  
  // Greece
  const PrepopulatedEngine* const engines_GR[] = {
@@ -320,7 +320,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -363,6 +399,7 @@ const PrepopulatedEngine* const engines_
+@@ -360,6 +396,7 @@ const PrepopulatedEngine* const engines_
  
  // Guatemala
  const PrepopulatedEngine* const engines_GT[] = {
@@ -328,7 +328,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -372,6 +409,7 @@ const PrepopulatedEngine* const engines_
+@@ -369,6 +406,7 @@ const PrepopulatedEngine* const engines_
  
  // Hong Kong
  const PrepopulatedEngine* const engines_HK[] = {
@@ -336,7 +336,7 @@
      &duckduckgo,
      &google,
      &yahoo_hk,
-@@ -382,6 +420,7 @@ const PrepopulatedEngine* const engines_
+@@ -379,6 +417,7 @@ const PrepopulatedEngine* const engines_
  
  // Honduras
  const PrepopulatedEngine* const engines_HN[] = {
@@ -344,7 +344,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -391,6 +430,7 @@ const PrepopulatedEngine* const engines_
+@@ -388,6 +427,7 @@ const PrepopulatedEngine* const engines_
  
  // Croatia
  const PrepopulatedEngine* const engines_HR[] = {
@@ -352,7 +352,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -400,6 +440,7 @@ const PrepopulatedEngine* const engines_
+@@ -397,6 +437,7 @@ const PrepopulatedEngine* const engines_
  
  // Hungary
  const PrepopulatedEngine* const engines_HU[] = {
@@ -360,7 +360,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -409,6 +450,7 @@ const PrepopulatedEngine* const engines_
+@@ -406,6 +447,7 @@ const PrepopulatedEngine* const engines_
  
  // Indonesia
  const PrepopulatedEngine* const engines_ID[] = {
@@ -368,7 +368,7 @@
      &duckduckgo,
      &google,
      &yahoo_id,
-@@ -418,6 +460,7 @@ const PrepopulatedEngine* const engines_
+@@ -415,6 +457,7 @@ const PrepopulatedEngine* const engines_
  
  // Ireland
  const PrepopulatedEngine* const engines_IE[] = {
@@ -376,7 +376,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -427,6 +470,7 @@ const PrepopulatedEngine* const engines_
+@@ -424,6 +467,7 @@ const PrepopulatedEngine* const engines_
  
  // Israel
  const PrepopulatedEngine* const engines_IL[] = {
@@ -384,7 +384,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -436,6 +480,7 @@ const PrepopulatedEngine* const engines_
+@@ -433,6 +477,7 @@ const PrepopulatedEngine* const engines_
  
  // India
  const PrepopulatedEngine* const engines_IN[] = {
@@ -392,7 +392,7 @@
      &duckduckgo,
      &google,
      &yahoo_in,
-@@ -445,6 +490,7 @@ const PrepopulatedEngine* const engines_
+@@ -442,6 +487,7 @@ const PrepopulatedEngine* const engines_
  
  // Iraq
  const PrepopulatedEngine* const engines_IQ[] = {
@@ -400,7 +400,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -454,6 +500,7 @@ const PrepopulatedEngine* const engines_
+@@ -451,6 +497,7 @@ const PrepopulatedEngine* const engines_
  
  // Iran
  const PrepopulatedEngine* const engines_IR[] = {
@@ -408,7 +408,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -464,6 +511,7 @@ const PrepopulatedEngine* const engines_
+@@ -461,6 +508,7 @@ const PrepopulatedEngine* const engines_
  
  // Iceland
  const PrepopulatedEngine* const engines_IS[] = {
@@ -416,7 +416,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -473,6 +521,7 @@ const PrepopulatedEngine* const engines_
+@@ -470,6 +518,7 @@ const PrepopulatedEngine* const engines_
  
  // Italy
  const PrepopulatedEngine* const engines_IT[] = {
@@ -424,7 +424,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -482,6 +531,7 @@ const PrepopulatedEngine* const engines_
+@@ -479,6 +528,7 @@ const PrepopulatedEngine* const engines_
  
  // Jamaica
  const PrepopulatedEngine* const engines_JM[] = {
@@ -432,7 +432,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -491,6 +541,7 @@ const PrepopulatedEngine* const engines_
+@@ -488,6 +538,7 @@ const PrepopulatedEngine* const engines_
  
  // Jordan
  const PrepopulatedEngine* const engines_JO[] = {
@@ -440,7 +440,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -500,6 +551,7 @@ const PrepopulatedEngine* const engines_
+@@ -497,6 +548,7 @@ const PrepopulatedEngine* const engines_
  
  // Japan
  const PrepopulatedEngine* const engines_JP[] = {
@@ -448,7 +448,7 @@
      &duckduckgo,
      &google,
      &yahoo_jp,
-@@ -510,6 +562,7 @@ const PrepopulatedEngine* const engines_
+@@ -507,6 +559,7 @@ const PrepopulatedEngine* const engines_
  
  // Kenya
  const PrepopulatedEngine* const engines_KE[] = {
@@ -456,7 +456,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -519,6 +572,7 @@ const PrepopulatedEngine* const engines_
+@@ -516,6 +569,7 @@ const PrepopulatedEngine* const engines_
  
  // South Korea
  const PrepopulatedEngine* const engines_KR[] = {
@@ -464,7 +464,7 @@
      &duckduckgo,
      &google,
      &naver,
-@@ -529,6 +583,7 @@ const PrepopulatedEngine* const engines_
+@@ -526,6 +580,7 @@ const PrepopulatedEngine* const engines_
  
  // Kuwait
  const PrepopulatedEngine* const engines_KW[] = {
@@ -472,7 +472,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -538,6 +593,7 @@ const PrepopulatedEngine* const engines_
+@@ -535,6 +590,7 @@ const PrepopulatedEngine* const engines_
  
  // Kazakhstan
  const PrepopulatedEngine* const engines_KZ[] = {
@@ -480,7 +480,7 @@
      &duckduckgo,
      &google,
      &yandex_kz,
-@@ -548,6 +604,7 @@ const PrepopulatedEngine* const engines_
+@@ -545,6 +601,7 @@ const PrepopulatedEngine* const engines_
  
  // Lebanon
  const PrepopulatedEngine* const engines_LB[] = {
@@ -488,7 +488,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -557,6 +614,7 @@ const PrepopulatedEngine* const engines_
+@@ -554,6 +611,7 @@ const PrepopulatedEngine* const engines_
  
  // Liechtenstein
  const PrepopulatedEngine* const engines_LI[] = {
@@ -496,7 +496,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -566,6 +624,7 @@ const PrepopulatedEngine* const engines_
+@@ -563,6 +621,7 @@ const PrepopulatedEngine* const engines_
  
  // Lithuania
  const PrepopulatedEngine* const engines_LT[] = {
@@ -504,7 +504,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -575,6 +634,7 @@ const PrepopulatedEngine* const engines_
+@@ -572,6 +631,7 @@ const PrepopulatedEngine* const engines_
  
  // Luxembourg
  const PrepopulatedEngine* const engines_LU[] = {
@@ -512,7 +512,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -584,6 +644,7 @@ const PrepopulatedEngine* const engines_
+@@ -581,6 +641,7 @@ const PrepopulatedEngine* const engines_
  
  // Latvia
  const PrepopulatedEngine* const engines_LV[] = {
@@ -520,7 +520,7 @@
      &duckduckgo,
      &google,
      &yandex_ru,
-@@ -593,6 +654,7 @@ const PrepopulatedEngine* const engines_
+@@ -590,6 +651,7 @@ const PrepopulatedEngine* const engines_
  
  // Libya
  const PrepopulatedEngine* const engines_LY[] = {
@@ -528,7 +528,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -602,6 +664,7 @@ const PrepopulatedEngine* const engines_
+@@ -599,6 +661,7 @@ const PrepopulatedEngine* const engines_
  
  // Morocco
  const PrepopulatedEngine* const engines_MA[] = {
@@ -536,7 +536,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -611,6 +674,7 @@ const PrepopulatedEngine* const engines_
+@@ -608,6 +671,7 @@ const PrepopulatedEngine* const engines_
  
  // Monaco
  const PrepopulatedEngine* const engines_MC[] = {
@@ -544,7 +544,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -620,6 +684,7 @@ const PrepopulatedEngine* const engines_
+@@ -617,6 +681,7 @@ const PrepopulatedEngine* const engines_
  
  // Moldova
  const PrepopulatedEngine* const engines_MD[] = {
@@ -552,7 +552,7 @@
      &duckduckgo,
      &google,
      &yandex_ru,
-@@ -629,6 +694,7 @@ const PrepopulatedEngine* const engines_
+@@ -626,6 +691,7 @@ const PrepopulatedEngine* const engines_
  
  // Montenegro
  const PrepopulatedEngine* const engines_ME[] = {
@@ -560,7 +560,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -638,6 +704,7 @@ const PrepopulatedEngine* const engines_
+@@ -635,6 +701,7 @@ const PrepopulatedEngine* const engines_
  
  // Macedonia
  const PrepopulatedEngine* const engines_MK[] = {
@@ -568,7 +568,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -647,6 +714,7 @@ const PrepopulatedEngine* const engines_
+@@ -644,6 +711,7 @@ const PrepopulatedEngine* const engines_
  
  // Mexico
  const PrepopulatedEngine* const engines_MX[] = {
@@ -576,7 +576,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -656,6 +724,7 @@ const PrepopulatedEngine* const engines_
+@@ -653,6 +721,7 @@ const PrepopulatedEngine* const engines_
  
  // Malaysia
  const PrepopulatedEngine* const engines_MY[] = {
@@ -584,7 +584,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -665,6 +734,7 @@ const PrepopulatedEngine* const engines_
+@@ -662,6 +731,7 @@ const PrepopulatedEngine* const engines_
  
  // Nicaragua
  const PrepopulatedEngine* const engines_NI[] = {
@@ -592,7 +592,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -674,6 +744,7 @@ const PrepopulatedEngine* const engines_
+@@ -671,6 +741,7 @@ const PrepopulatedEngine* const engines_
  
  // Netherlands
  const PrepopulatedEngine* const engines_NL[] = {
@@ -600,7 +600,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -683,6 +754,7 @@ const PrepopulatedEngine* const engines_
+@@ -680,6 +751,7 @@ const PrepopulatedEngine* const engines_
  
  // Norway
  const PrepopulatedEngine* const engines_NO[] = {
@@ -608,7 +608,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -692,6 +764,7 @@ const PrepopulatedEngine* const engines_
+@@ -689,6 +761,7 @@ const PrepopulatedEngine* const engines_
  
  // New Zealand
  const PrepopulatedEngine* const engines_NZ[] = {
@@ -616,7 +616,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -701,6 +774,7 @@ const PrepopulatedEngine* const engines_
+@@ -698,6 +771,7 @@ const PrepopulatedEngine* const engines_
  
  // Oman
  const PrepopulatedEngine* const engines_OM[] = {
@@ -624,7 +624,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -710,6 +784,7 @@ const PrepopulatedEngine* const engines_
+@@ -707,6 +781,7 @@ const PrepopulatedEngine* const engines_
  
  // Panama
  const PrepopulatedEngine* const engines_PA[] = {
@@ -632,7 +632,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -719,6 +794,7 @@ const PrepopulatedEngine* const engines_
+@@ -716,6 +791,7 @@ const PrepopulatedEngine* const engines_
  
  // Peru
  const PrepopulatedEngine* const engines_PE[] = {
@@ -640,7 +640,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -728,6 +804,7 @@ const PrepopulatedEngine* const engines_
+@@ -725,6 +801,7 @@ const PrepopulatedEngine* const engines_
  
  // Philippines
  const PrepopulatedEngine* const engines_PH[] = {
@@ -648,7 +648,7 @@
      &duckduckgo,
      &google,
      &yahoo_ph,
-@@ -737,6 +814,7 @@ const PrepopulatedEngine* const engines_
+@@ -734,6 +811,7 @@ const PrepopulatedEngine* const engines_
  
  // Pakistan
  const PrepopulatedEngine* const engines_PK[] = {
@@ -656,7 +656,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -746,6 +824,7 @@ const PrepopulatedEngine* const engines_
+@@ -743,6 +821,7 @@ const PrepopulatedEngine* const engines_
  
  // Poland
  const PrepopulatedEngine* const engines_PL[] = {
@@ -664,7 +664,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -755,6 +834,7 @@ const PrepopulatedEngine* const engines_
+@@ -752,6 +831,7 @@ const PrepopulatedEngine* const engines_
  
  // Puerto Rico
  const PrepopulatedEngine* const engines_PR[] = {
@@ -672,7 +672,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -764,6 +844,7 @@ const PrepopulatedEngine* const engines_
+@@ -761,6 +841,7 @@ const PrepopulatedEngine* const engines_
  
  // Portugal
  const PrepopulatedEngine* const engines_PT[] = {
@@ -680,7 +680,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -773,6 +854,7 @@ const PrepopulatedEngine* const engines_
+@@ -770,6 +851,7 @@ const PrepopulatedEngine* const engines_
  
  // Paraguay
  const PrepopulatedEngine* const engines_PY[] = {
@@ -688,7 +688,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -782,6 +864,7 @@ const PrepopulatedEngine* const engines_
+@@ -779,6 +861,7 @@ const PrepopulatedEngine* const engines_
  
  // Qatar
  const PrepopulatedEngine* const engines_QA[] = {
@@ -696,7 +696,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -791,6 +874,7 @@ const PrepopulatedEngine* const engines_
+@@ -788,6 +871,7 @@ const PrepopulatedEngine* const engines_
  
  // Romania
  const PrepopulatedEngine* const engines_RO[] = {
@@ -704,7 +704,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -800,6 +884,7 @@ const PrepopulatedEngine* const engines_
+@@ -797,6 +881,7 @@ const PrepopulatedEngine* const engines_
  
  // Serbia
  const PrepopulatedEngine* const engines_RS[] = {
@@ -712,7 +712,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -809,6 +894,7 @@ const PrepopulatedEngine* const engines_
+@@ -806,6 +891,7 @@ const PrepopulatedEngine* const engines_
  
  // Russia
  const PrepopulatedEngine* const engines_RU[] = {
@@ -720,7 +720,7 @@
      &duckduckgo,
      &google,
      &yandex_ru,
-@@ -819,6 +905,7 @@ const PrepopulatedEngine* const engines_
+@@ -816,6 +902,7 @@ const PrepopulatedEngine* const engines_
  
  // Rwanda
  const PrepopulatedEngine* const engines_RW[] = {
@@ -728,7 +728,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -828,6 +915,7 @@ const PrepopulatedEngine* const engines_
+@@ -825,6 +912,7 @@ const PrepopulatedEngine* const engines_
  
  // Saudi Arabia
  const PrepopulatedEngine* const engines_SA[] = {
@@ -736,7 +736,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -837,6 +925,7 @@ const PrepopulatedEngine* const engines_
+@@ -834,6 +922,7 @@ const PrepopulatedEngine* const engines_
  
  // Sweden
  const PrepopulatedEngine* const engines_SE[] = {
@@ -744,7 +744,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -846,6 +935,7 @@ const PrepopulatedEngine* const engines_
+@@ -843,6 +932,7 @@ const PrepopulatedEngine* const engines_
  
  // Singapore
  const PrepopulatedEngine* const engines_SG[] = {
@@ -752,7 +752,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -856,6 +946,7 @@ const PrepopulatedEngine* const engines_
+@@ -853,6 +943,7 @@ const PrepopulatedEngine* const engines_
  
  // Slovenia
  const PrepopulatedEngine* const engines_SI[] = {
@@ -760,7 +760,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -865,6 +956,7 @@ const PrepopulatedEngine* const engines_
+@@ -862,6 +953,7 @@ const PrepopulatedEngine* const engines_
  
  // Slovakia
  const PrepopulatedEngine* const engines_SK[] = {
@@ -768,7 +768,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -874,6 +966,7 @@ const PrepopulatedEngine* const engines_
+@@ -871,6 +963,7 @@ const PrepopulatedEngine* const engines_
  
  // El Salvador
  const PrepopulatedEngine* const engines_SV[] = {
@@ -776,7 +776,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -883,6 +976,7 @@ const PrepopulatedEngine* const engines_
+@@ -880,6 +973,7 @@ const PrepopulatedEngine* const engines_
  
  // Syria
  const PrepopulatedEngine* const engines_SY[] = {
@@ -784,7 +784,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -892,6 +986,7 @@ const PrepopulatedEngine* const engines_
+@@ -889,6 +983,7 @@ const PrepopulatedEngine* const engines_
  
  // Thailand
  const PrepopulatedEngine* const engines_TH[] = {
@@ -792,7 +792,7 @@
      &duckduckgo,
      &google,
      &yahoo_th,
-@@ -901,6 +996,7 @@ const PrepopulatedEngine* const engines_
+@@ -898,6 +993,7 @@ const PrepopulatedEngine* const engines_
  
  // Tunisia
  const PrepopulatedEngine* const engines_TN[] = {
@@ -800,7 +800,7 @@
      &duckduckgo,
      &google,
      &yahoo,
-@@ -910,6 +1006,7 @@ const PrepopulatedEngine* const engines_
+@@ -907,6 +1003,7 @@ const PrepopulatedEngine* const engines_
  
  // Turkey
  const PrepopulatedEngine* const engines_TR[] = {
@@ -808,7 +808,7 @@
      &duckduckgo,
      &google,
      &yandex_tr,
-@@ -919,6 +1016,7 @@ const PrepopulatedEngine* const engines_
+@@ -916,6 +1013,7 @@ const PrepopulatedEngine* const engines_
  
  // Trinidad and Tobago
  const PrepopulatedEngine* const engines_TT[] = {
@@ -816,7 +816,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -928,6 +1026,7 @@ const PrepopulatedEngine* const engines_
+@@ -925,6 +1023,7 @@ const PrepopulatedEngine* const engines_
  
  // Taiwan
  const PrepopulatedEngine* const engines_TW[] = {
@@ -824,7 +824,7 @@
      &duckduckgo,
      &google,
      &yahoo_tw,
-@@ -938,6 +1037,7 @@ const PrepopulatedEngine* const engines_
+@@ -935,6 +1034,7 @@ const PrepopulatedEngine* const engines_
  
  // Tanzania
  const PrepopulatedEngine* const engines_TZ[] = {
@@ -832,7 +832,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -947,6 +1047,7 @@ const PrepopulatedEngine* const engines_
+@@ -944,6 +1044,7 @@ const PrepopulatedEngine* const engines_
  
  // Ukraine
  const PrepopulatedEngine* const engines_UA[] = {
@@ -840,7 +840,7 @@
      &duckduckgo,
      &google,
      &yandex_ua,
-@@ -957,6 +1058,7 @@ const PrepopulatedEngine* const engines_
+@@ -954,6 +1055,7 @@ const PrepopulatedEngine* const engines_
  
  // United States
  const PrepopulatedEngine* const engines_US[] = {
@@ -848,7 +848,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -966,6 +1068,7 @@ const PrepopulatedEngine* const engines_
+@@ -963,6 +1065,7 @@ const PrepopulatedEngine* const engines_
  
  // Uruguay
  const PrepopulatedEngine* const engines_UY[] = {
@@ -856,7 +856,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -975,6 +1078,7 @@ const PrepopulatedEngine* const engines_
+@@ -972,6 +1075,7 @@ const PrepopulatedEngine* const engines_
  
  // Venezuela
  const PrepopulatedEngine* const engines_VE[] = {
@@ -864,7 +864,7 @@
      &duckduckgo,
      &google,
      &yahoo_ve,
-@@ -984,6 +1088,7 @@ const PrepopulatedEngine* const engines_
+@@ -981,6 +1085,7 @@ const PrepopulatedEngine* const engines_
  
  // Vietnam
  const PrepopulatedEngine* const engines_VN[] = {
@@ -872,7 +872,7 @@
      &duckduckgo,
      &google,
      &coccoc,
-@@ -994,6 +1099,7 @@ const PrepopulatedEngine* const engines_
+@@ -991,6 +1096,7 @@ const PrepopulatedEngine* const engines_
  
  // Yemen
  const PrepopulatedEngine* const engines_YE[] = {
@@ -880,7 +880,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -1003,6 +1109,7 @@ const PrepopulatedEngine* const engines_
+@@ -1000,6 +1106,7 @@ const PrepopulatedEngine* const engines_
  
  // South Africa
  const PrepopulatedEngine* const engines_ZA[] = {
@@ -888,7 +888,7 @@
      &duckduckgo,
      &google,
      &bing,
-@@ -1012,6 +1119,7 @@ const PrepopulatedEngine* const engines_
+@@ -1009,6 +1116,7 @@ const PrepopulatedEngine* const engines_
  
  // Zimbabwe
  const PrepopulatedEngine* const engines_ZW[] = {

+ 0 - 2
patches/series

@@ -34,7 +34,6 @@ 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/remove-dead-reloc-in-nonalloc-LD-flags.patch
 
 extra/inox-patchset/0006-modify-default-prefs.patch
 extra/inox-patchset/0008-restore-classic-ntp.patch
@@ -49,7 +48,6 @@ extra/debian/disable/android.patch
 extra/debian/disable/fuzzers.patch
 extra/debian/disable/welcome-page.patch
 extra/debian/disable/google-api-warning.patch
-extra/debian/disable/device-notifications.patch
 extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch
 extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
 extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch

+ 409 - 85
pruning.list

@@ -8,6 +8,11 @@ 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
@@ -25,6 +30,7 @@ build/android/chromium-debug.keystore
 build/android/stacktrace/java_deobfuscate.jar
 build/android/tests/symbolize/liba.so
 build/android/tests/symbolize/libb.so
+build/gn_helpers.pyc
 build/linux/sysroot_scripts/debian_archive_unstable.gpg
 build/util/android_chrome_version.pyc
 buildtools/linux64/gn
@@ -70,6 +76,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-4280-1605284980-f890b7d0344c87909c28619fe56e1dd48953d29e.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
@@ -88,14 +95,14 @@ chrome/updater/test/data/tag_extractor_corpus/tagged_encode_utf8.exe
 chrome/updater/test/data/tag_extractor_corpus/tagged_magic_utf16.exe
 chrome/updater/test/data/tagged_encode_utf8.exe
 chrome/updater/test/data/tagged_magic_utf16.exe
-chromeos/components/camera_app_ui/resources/src/js/lib/ffmpeg.wasm
-chromeos/components/camera_app_ui/resources/src/sounds/record_end.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/record_pause.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/record_start.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/shutter.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/tick_final.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/tick_inc.ogg
-chromeos/components/camera_app_ui/resources/src/sounds/tick_start.ogg
+chromeos/components/camera_app_ui/resources/js/lib/ffmpeg.wasm
+chromeos/components/camera_app_ui/resources/sounds/record_end.ogg
+chromeos/components/camera_app_ui/resources/sounds/record_pause.ogg
+chromeos/components/camera_app_ui/resources/sounds/record_start.ogg
+chromeos/components/camera_app_ui/resources/sounds/shutter.ogg
+chromeos/components/camera_app_ui/resources/sounds/tick_final.ogg
+chromeos/components/camera_app_ui/resources/sounds/tick_inc.ogg
+chromeos/components/camera_app_ui/resources/sounds/tick_start.ogg
 chromeos/test/data/smart_dim/20181115_example_preprocessor_config.pb
 cloud_print/virtual_driver/win/install/inf/gcp_driver.inf
 components/cast_channel/fuzz_corpus/cast_message0
@@ -279,6 +286,13 @@ 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/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
+media/formats/mp4/h264_annex_b_fuzz_corpus/chunk3-non-idr.bin
+media/formats/mp4/h264_annex_b_fuzz_corpus/chunk4-non-idr.bin
+media/formats/mp4/h264_annex_b_fuzz_corpus/chunk5-non-idr.bin
+media/formats/mp4/h264_annex_b_fuzz_corpus/chunk6-config-idr.bin
+media/formats/mp4/h264_annex_b_fuzz_corpus/chunk7-non-idr.bin
 media/midi/fuzz/corpus/broken_data_3
 media/midi/fuzz/corpus/channel_pressure
 media/midi/fuzz/corpus/channel_pressure_with_running_status
@@ -4725,6 +4739,8 @@ third_party/afl/src/testcases/images/jxr/not_kitty.jxr
 third_party/afl/src/testcases/images/tiff/not_kitty.tiff
 third_party/afl/src/testcases/multimedia/h264/small_movie.mp4
 third_party/afl/src/testcases/others/pcap/small_capture.pcap
+third_party/android_deps/local_modifications/androidx_fragment_fragment/androidx_fragment_fragment_java.jar
+third_party/android_deps/local_modifications/androidx_preference_preference/androidx_preference_preference_java.jar
 third_party/angle/samples/multi_texture/basemap.tga
 third_party/angle/samples/multi_texture/lightmap.tga
 third_party/angle/samples/particle_system/smoke.tga
@@ -5143,7 +5159,6 @@ third_party/blink/renderer/bindings/core/v8/serialization/fuzz_corpus/v8-f76c572
 third_party/blink/renderer/bindings/core/v8/serialization/fuzz_corpus/v8-fa63a87d-x86
 third_party/blink/renderer/bindings/core/v8/serialization/fuzz_corpus/v8-fff15497-x86
 third_party/blink/renderer/core/testing/data/test.webm
-third_party/blink/renderer/platform/testing/data/red-full-ranged-8bpc.avif
 third_party/blink/renderer/platform/text_codec_fuzzer_seed_corpus/0091b89571c844a754df4bdd133ad4d5b628e51d
 third_party/blink/renderer/platform/text_codec_fuzzer_seed_corpus/017fd5359998719d5fa3b3df5fc7b72fdb163936
 third_party/blink/renderer/platform/text_codec_fuzzer_seed_corpus/031ccb60903b3cd5780b6d3743051e216068b7cc
@@ -9729,19 +9744,272 @@ third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus/crashp
 third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus/ret42
 third_party/crashpad/crashpad/util/misc/capture_context_win_arm64.obj
 third_party/crashpad/crashpad/util/net/testdata/binary_http_body.dat
+third_party/depot_tools/download_from_google_storage.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/__main__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/aclhelpers.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/addlhelp/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/boto_resumable_upload.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/boto_translation.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/bucket_listing_ref.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cat_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cloud_api.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cloud_api_delegator.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cloud_api_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/command.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/command_argument.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/command_runner.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/acl.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/cat.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/compose.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/config.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/cors.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/cp.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/defacl.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/defstorageclass.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/du.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/hash.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/help.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/iam.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/label.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/lifecycle.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/logging.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/ls.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/mb.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/mv.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/notification.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/perfdiag.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/rb.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/requesterpays.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/rewrite.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/rm.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/rsync.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/setmeta.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/signurl.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/stat.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/test.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/update.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/version.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/versioning.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/commands/web.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/copy_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cred_types.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/cs_api_map.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/daisy_chain_wrapper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/devshell_auth_plugin.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/encryption_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/exception.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/file_part.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/gcs_json_api.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/gcs_json_credentials.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/gcs_json_media.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/hashing_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/help_provider.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/iamhelpers.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/ls_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/metrics.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/metrics_tuple.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/name_expansion.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/no_op_credentials.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/parallel_tracker_file.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/parallelism_framework_util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/plurality_checkable_iterator.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/posix_util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/progress_callback.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/project_id.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/pubsub_api.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/resumable_streaming_upload.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/seek_ahead_thread.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/sig_handling.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/storage_url.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/tab_complete.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/tests/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/tests/test_data/test.p12
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/tests/util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/pubsub_apitools/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/pubsub_apitools/pubsub_v1_client.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/pubsub_apitools/pubsub_v1_messages.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/storage_apitools/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/storage_apitools/storage_v1_client.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/third_party/storage_apitools/storage_v1_messages.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/thread_message.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/tracker_file.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/translation_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/ui_controller.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gslib/wildcard_iterator.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/gsutil.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/protorpclite/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/protorpclite/message_types.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/protorpclite/messages.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/protorpclite/protojson.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/protorpclite/util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/base_api.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/batch.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/buffered_stream.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/credentials_lib.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/encoding.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/exceptions.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/extra_types.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/http_wrapper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/list_pager.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/stream_slice.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/transfer.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/apitools/apitools/base/py/util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/argcomplete/argcomplete/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/argcomplete/argcomplete/compat.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/argcomplete/argcomplete/completers.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/argcomplete/argcomplete/my_argparse.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/argcomplete/argcomplete/my_shlex.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/auth.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/auth_handler.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/cacerts/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/compat.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/connection.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/endpoints.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/exception.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/acl.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/bucket.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/bucketlistresultset.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/connection.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/cors.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/key.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/lifecycle.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/gs/user.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/handler.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/https_connection.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/jsonresponse.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/plugin.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/provider.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/pyami/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/pyami/config.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/regioninfo.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/resultset.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/acl.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/bucket.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/bucketlistresultset.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/bucketlogging.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/connection.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/cors.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/deletemarker.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/key.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/keyfile.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/lifecycle.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/multidelete.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/multipart.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/prefix.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/tagging.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/user.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/s3/website.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/storage_uri.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/utils.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/vendored/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/vendored/regions/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/vendored/regions/exceptions.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/vendored/regions/regions.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/boto/vendored/six.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/tests/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/tests/integration/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/tests/integration/s3/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/boto/tests/integration/s3/mock_storage_service.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/crcmod_osx/crcmod/_crcfunext.so
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/oauth2_client.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/oauth2_helper.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/oauth2_plugin.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/httplib2/python2/httplib2/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/httplib2/python2/httplib2/iri2uri.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/httplib2/python2/httplib2/socks.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/httplib2/ref/img1.old
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/_helpers.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/_openssl_crypt.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/_pure_python_crypt.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/_pycrypto_crypt.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/client.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/clientsecrets.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/_fcntl_opener.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/_win32_opener.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/devshell.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/gce.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/locked_file.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/contrib/multistore_file.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/crypt.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/service_account.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/tools.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/oauth2client/util.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/tests/data/key.json.enc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/tests/data/key.p12.enc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/tests/data/privatekey.p12
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/oauth2client/tests/data/user-key.json.enc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1-modules/pyasn1_modules/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1-modules/pyasn1_modules/pem.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1-modules/pyasn1_modules/rfc2251.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1-modules/pyasn1_modules/rfc2459.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1-modules/pyasn1_modules/rfc5208.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/ber/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/ber/decoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/ber/encoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/ber/eoo.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/cer/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/cer/decoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/cer/encoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/der/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/der/decoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/codec/der/encoder.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/binary.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/calling.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/dateandtime.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/integer.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/octets.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/compat/string.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/debug.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/error.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/base.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/char.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/constraint.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/error.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/namedtype.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/namedval.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/tag.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/tagmap.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/univ.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/pyasn1/pyasn1/type/useful.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/python-gflags/gflags.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/python-gflags/gflags_validators.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/retry-decorator/retry_decorator/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/retry-decorator/retry_decorator/retry_decorator.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/__init__.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/_compat.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/common.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/core.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/key.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/pem.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/pkcs1.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/prime.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/randnum.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/transform.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/rsa/rsa/varblock.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/six/six.pyc
+third_party/depot_tools/external_bin/gsutil/gsutil_4.28/gsutil/third_party/socksipy-branch/socks.pyc
 third_party/depot_tools/ninja-linux32
 third_party/depot_tools/ninja-linux64
 third_party/depot_tools/ninja-mac
 third_party/depot_tools/ninja.exe
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/array.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/classstatic.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/compound.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/global.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/hello.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/inline.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/namespaces.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/params.wasm
-third_party/devtools-frontend/src/back_end/CXXDWARFSymbols/unittests/Inputs/string.wasm
+third_party/depot_tools/subprocess2.pyc
 third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/pkg/wasm_source_map_bg.wasm
 third_party/devtools-frontend/src/node_modules/chokidar/node_modules/fsevents/fsevents.node
 third_party/devtools-frontend/src/node_modules/rollup/node_modules/fsevents/fsevents.node
@@ -15278,6 +15546,43 @@ third_party/hunspell/fuzz/bdict_corpus/en-US-7-1.bdic
 third_party/hunspell/fuzz/bdict_corpus/en-US-8-0.bdic
 third_party/hunspell/fuzz/bdict_corpus/f95048cdc0fc231dd712bad106578a9eeecd869b
 third_party/hunspell/fuzz/bdict_corpus/fda69541054125551c41ab3e591e0482405ca2dc
+third_party/hyphenation-patterns/hyb/hyph-as.hyb
+third_party/hyphenation-patterns/hyb/hyph-be.hyb
+third_party/hyphenation-patterns/hyb/hyph-bg.hyb
+third_party/hyphenation-patterns/hyb/hyph-bn.hyb
+third_party/hyphenation-patterns/hyb/hyph-cu.hyb
+third_party/hyphenation-patterns/hyb/hyph-cy.hyb
+third_party/hyphenation-patterns/hyb/hyph-da.hyb
+third_party/hyphenation-patterns/hyb/hyph-de-1901.hyb
+third_party/hyphenation-patterns/hyb/hyph-de-1996.hyb
+third_party/hyphenation-patterns/hyb/hyph-de-ch-1901.hyb
+third_party/hyphenation-patterns/hyb/hyph-en-gb.hyb
+third_party/hyphenation-patterns/hyb/hyph-en-us.hyb
+third_party/hyphenation-patterns/hyb/hyph-es.hyb
+third_party/hyphenation-patterns/hyb/hyph-et.hyb
+third_party/hyphenation-patterns/hyb/hyph-eu.hyb
+third_party/hyphenation-patterns/hyb/hyph-fr.hyb
+third_party/hyphenation-patterns/hyb/hyph-ga.hyb
+third_party/hyphenation-patterns/hyb/hyph-gu.hyb
+third_party/hyphenation-patterns/hyb/hyph-hi.hyb
+third_party/hyphenation-patterns/hyb/hyph-hr.hyb
+third_party/hyphenation-patterns/hyb/hyph-hu.hyb
+third_party/hyphenation-patterns/hyb/hyph-hy.hyb
+third_party/hyphenation-patterns/hyb/hyph-kn.hyb
+third_party/hyphenation-patterns/hyb/hyph-la.hyb
+third_party/hyphenation-patterns/hyb/hyph-ml.hyb
+third_party/hyphenation-patterns/hyb/hyph-mn-cyrl.hyb
+third_party/hyphenation-patterns/hyb/hyph-mr.hyb
+third_party/hyphenation-patterns/hyb/hyph-nb.hyb
+third_party/hyphenation-patterns/hyb/hyph-nn.hyb
+third_party/hyphenation-patterns/hyb/hyph-or.hyb
+third_party/hyphenation-patterns/hyb/hyph-pa.hyb
+third_party/hyphenation-patterns/hyb/hyph-pt.hyb
+third_party/hyphenation-patterns/hyb/hyph-sl.hyb
+third_party/hyphenation-patterns/hyb/hyph-ta.hyb
+third_party/hyphenation-patterns/hyb/hyph-te.hyb
+third_party/hyphenation-patterns/hyb/hyph-tk.hyb
+third_party/hyphenation-patterns/hyb/hyph-und-ethi.hyb
 third_party/icu/android/icudtl.dat
 third_party/icu/android_small/icudtl.dat
 third_party/icu/android_small/icudtl_extra.dat
@@ -15305,9 +15610,6 @@ third_party/jetifier_standalone/lib/jetifier-standalone.jar
 third_party/libavif/src/tests/data/cosmos1650_yuv444_10bpc_p3pq.y4m
 third_party/libavif/src/tests/data/kodim03_yuv420_8bpc.y4m
 third_party/libavif/src/tests/data/kodim23_yuv420_8bpc.y4m
-third_party/libavif/src/tests/data/originals/cosmos1650_yuv444_10bpc_p3pq.avif
-third_party/libavif/src/tests/data/originals/kodim03_yuv420_8bpc.avif
-third_party/libavif/src/tests/data/originals/kodim23_yuv420_8bpc.avif
 third_party/libdrm/src/intel/tests/gen4-3d.batch
 third_party/libdrm/src/intel/tests/gen5-3d.batch
 third_party/libdrm/src/intel/tests/gen6-3d.batch
@@ -17474,6 +17776,7 @@ third_party/llvm/lldb/test/Shell/Minidump/Windows/Sigsegv/Inputs/sigsegv.dmp
 third_party/llvm/lldb/test/Shell/Minidump/Windows/Sigsegv/Inputs/sigsegv.pdb
 third_party/llvm/lldb/test/Shell/ObjectFile/ELF/Inputs/PT_LOAD-overlap-section.elf
 third_party/llvm/lldb/test/Shell/ObjectFile/ELF/Inputs/netbsd-amd64.core
+third_party/llvm/lldb/test/Shell/Reproducer/Inputs/core
 third_party/llvm/lldb/tools/lldb-perf/darwin/sketch/foobar.sketch2
 third_party/llvm/lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so
 third_party/llvm/lldb/unittests/Process/minidump/Inputs/fizzbuzz_no_heap.dmp
@@ -17584,7 +17887,9 @@ third_party/llvm/llvm/test/Bitcode/Inputs/thinlto-function-summary-callgraph-pgo
 third_party/llvm/llvm/test/Bitcode/Inputs/thinlto-function-summary-callgraph-pgo.1.bc
 third_party/llvm/llvm/test/Bitcode/Inputs/thinlto-function-summary-callgraph.1.bc
 third_party/llvm/llvm/test/Bitcode/aarch64-addp-upgrade.bc
+third_party/llvm/llvm/test/Bitcode/aarch64-bf16-upgrade.ll.bc
 third_party/llvm/llvm/test/Bitcode/aggregateInstructions.3.2.ll.bc
+third_party/llvm/llvm/test/Bitcode/arm-bf16-upgrade.ll.bc
 third_party/llvm/llvm/test/Bitcode/atomic-no-syncscope.ll.bc
 third_party/llvm/llvm/test/Bitcode/attributes-3.3.ll.bc
 third_party/llvm/llvm/test/Bitcode/auto_upgrade_intrinsics.bc
@@ -18514,8 +18819,6 @@ third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/got-empty.exe.mipsel
 third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/got-plt.exe.elf-mipsel
 third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/got-static.exe.mips
 third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/got-tls.so.elf-mips64el
-third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/trivial.obj.elf-amdhsa-gfx803
-third_party/llvm/llvm/test/tools/llvm-readobj/ELF/Inputs/trivial.obj.elf-i386
 third_party/llvm/llvm/test/tools/llvm-readobj/MachO/Inputs/macho-universal-archive.x86_64.i386
 third_party/llvm/llvm/test/tools/llvm-readobj/MachO/Inputs/macho-universal.x86_64.i386
 third_party/llvm/llvm/test/tools/llvm-readobj/MachO/Inputs/relocs.obj.macho-arm
@@ -18818,7 +19121,6 @@ third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/bad_p
 third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/cf93596ce5bbb0d4c91f3ee493e01f0674d36c0c
 third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/e14c401475d86e0f279691c168c7122ceb77c2c6
 third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/e9b451d1575019d52e0e072ce5b22a2418d237c7
-third_party/openscreen/src/cast/standalone_receiver/private.der
 third_party/openscreen/src/cast/streaming/compound_rtcp_parser_fuzzer_seeds/builder_basics.bin
 third_party/openscreen/src/cast/streaming/compound_rtcp_parser_fuzzer_seeds/builder_including_picture_loss_indicator.bin
 third_party/openscreen/src/cast/streaming/compound_rtcp_parser_fuzzer_seeds/builder_including_receiver_report_block.bin
@@ -18874,14 +19176,14 @@ third_party/pdfium/testing/resources/pixel/bug_591137.in
 third_party/pdfium/testing/resources/pixel/xfa_specific/bug_1258_1.in
 third_party/pdfium/testing/resources/pixel/xfa_specific/bug_1258_2.in
 third_party/pdfium/testing/resources/pixel/xfa_specific/bug_1258_3.in
-third_party/pdfium/third_party/eu-strip/bin/eu-strip
 third_party/perfetto/src/ipc/buffered_frame_deserializer_fuzzer_corpus/two_valid_frames
 third_party/perfetto/src/profiling/memory/shared_ring_buffer_fuzzer_corpus/empty
 third_party/perfetto/src/profiling/memory/shared_ring_buffer_fuzzer_corpus/overflow
 third_party/perfetto/src/profiling/memory/shared_ring_buffer_fuzzer_corpus/read
-third_party/perfetto/src/trace_processor/python/trace_processor/metrics.descriptor
-third_party/perfetto/src/trace_processor/python/trace_processor/trace_processor.descriptor
+third_party/perfetto/src/trace_processor/python/perfetto/trace_processor/metrics.descriptor
+third_party/perfetto/src/trace_processor/python/perfetto/trace_processor/trace_processor.descriptor
 third_party/perfetto/src/traced/probes/ftrace/cpu_reader_fuzzer_corpus/one_page_sched_switch
+third_party/private_membership/src/internal/testing/regression_test_data/cros_test_data.binarypb
 third_party/protobuf/benchmarks/datasets/google_message1/proto2/dataset.google_message1_proto2.pb
 third_party/protobuf/benchmarks/datasets/google_message1/proto3/dataset.google_message1_proto3.pb
 third_party/protobuf/benchmarks/datasets/google_message2/dataset.google_message2.pb
@@ -19034,63 +19336,104 @@ third_party/swiftshader/third_party/SPIRV-Tools/test/fuzzers/corpora/spv/simple.
 third_party/swiftshader/third_party/marl/kokoro/ubuntu/clang-8-ubuntu-14.04.sig
 third_party/swiftshader/third_party/marl/kokoro/ubuntu/clang-8-ubuntu-16.04.sig
 third_party/tlslite/tests/verifierDB
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000000
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000004
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000006
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000007
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000008
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000009
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000010
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/addip-000011
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/asconf-001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/asconf-002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/asconf-ack-001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/asconf-ack-002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/asconf-ack-003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-4524087830118400
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-4706780001861632
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-4750230994812928
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-4790592673153024
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-4846769996562432
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5127495803469824
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5204536192401408
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5631536029499392
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5634380847906816
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5645105154752512
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5649242005176320
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5649768725872640
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5667542357245952
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5676652788449280
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5686965006761984
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5688015225094144
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5722044720742400
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5734997805236224
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5736809862004736
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5737686959915008
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5741506257747968
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5759310927233024
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_unconnected-5767885871382528
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-4630702305050624
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-4651341199966208
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-4750230994812928
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-4790592673153024
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5141658569277440
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5631709814456320
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5638658568224768
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5675883720867840
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5686965006761984
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5703269247352832
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5738321340006400
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5764087333519360
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5989617778819072.fuzz
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_unconnected-5639391992610816
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/crash-0a63175dc6b51474dc08197431ec36d11db5e77b
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/crash-27ffd53d682a7908bf7569e32d904f049066b5d6
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/data-1.bin
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/dummy-01
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/ecn-cwr-000001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/ecn-echo-000001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/forward-tsn-000001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/heartbeat-ack-0001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/heartbeat-ack-0002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/init-ack-01
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/init-ack-1.bin
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/leak-00bd871f5ce0596083fe8642c803c97f424b0c70
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/leak-4e7e4f4a8318a1da7e35d9907d49e78d4a34dfc8
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000000
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000001
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000002
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000003
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000004
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000005-dopped
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000005-sack
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000005-sack-express
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000006
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000007
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000008
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000009
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000010
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000011
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000011-dropped
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000012
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000013
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000014
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000015
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000015-dropped
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000016
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000017
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000018
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000019
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000020
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000021
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000022
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000023
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000024
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000025
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000026
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000027
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/rtcweb-000028
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/shutdown-000001
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/shutdown-1.bin
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/shutdown-ack-1.bin
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/shutdown-complete-1.bin
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/timeout-00b96dd43f1251438bb44daa0a5a24ae4df5bce5
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000000
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000000-dropped
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000001
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000002
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000003
@@ -19101,54 +19444,35 @@ third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000007
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000008
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000009
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000010
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000011
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000012
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000013
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000014
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000015
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000016
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000017
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000018
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000019
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000020
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000021
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000022
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000023
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000024
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000025
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000026
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000027
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000028
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000029
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000030
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000031
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000032
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000033
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000034
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000035
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000036
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000037
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000038
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000039
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000040
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000041
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000042
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000043
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000044
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000045
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000046
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000047
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000048
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000049
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000050
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000051
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000052
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000053
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000054
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000055
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000056
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000057
-third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-000058
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000000
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000004
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000006
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000007
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000008
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000009
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_CONNECT/tsctp-i-data-000010
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-data-0001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-data-0002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-data-0003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-data-0004
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-data-0005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-idata-0001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-idata-0002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-idata-0003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-idata-0004
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/fragment-idata-0005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-001
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-002
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-003
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-004
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-005
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-006
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-007
+third_party/usrsctp/usrsctplib/fuzzer/CORPUS_FRAGMENT/nrsackfile-008
 third_party/usrsctp/usrsctplib/fuzzer/CORPUS_LISTEN/init-1.bin
 third_party/vulkan_memory_allocator/bin/Shader.frag.spv
 third_party/vulkan_memory_allocator/bin/Shader.vert.spv

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