Browse Source

Update to Chromium 123.0.6312.58

Blaise 1 month ago
parent
commit
c5aa0f6af8
60 changed files with 952 additions and 1357 deletions
  1. 1 1
      chromium_version.txt
  2. 116 67
      domain_substitution.list
  3. 1 1
      patches/core/bromite/disable-fetching-field-trials.patch
  4. 31 29
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  5. 2 1
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  6. 5 5
      patches/core/inox-patchset/0005-disable-default-extensions.patch
  7. 1 1
      patches/core/inox-patchset/0021-disable-rlz.patch
  8. 5 5
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  9. 2 2
      patches/core/iridium-browser/safe_browsing-disable-incident-reporting.patch
  10. 2 2
      patches/core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
  11. 16 16
      patches/core/ungoogled-chromium/block-requests.patch
  12. 5 5
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  13. 23 8
      patches/core/ungoogled-chromium/disable-crash-reporter.patch
  14. 3 4
      patches/core/ungoogled-chromium/disable-domain-reliability.patch
  15. 12 7
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  16. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  17. 1 1
      patches/core/ungoogled-chromium/disable-network-time-tracker.patch
  18. 5 5
      patches/core/ungoogled-chromium/disable-privacy-sandbox.patch
  19. 1 1
      patches/core/ungoogled-chromium/disable-webrtc-log-uploader.patch
  20. 8 8
      patches/core/ungoogled-chromium/disable-webstore-urls.patch
  21. 1 1
      patches/core/ungoogled-chromium/doh-changes.patch
  22. 216 87
      patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch
  23. 133 132
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  24. 187 230
      patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch
  25. 1 1
      patches/core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch
  26. 5 5
      patches/core/ungoogled-chromium/toggle-translation-via-switch.patch
  27. 19 19
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  28. 6 6
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  29. 5 5
      patches/extra/bromite/flag-max-connections-per-host.patch
  30. 4 4
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  31. 1 1
      patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
  32. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  33. 1 1
      patches/extra/iridium-browser/updater-disable-auto-update.patch
  34. 7 7
      patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
  35. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
  36. 4 4
      patches/extra/ungoogled-chromium/add-flag-for-disabling-link-drag.patch
  37. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-incognito-themes.patch
  38. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
  39. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
  40. 3 3
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  41. 1 1
      patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
  42. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
  43. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
  44. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
  45. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-disable-sharing-hub.patch
  46. 3 3
      patches/extra/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch
  47. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch
  48. 1 1
      patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch
  49. 10 10
      patches/extra/ungoogled-chromium/add-flags-for-referrer-customization.patch
  50. 17 17
      patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
  51. 1 1
      patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
  52. 1 1
      patches/extra/ungoogled-chromium/default-webrtc-ip-handling-policy.patch
  53. 1 1
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  54. 2 2
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  55. 1 1
      patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
  56. 2 2
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  57. 4 4
      patches/extra/ungoogled-chromium/first-run-page.patch
  58. 16 15
      patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
  59. 42 608
      pruning.list
  60. 2 0
      utils/prune_binaries.py

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-122.0.6261.128
+123.0.6312.58

File diff suppressed because it is too large
+ 116 - 67
domain_substitution.list


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

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

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2352,7 +2352,6 @@ static_library("browser") {
+@@ -2367,7 +2367,6 @@ static_library("browser") {
      "//components/reporting/util:task_runner_context",
      "//components/resources",
      "//components/safe_browsing/content/browser",
@@ -8,7 +8,7 @@
      "//components/safe_browsing/content/browser:safe_browsing_service",
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/web_ui",
-@@ -3744,8 +3743,6 @@ static_library("browser") {
+@@ -3763,8 +3762,6 @@ static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -42,7 +42,7 @@
    virtual subresource_filter::RulesetService*
 --- a/chrome/browser/browser_process_impl.cc
 +++ b/chrome/browser/browser_process_impl.cc
-@@ -72,7 +72,6 @@
+@@ -73,7 +73,6 @@
  #include "chrome/browser/printing/print_job_manager.h"
  #include "chrome/browser/profiles/profile_manager.h"
  #include "chrome/browser/resource_coordinator/resource_coordinator_parts.h"
@@ -50,7 +50,7 @@
  #include "chrome/browser/shell_integration.h"
  #include "chrome/browser/site_isolation/prefs_observer.h"
  #include "chrome/browser/ssl/secure_origin_prefs_observer.h"
-@@ -439,8 +438,6 @@ void BrowserProcessImpl::StartTearDown()
+@@ -446,8 +445,6 @@ void BrowserProcessImpl::StartTearDown()
  #endif
    metrics_services_manager_.reset();
    intranet_redirect_detector_.reset();
@@ -58,8 +58,8 @@
 -    safe_browsing_service()->ShutDown();
    network_time_tracker_.reset();
  
- #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -1097,14 +1094,6 @@ StatusTray* BrowserProcessImpl::status_t
+ #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+@@ -1118,14 +1115,6 @@ StatusTray* BrowserProcessImpl::status_t
    return status_tray_.get();
  }
  
@@ -74,7 +74,7 @@
  subresource_filter::RulesetService*
  BrowserProcessImpl::subresource_filter_ruleset_service() {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1370,26 +1359,6 @@ void BrowserProcessImpl::CreateBackgroun
+@@ -1391,26 +1380,6 @@ void BrowserProcessImpl::CreateBackgroun
  #endif
  }
  
@@ -123,7 +123,7 @@
        subresource_filter_ruleset_service_;
 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
 +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -65,7 +65,6 @@
+@@ -66,7 +66,6 @@
  #include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h"
  #include "chrome/browser/profiles/profile.h"
  #include "chrome/browser/reading_list/reading_list_model_factory.h"
@@ -131,7 +131,7 @@
  #include "chrome/browser/safe_browsing/verdict_cache_manager_factory.h"
  #include "chrome/browser/search_engines/template_url_service_factory.h"
  #include "chrome/browser/share/share_history.h"
-@@ -635,10 +634,6 @@ void ChromeBrowsingDataRemoverDelegate::
+@@ -637,10 +636,6 @@ void ChromeBrowsingDataRemoverDelegate::
      base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
  
      network::mojom::NetworkContext* safe_browsing_context = nullptr;
@@ -144,7 +144,7 @@
      browsing_data::RemoveFederatedSiteSettingsData(delete_begin_, delete_end_,
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5019,10 +5019,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5047,10 +5047,6 @@ ChromeContentBrowserClient::CreateThrott
    throttles.push_back(std::make_unique<PolicyBlocklistNavigationThrottle>(
        handle, handle->GetWebContents()->GetBrowserContext()));
  
@@ -155,7 +155,7 @@
    throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
        handle,
        base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp),
-@@ -5070,16 +5066,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5098,16 +5094,6 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -172,7 +172,7 @@
    if (base::FeatureList::IsEnabled(safe_browsing::kDelayedWarnings)) {
      throttles.push_back(
          std::make_unique<safe_browsing::DelayedWarningNavigationThrottle>(
-@@ -5344,8 +5330,6 @@ bool ChromeContentBrowserClient::IsPlugi
+@@ -5400,8 +5386,6 @@ bool ChromeContentBrowserClient::IsPlugi
  void ChromeContentBrowserClient::InitOnUIThread() {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
  
@@ -207,7 +207,7 @@
  }  // namespace
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -498,13 +498,6 @@ void ChromeDownloadManagerDelegate::SetD
+@@ -499,13 +499,6 @@ void ChromeDownloadManagerDelegate::SetD
  
    download_manager_ = dm;
  
@@ -221,7 +221,7 @@
    if (download_manager_) {
      download_manager_->AddObserver(this);
    }
-@@ -898,17 +891,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -911,17 +904,6 @@ void ChromeDownloadManagerDelegate::Choo
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename,
      const GURL& source_url) {
@@ -364,7 +364,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"
-@@ -1377,9 +1376,6 @@ DownloadsAcceptDangerFunction::Downloads
+@@ -1378,9 +1377,6 @@ DownloadsAcceptDangerFunction::Downloads
  
  DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
  
@@ -374,7 +374,7 @@
  ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() {
    std::optional<downloads::AcceptDanger::Params> params =
        downloads::AcceptDanger::Params::Create(args());
-@@ -1417,42 +1413,7 @@ void DownloadsAcceptDangerFunction::Prom
+@@ -1418,42 +1414,7 @@ void DownloadsAcceptDangerFunction::Prom
      return;
    }
    RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -655,7 +655,7 @@
  #include "chrome/browser/sessions/exit_type_service.h"
  #include "chrome/browser/sharing/sharing_service_factory.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
-@@ -633,17 +632,6 @@ void ProfileImpl::LoadPrefsForNormalStar
+@@ -639,17 +638,6 @@ void ProfileImpl::LoadPrefsForNormalStar
  
    mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
        pref_validation_delegate;
@@ -703,7 +703,7 @@
  
    if (is_android) {
      deps += [ "//chrome/browser/password_manager/android:utils" ]
-@@ -499,6 +501,7 @@ static_library("advanced_protection") {
+@@ -501,6 +503,7 @@ static_library("advanced_protection") {
  }
  
  source_set("metrics_collector") {
@@ -711,7 +711,7 @@
    sources = [
      "safe_browsing_metrics_collector_factory.cc",
      "safe_browsing_metrics_collector_factory.h",
-@@ -518,6 +521,7 @@ source_set("metrics_collector") {
+@@ -520,6 +523,7 @@ source_set("metrics_collector") {
      "//components/safe_browsing/core/common:safe_browsing_prefs",
      "//content/public/browser",
    ]
@@ -816,7 +816,7 @@
  
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -5212,7 +5212,6 @@ static_library("ui") {
+@@ -5195,7 +5195,6 @@ static_library("ui") {
        "views/download/bubble/download_dialog_view.h",
        "views/download/bubble/download_toolbar_button_view.cc",
        "views/download/bubble/download_toolbar_button_view.h",
@@ -826,7 +826,7 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -479,22 +479,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -483,22 +483,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    //     See https://crbug.com/910288.
    resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
        web_contents);
@@ -968,7 +968,7 @@
    bool IsDeletingHistoryAllowed();
 --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
 +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
-@@ -280,66 +280,6 @@ CreateHttpsOnlyModePage(content::WebCont
+@@ -280,68 +280,6 @@ CreateHttpsOnlyModePage(content::WebCont
        security_interstitials::https_only_mode::HttpInterstitialState{});
  }
  
@@ -1028,14 +1028,16 @@
 -  auto* ui_manager =
 -      g_browser_process->safe_browsing_service()->ui_manager().get();
 -  return base::WrapUnique<security_interstitials::SecurityInterstitialPage>(
--      ui_manager->CreateBlockingPage(web_contents, main_frame_url, {resource},
--                                     /*forward_extension_event=*/false));
+-      ui_manager->CreateBlockingPage(
+-          web_contents, main_frame_url, {resource},
+-          /*forward_extension_event=*/false,
+-          /*blocked_page_shown_timestamp=*/absl::nullopt));
 -}
 -
  std::unique_ptr<EnterpriseBlockPage> CreateEnterpriseBlockPage(
      content::WebContents* web_contents) {
    const GURL kRequestUrl("https://enterprise-block.example.net");
-@@ -349,94 +289,6 @@ std::unique_ptr<EnterpriseBlockPage> Cre
+@@ -352,94 +290,6 @@ std::unique_ptr<EnterpriseBlockPage> Cre
                                                          kRequestUrl));
  }
  
@@ -1130,7 +1132,7 @@
  #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
  std::unique_ptr<CaptivePortalBlockingPage> CreateCaptivePortalBlockingPage(
      content::WebContents* web_contents) {
-@@ -543,12 +395,8 @@ void InterstitialHTMLSource::StartDataRe
+@@ -546,12 +396,8 @@ void InterstitialHTMLSource::StartDataRe
      interstitial_delegate = CreateMITMSoftwareBlockingPage(web_contents);
    } else if (path_without_query == "/blocked-interception") {
      interstitial_delegate = CreateBlockedInterceptionBlockingPage(web_contents);
@@ -1143,7 +1145,7 @@
    } else if (path_without_query == "/clock") {
      interstitial_delegate = CreateBadClockBlockingPage(web_contents);
    } else if (path_without_query == "/lookalike") {
-@@ -563,16 +411,12 @@ void InterstitialHTMLSource::StartDataRe
+@@ -566,16 +412,12 @@ void InterstitialHTMLSource::StartDataRe
      interstitial_delegate = CreateHttpsOnlyModePage(web_contents);
    }
  
@@ -1166,14 +1168,14 @@
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
 @@ -102,7 +102,6 @@
- #include "components/password_manager/core/common/password_manager_features.h"
+ #include "components/pdf/common/constants.h"
  #include "components/permissions/features.h"
  #include "components/safe_browsing/buildflags.h"
 -#include "components/safe_browsing/content/renderer/threat_dom_details.h"
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
  #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
-@@ -453,12 +452,8 @@ void ChromeContentRendererClient::Render
+@@ -458,12 +457,8 @@ void ChromeContentRendererClient::Render
    subresource_filter_ruleset_dealer_ =
        std::make_unique<subresource_filter::UnverifiedRulesetDealer>();
  

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

@@ -1,6 +1,6 @@
 --- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
 +++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
-@@ -800,94 +800,6 @@ std::tuple<GURL, std::string> AutofillCr
+@@ -802,95 +802,6 @@ std::tuple<GURL, std::string> AutofillCr
  }
  
  bool AutofillCrowdsourcingManager::StartRequest(FormRequestData request_data) {
@@ -87,6 +87,7 @@
 -  // variable.
 -  auto* raw_simple_loader = simple_loader.get();
 -  url_loaders_.push_back(std::move(simple_loader));
+-  raw_simple_loader->SetTimeoutDuration(kFetchTimeout);
 -  raw_simple_loader->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
 -      client_->GetURLLoaderFactory().get(),
 -      base::BindOnce(&AutofillCrowdsourcingManager::OnSimpleLoaderComplete,

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

@@ -10,7 +10,7 @@
      extension_misc::kAssessmentAssistantExtensionId,
 --- a/chrome/browser/extensions/component_loader.cc
 +++ b/chrome/browser/extensions/component_loader.cc
-@@ -394,11 +394,6 @@ void ComponentLoader::AddWebStoreApp() {
+@@ -395,11 +395,6 @@ void ComponentLoader::AddWebStoreApp() {
      return;
    }
  #endif
@@ -36,10 +36,10 @@
    {
 --- a/chrome/browser/extensions/webstore_installer.cc
 +++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -520,20 +520,6 @@ void WebstoreInstaller::DownloadNextPend
- void WebstoreInstaller::DownloadCrx(
-     const std::string& extension_id,
-     InstallSource source) {
+@@ -519,20 +519,6 @@ void WebstoreInstaller::DownloadNextPend
+ 
+ void WebstoreInstaller::DownloadCrx(const extensions::ExtensionId& extension_id,
+                                     InstallSource source) {
 -  download_url_ = GetWebstoreInstallURL(extension_id, source);
 -  MaybeAppendAuthUserParameter(approval_->authuser, &download_url_);
 -

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

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

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

@@ -167,7 +167,7 @@ by default.
  DownloadFeedbackFactory* DownloadFeedback::factory_ = nullptr;
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-@@ -273,7 +273,7 @@ GURL SpellcheckHunspellDictionary::GetDi
+@@ -274,7 +274,7 @@ GURL SpellcheckHunspellDictionary::GetDi
    DCHECK(!bdict_file.empty());
  
    static const char kDownloadServerUrl[] =
@@ -189,7 +189,7 @@ by default.
  bool g_upgrade_bubble_is_showing = false;
 --- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
 +++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
-@@ -75,17 +75,17 @@ namespace {
+@@ -71,17 +71,17 @@ namespace {
  // The URL for the the Learn More page shown on incognito new tab.
  const char kLearnMoreIncognitoUrl[] =
  #if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -234,8 +234,8 @@ by default.
 -    L"https://support.google.com/chrome?p=chrome_uninstall_survey");
 +    L"trk:253:https://support.google.com/chrome?p=chrome_uninstall_survey");
  
- bool NavigateToUrlWithEdge(const std::wstring& url) {
-   std::wstring protocol_url = L"microsoft-edge:" + url;
+ // Launches the url directly with the user's default handler for |url|.
+ bool NavigateToUrlWithHttps(const std::wstring& url) {
 --- a/chromecast/crash/linux/minidump_uploader.cc
 +++ b/chromecast/crash/linux/minidump_uploader.cc
 @@ -40,7 +40,7 @@ namespace {
@@ -416,7 +416,7 @@ by default.
    GURL url(base::WideToUTF16(args[0]));
 --- a/extensions/common/extension_urls.cc
 +++ b/extensions/common/extension_urls.cc
-@@ -29,10 +29,10 @@ bool IsSourceFromAnExtension(const std::
+@@ -30,10 +30,10 @@ bool IsSourceFromAnExtension(const std::
  
  namespace extension_urls {
  

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

@@ -16,7 +16,7 @@ the URL so we get notified if this happens again in the future).
 
 --- a/chrome/browser/safe_browsing/chrome_safe_browsing_blocking_page_factory.cc
 +++ b/chrome/browser/safe_browsing/chrome_safe_browsing_blocking_page_factory.cc
-@@ -44,8 +44,7 @@ ChromeSafeBrowsingBlockingPageFactory::C
+@@ -45,8 +45,7 @@ ChromeSafeBrowsingBlockingPageFactory::C
        Profile::FromBrowserContext(web_contents->GetBrowserContext());
    // Create appropriate display options for this blocking page.
    PrefService* prefs = profile->GetPrefs();
@@ -56,7 +56,7 @@ the URL so we get notified if this happens again in the future).
  IncidentReportingService::IncidentReportingService(
 --- a/chrome/browser/safe_browsing/safe_browsing_service.cc
 +++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
-@@ -318,7 +318,7 @@ SafeBrowsingUIManager* SafeBrowsingServi
+@@ -322,7 +322,7 @@ SafeBrowsingUIManager* SafeBrowsingServi
  }
  
  void SafeBrowsingService::RegisterAllDelayedAnalysis() {

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

@@ -13,7 +13,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
 
 --- a/components/safe_browsing/content/browser/client_side_detection_service.cc
 +++ b/components/safe_browsing/content/browser/client_side_detection_service.cc
-@@ -241,6 +241,10 @@ void ClientSideDetectionService::StartCl
+@@ -245,6 +245,10 @@ void ClientSideDetectionService::StartCl
      return;
    }
  
@@ -24,7 +24,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
    std::string request_data;
    request->SerializeToString(&request_data);
  
-@@ -322,6 +326,7 @@ void ClientSideDetectionService::StartCl
+@@ -326,6 +330,7 @@ void ClientSideDetectionService::StartCl
        base::BindOnce(&WebUIInfoSingleton::AddToClientPhishingRequestsSent,
                       base::Unretained(WebUIInfoSingleton::GetInstance()),
                       std::move(request), access_token));

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

@@ -38,7 +38,7 @@
    collection_error_info_.ClearError();
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-@@ -280,6 +280,7 @@ GURL SpellcheckHunspellDictionary::GetDi
+@@ -281,6 +281,7 @@ GURL SpellcheckHunspellDictionary::GetDi
  }
  
  void SpellcheckHunspellDictionary::DownloadDictionary(GURL url) {
@@ -46,19 +46,9 @@
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
    DCHECK(browser_context_);
  
---- a/components/assist_ranker/ranker_url_fetcher.cc
-+++ b/components/assist_ranker/ranker_url_fetcher.cc
-@@ -31,6 +31,7 @@ bool RankerURLFetcher::Request(
-     const GURL& url,
-     RankerURLFetcher::Callback callback,
-     network::mojom::URLLoaderFactory* url_loader_factory) {
-+  return false;
-   // This function is not supposed to be called if the previous operation is not
-   // finished.
-   if (state_ == REQUESTING) {
---- a/components/password_manager/core/browser/affiliation/hash_affiliation_fetcher.cc
-+++ b/components/password_manager/core/browser/affiliation/hash_affiliation_fetcher.cc
-@@ -52,6 +52,9 @@ HashAffiliationFetcher::HashAffiliationF
+--- a/components/affiliations/core/browser/hash_affiliation_fetcher.cc
++++ b/components/affiliations/core/browser/hash_affiliation_fetcher.cc
+@@ -53,6 +53,9 @@ HashAffiliationFetcher::HashAffiliationF
  HashAffiliationFetcher::~HashAffiliationFetcher() = default;
  
  void HashAffiliationFetcher::StartRequest(
@@ -68,8 +58,8 @@
      const std::vector<FacetURI>& facet_uris,
      RequestInfo request_info) {
    requested_facet_uris_ = facet_uris;
---- a/components/password_manager/core/browser/affiliation/hash_affiliation_fetcher.h
-+++ b/components/password_manager/core/browser/affiliation/hash_affiliation_fetcher.h
+--- a/components/affiliations/core/browser/hash_affiliation_fetcher.h
++++ b/components/affiliations/core/browser/hash_affiliation_fetcher.h
 @@ -22,6 +22,7 @@ class HashAffiliationFetcher : public Af
  
    void StartRequest(const std::vector<FacetURI>& facet_uris,
@@ -78,6 +68,16 @@
  
    // AffiliationFetcherInterface
    const std::vector<FacetURI>& GetRequestedFacetURIs() const override;
+--- a/components/assist_ranker/ranker_url_fetcher.cc
++++ b/components/assist_ranker/ranker_url_fetcher.cc
+@@ -31,6 +31,7 @@ bool RankerURLFetcher::Request(
+     const GURL& url,
+     RankerURLFetcher::Callback callback,
+     network::mojom::URLLoaderFactory* url_loader_factory) {
++  return false;
+   // This function is not supposed to be called if the previous operation is not
+   // finished.
+   if (state_ == REQUESTING) {
 --- a/components/update_client/update_checker.cc
 +++ b/components/update_client/update_checker.cc
 @@ -102,6 +102,7 @@ void UpdateCheckerImpl::CheckForUpdates(

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

@@ -60,7 +60,7 @@
      return GURL(parts.scheme.is_valid() ? text : FixupPath(text));
 --- a/content/browser/child_process_security_policy_impl.cc
 +++ b/content/browser/child_process_security_policy_impl.cc
-@@ -829,6 +829,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
+@@ -837,6 +837,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
    RegisterWebSafeScheme(url::kWssScheme);
  #endif  // BUILDFLAG(ENABLE_WEBSOCKETS)
    RegisterWebSafeScheme(url::kDataScheme);
@@ -70,7 +70,7 @@
    // other origins, so we should not treat them as web safe. Remove callers of
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -974,6 +974,8 @@ component("net") {
+@@ -981,6 +981,8 @@ component("net") {
      "url_request/referrer_policy.h",
      "url_request/static_http_user_agent_settings.cc",
      "url_request/static_http_user_agent_settings.h",
@@ -173,15 +173,15 @@
      return NetLogURLRequestConstructorParams(url, priority_,
 --- a/net/url_request/url_request_context_builder.cc
 +++ b/net/url_request/url_request_context_builder.cc
-@@ -47,6 +47,7 @@
+@@ -48,6 +48,7 @@
  #include "net/socket/network_binding_client_socket_factory.h"
  #include "net/ssl/ssl_config_service_defaults.h"
  #include "net/url_request/static_http_user_agent_settings.h"
 +#include "net/url_request/trk_protocol_handler.h"
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_job_factory.h"
- #include "net/url_request/url_request_throttler_manager.h"
-@@ -567,6 +568,9 @@ std::unique_ptr<URLRequestContext> URLRe
+ #include "url/url_constants.h"
+@@ -561,6 +562,9 @@ std::unique_ptr<URLRequestContext> URLRe
    }
    protocol_handlers_.clear();
  

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

@@ -2,16 +2,31 @@
 
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -2482,7 +2482,8 @@ void ChromeContentBrowserClient::AppendE
+@@ -2501,24 +2501,6 @@ void ChromeContentBrowserClient::AppendE
      command_line->AppendSwitchASCII(switches::kMetricsClientID,
                                      client_info->client_id);
    }
 -#elif BUILDFLAG(IS_POSIX)
-+#endif
-+#if(0)
- #if BUILDFLAG(IS_ANDROID)
-   bool enable_crash_reporter = true;
- #elif BUILDFLAG(IS_CHROMEOS)
+-#if !BUILDFLAG(IS_ANDROID)
+-  pid_t pid;
+-  if (crash_reporter::GetHandlerSocket(nullptr, &pid)) {
+-    command_line->AppendSwitchASCII(
+-        crash_reporter::switches::kCrashpadHandlerPid,
+-        base::NumberToString(pid));
+-  }
+-#endif
+-  std::string switch_value;
+-  std::unique_ptr<metrics::ClientInfo> client_info =
+-      GoogleUpdateSettings::LoadMetricsClientInfo();
+-  if (client_info) {
+-    switch_value = client_info->client_id;
+-  }
+-  switch_value.push_back(',');
+-  switch_value.append(chrome::GetChannelName(chrome::WithExtendedStable(true)));
+-  command_line->AppendSwitchASCII(switches::kEnableCrashReporter, switch_value);
+ #endif
+ 
+   if (logging::DialogsAreSuppressed())
 --- a/components/crash/core/app/crashpad.cc
 +++ b/components/crash/core/app/crashpad.cc
 @@ -74,6 +74,12 @@ void InitializeDatabasePath(const base::
@@ -29,10 +44,10 @@
                              const base::FilePath& exe_path,
 --- a/components/gwp_asan/client/gwp_asan.cc
 +++ b/components/gwp_asan/client/gwp_asan.cc
-@@ -203,6 +203,11 @@ size_t AllocationSamplingFrequency(const
+@@ -238,6 +238,11 @@ bool IsMutuallyExclusiveFeatureAllowed(c
  
  // Exported for testing.
- GWP_ASAN_EXPORT absl::optional<AllocatorSettings> GetAllocatorSettings(
+ GWP_ASAN_EXPORT std::optional<AllocatorSettings> GetAllocatorSettings(
 +    const base::Feature& a, bool b, const char* c) {
 +  return std::nullopt;
 +}

+ 3 - 4
patches/core/ungoogled-chromium/disable-domain-reliability.patch

@@ -117,7 +117,7 @@
  def quote_and_wrap_text(text, width=79, prefix='  "', suffix='"'):
 --- a/components/domain_reliability/google_configs.cc
 +++ b/components/domain_reliability/google_configs.cc
-@@ -11,549 +11,6 @@
+@@ -11,548 +11,6 @@
  
  namespace domain_reliability {
  
@@ -434,7 +434,6 @@
 -    {"google.net", true, false, false},
 -    {"google.org", true, false, false},
 -    {"google.stackdriver.com", true, false, false},
--    {"googleadapis.com", true, false, false},
 -    {"googleadservices.com", true, false, false},
 -    {"googleadsserving.cn", true, false, false},
 -    {"googlealumni.com", true, false, false},
@@ -667,7 +666,7 @@
  std::unique_ptr<const DomainReliabilityConfig> MaybeGetGoogleConfig(
      const std::string& hostname) {
    bool is_www_subdomain =
-@@ -563,23 +20,6 @@ std::unique_ptr<const DomainReliabilityC
+@@ -562,23 +20,6 @@ std::unique_ptr<const DomainReliabilityC
    std::unique_ptr<const DomainReliabilityConfig> config;
    std::unique_ptr<const DomainReliabilityConfig> superdomain_config;
  
@@ -691,7 +690,7 @@
    if (config) {
      DCHECK(config->origin.host() == hostname);
      return config;
-@@ -598,11 +38,6 @@ std::vector<std::unique_ptr<const Domain
+@@ -597,11 +38,6 @@ std::vector<std::unique_ptr<const Domain
  GetAllGoogleConfigsForTesting() {
    std::vector<std::unique_ptr<const DomainReliabilityConfig>> configs_out;
  

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

@@ -91,7 +91,7 @@
  }
  
  void GoogleURLLoaderThrottle::WillRedirectRequest(
-@@ -220,90 +157,12 @@ void GoogleURLLoaderThrottle::WillRedire
+@@ -220,95 +157,12 @@ void GoogleURLLoaderThrottle::WillRedire
      std::vector<std::string>* to_be_removed_headers,
      net::HttpRequestHeaders* modified_headers,
      net::HttpRequestHeaders* modified_cors_exempt_headers) {
@@ -158,6 +158,11 @@
 -    RecordBoundSessionStatusMetrics(is_deferred_for_bound_session_,
 -                                    is_main_frame_navigation_);
 -  }
+-  if (deferred_request_resume_trigger_) {
+-    UMA_HISTOGRAM_ENUMERATION(
+-        "Signin.BoundSessionCredentials.DeferredRequestUnblockTrigger.Success",
+-        deferred_request_resume_trigger_.value());
+-  }
 -#endif  // BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
 -
 -#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -300,7 +305,7 @@
  
  bool HasGoogleSearchQueryParam(base::StringPiece str) {
 -  url::Component query(0, static_cast<int>(str.length())), key, value;
--  while (url::ExtractQueryKeyValue(str.data(), &query, &key, &value)) {
+-  while (url::ExtractQueryKeyValue(str, &query, &key, &value)) {
 -    base::StringPiece key_str = str.substr(key.begin, key.len);
 -    if (key_str == "q" || key_str == "as_q" || key_str == "imgurl")
 -      return true;
@@ -487,7 +492,7 @@
  }
  
  bool IsGoogleSearchHostname(const GURL& url) {
--  absl::optional<std::string> result =
+-  std::optional<std::string> result =
 -      page_load_metrics::GetGoogleHostnamePrefix(url);
 -  return result && result.value() == "www";
 +  return false;
@@ -499,7 +504,7 @@
 @@ -24,38 +24,7 @@ const int kExtraBufferTimerDelayMillis =
  }  // namespace
  
- absl::optional<std::string> GetGoogleHostnamePrefix(const GURL& url) {
+ std::optional<std::string> GetGoogleHostnamePrefix(const GURL& url) {
 -  const size_t registry_length =
 -      net::registry_controlled_domains::GetRegistryLength(
 -          url,
@@ -515,7 +520,7 @@
 -  const base::StringPiece hostname = url.host_piece();
 -  if (registry_length == 0 || registry_length == std::string::npos ||
 -      registry_length >= hostname.length()) {
--    return absl::optional<std::string>();
+-    return std::optional<std::string>();
 -  }
 -
 -  // Removes the tld and the preceding dot.
@@ -527,7 +532,7 @@
 -
 -  if (!base::EndsWith(hostname_minus_registry, ".google",
 -                      base::CompareCase::INSENSITIVE_ASCII)) {
--    return absl::optional<std::string>();
+-    return std::optional<std::string>();
 -  }
 -
 -  return std::string(hostname_minus_registry.substr(
@@ -657,7 +662,7 @@
  }  // namespace variations
 --- a/net/base/url_util.cc
 +++ b/net/base/url_util.cc
-@@ -491,28 +491,6 @@ bool HasGoogleHost(const GURL& url) {
+@@ -489,28 +489,6 @@ bool HasGoogleHost(const GURL& url) {
  }
  
  bool IsGoogleHost(std::string_view host) {

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -375,7 +375,6 @@ if (!is_android && !is_mac && !is_fuchsi
+@@ -364,7 +364,6 @@ if (!is_android && !is_mac) {
        }
  
        data_deps += [
@@ -15,7 +15,7 @@
          "//third_party/widevine/cdm",
        ]
        if (invoker.collect_inputs_only) {
-@@ -1220,7 +1219,6 @@ if (is_win) {
+@@ -1210,7 +1209,6 @@ if (is_win) {
        ":optimization_guide_library",
        ":swiftshader_library",
        ":widevine_cdm_library",

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

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

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

@@ -7,8 +7,8 @@
 -             base::FEATURE_ENABLED_BY_DEFAULT);
 +             base::FEATURE_DISABLED_BY_DEFAULT);
  
- BASE_FEATURE(kAttributionReportingTriggerConfig,
-              "AttributionReportingTriggerConfig",
+ BASE_FEATURE(kAttributionReportingTriggerContextId,
+              "AttributionReportingTriggerContextId",
 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
 @@ -12,7 +12,7 @@ namespace privacy_sandbox {
@@ -22,7 +22,7 @@
                                  false);
 --- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
 +++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc
-@@ -121,7 +121,7 @@ std::set<browsing_topics::Topic> GetTopi
+@@ -123,7 +123,7 @@ std::set<browsing_topics::Topic> GetTopi
  
  // static
  bool PrivacySandboxSettingsImpl::IsAllowed(Status status) {
@@ -31,7 +31,7 @@
  }
  
  // static
-@@ -704,7 +704,7 @@ void PrivacySandboxSettingsImpl::SetTopi
+@@ -744,7 +744,7 @@ void PrivacySandboxSettingsImpl::SetTopi
  }
  
  bool PrivacySandboxSettingsImpl::IsPrivacySandboxRestricted() const {
@@ -40,7 +40,7 @@
  }
  
  bool PrivacySandboxSettingsImpl::IsPrivacySandboxCurrentlyUnrestricted() const {
-@@ -773,11 +773,7 @@ PrivacySandboxSettingsImpl::GetPrivacySa
+@@ -813,11 +813,7 @@ PrivacySandboxSettingsImpl::GetPrivacySa
      return Status::kIncognitoProfile;
    }
  

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

@@ -116,7 +116,7 @@
  
 --- a/chrome/browser/ui/browser_ui_prefs.cc
 +++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -98,7 +98,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -101,7 +101,7 @@ void RegisterBrowserUserPrefs(user_prefs
    registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
    registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false);
    registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls);

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
 +++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
-@@ -675,12 +675,6 @@ std::vector<url::Origin> ChromeContentBr
+@@ -725,12 +725,6 @@ std::vector<url::Origin> ChromeContentBr
      GetOriginsRequiringDedicatedProcess() {
    std::vector<url::Origin> list;
  
@@ -17,7 +17,7 @@
  
 --- a/chrome/browser/extensions/chrome_content_verifier_delegate.cc
 +++ b/chrome/browser/extensions/chrome_content_verifier_delegate.cc
-@@ -284,17 +284,7 @@ bool ChromeContentVerifierDelegate::IsFr
+@@ -285,17 +285,7 @@ bool ChromeContentVerifierDelegate::IsFr
    // between which extensions are considered in-store.
    // See https://crbug.com/766806 for details.
    if (!InstallVerifier::IsFromStore(extension, context_)) {
@@ -78,7 +78,7 @@
  }  // namespace extensions
 --- a/extensions/browser/updater/extension_downloader.cc
 +++ b/extensions/browser/updater/extension_downloader.cc
-@@ -91,28 +91,19 @@ const char kNotFromWebstoreInstallSource
+@@ -92,28 +92,19 @@ const char kNotFromWebstoreInstallSource
  const char kDefaultInstallSource[] = "";
  const char kReinstallInstallSource[] = "reinstall";
  
@@ -109,7 +109,7 @@
  
  bool ShouldRetryRequest(const network::SimpleURLLoader* loader) {
    DCHECK(loader);
-@@ -168,7 +159,7 @@ std::optional<GURL> SanitizeUpdateURL(co
+@@ -169,7 +160,7 @@ std::optional<GURL> SanitizeUpdateURL(co
                                        const GURL& update_url) {
    if (update_url.is_empty()) {
      // Fill in default update URL.
@@ -118,7 +118,7 @@
    }
  
    // Skip extensions with non-empty invalid update URLs.
-@@ -186,11 +177,6 @@ std::optional<GURL> SanitizeUpdateURL(co
+@@ -187,11 +178,6 @@ std::optional<GURL> SanitizeUpdateURL(co
      return std::nullopt;
    }
  
@@ -130,7 +130,7 @@
  
    return update_url;
  }
-@@ -368,10 +354,6 @@ void ExtensionDownloader::DoStartAllPend
+@@ -369,10 +355,6 @@ void ExtensionDownloader::DoStartAllPend
      AddToFetches(fetches_preparing, std::move(task));
    pending_tasks_.clear();
  
@@ -141,7 +141,7 @@
  }
  
  void ExtensionDownloader::SetIdentityManager(
-@@ -832,20 +814,6 @@ void ExtensionDownloader::HandleManifest
+@@ -833,20 +815,6 @@ void ExtensionDownloader::HandleManifest
          update.second->info);
    }
  
@@ -162,7 +162,7 @@
    ExtensionIdSet extension_ids_with_errors;
    for (const auto& failure : failures)
      extension_ids_with_errors.insert(failure.first.id);
-@@ -1427,11 +1395,7 @@ bool ExtensionDownloader::IterateFetchCr
+@@ -1428,11 +1396,7 @@ bool ExtensionDownloader::IterateFetchCr
    // fetch.
    switch (fetch->credentials) {
      case ExtensionFetch::CREDENTIALS_NONE:

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

@@ -1,6 +1,6 @@
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -373,12 +373,7 @@ BASE_FEATURE(kDisruptiveNotificationPerm
+@@ -382,12 +382,7 @@ BASE_FEATURE(kDisruptiveNotificationPerm
  // Enable DNS over HTTPS (DoH).
  BASE_FEATURE(kDnsOverHttps,
               "DnsOverHttps",

+ 216 - 87
patches/core/ungoogled-chromium/fix-building-with-prunned-binaries.patch

@@ -3,7 +3,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -938,8 +938,6 @@ if (is_win) {
+@@ -929,8 +929,6 @@ if (is_win) {
  
    bundle_data("chrome_framework_resources") {
      sources = [
@@ -14,7 +14,7 @@
        # from disk image and Keystone promotion (if so enabled).  It
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -845,10 +845,6 @@ static_library("browser") {
+@@ -851,10 +851,6 @@ static_library("browser") {
      "navigation_predictor/navigation_predictor_metrics_document_data.h",
      "navigation_predictor/navigation_predictor_preconnect_client.cc",
      "navigation_predictor/navigation_predictor_preconnect_client.h",
@@ -25,6 +25,17 @@
      "navigation_predictor/search_engine_preconnector.cc",
      "navigation_predictor/search_engine_preconnector.h",
      "net/chrome_mojo_proxy_resolver_factory.cc",
+@@ -965,10 +961,6 @@ static_library("browser") {
+     "optimization_guide/chrome_prediction_model_store.h",
+     "optimization_guide/model_execution/chrome_on_device_model_service_controller.cc",
+     "optimization_guide/model_execution/chrome_on_device_model_service_controller.h",
+-    "optimization_guide/model_validator_keyed_service.cc",
+-    "optimization_guide/model_validator_keyed_service.h",
+-    "optimization_guide/model_validator_keyed_service_factory.cc",
+-    "optimization_guide/model_validator_keyed_service_factory.h",
+     "optimization_guide/optimization_guide_internals_ui.cc",
+     "optimization_guide/optimization_guide_internals_ui.h",
+     "optimization_guide/optimization_guide_keyed_service.cc",
 --- a/chrome/browser/navigation_predictor/navigation_predictor.cc
 +++ b/chrome/browser/navigation_predictor/navigation_predictor.cc
 @@ -17,8 +17,6 @@
@@ -36,7 +47,7 @@
  #include "chrome/browser/preloading/prefetch/no_state_prefetch/no_state_prefetch_manager_factory.h"
  #include "chrome/browser/preloading/preloading_prefs.h"
  #include "chrome/browser/profiles/profile.h"
-@@ -88,11 +86,6 @@ base::TimeDelta MLModelExecutionTimerSta
+@@ -93,11 +91,6 @@ base::TimeDelta MLModelExecutionTimerSta
    return base::Milliseconds(timer_start_delay);
  }
  
@@ -48,7 +59,7 @@
  
  }  // namespace
  
-@@ -309,69 +302,6 @@ void NavigationPredictor::ProcessPointer
+@@ -317,69 +310,6 @@ void NavigationPredictor::ProcessPointer
  }
  
  void NavigationPredictor::OnMLModelExecutionTimerFired() {
@@ -118,73 +129,6 @@
  }
  
  void NavigationPredictor::SetModelScoreCallbackForTesting(
---- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
-+++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
-@@ -33,39 +33,6 @@ namespace optimization_guide {
- 
- ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
-     : profile_(profile) {
--  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
--  DCHECK(ShouldStartModelValidator());
--  auto* opt_guide_service =
--      OptimizationGuideKeyedServiceFactory::GetForProfile(profile);
--  if (!opt_guide_service) {
--    return;
--  }
--#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
--  if (switches::ShouldValidateModel()) {
--    // Create the validator object which will get destroyed when the model
--    // load is complete.
--    new ModelValidatorHandler(
--        opt_guide_service,
--        base::ThreadPool::CreateSequencedTaskRunner(
--            {base::MayBlock(), base::TaskPriority::BEST_EFFORT}));
--  }
--#endif  // BUILD_WITH_TFLITE_LIB
--  if (switches::ShouldValidateModelExecution()) {
--    auto* identity_manager = IdentityManagerFactory::GetForProfile(profile_);
--    if (!identity_manager) {
--      return;
--    }
--    if (!identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSignin)) {
--      identity_manager_observation_.Observe(identity_manager);
--      return;
--    }
--    base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
--        FROM_HERE,
--        base::BindOnce(
--            &ModelValidatorKeyedService::StartModelExecutionValidation,
--            weak_ptr_factory_.GetWeakPtr()),
--        kModelExecutionValidationStartupDelay);
--  }
- }
- 
- ModelValidatorKeyedService::~ModelValidatorKeyedService() = default;
-@@ -92,24 +59,6 @@ void ModelValidatorKeyedService::OnPrima
- }
- 
- void ModelValidatorKeyedService::StartModelExecutionValidation() {
--  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
--  auto* opt_guide_service =
--      OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
--  if (!opt_guide_service) {
--    return;
--  }
--  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
--  std::string model_execution_input =
--      command_line->GetSwitchValueASCII(switches::kModelExecutionValidate);
--  if (model_execution_input.empty()) {
--    return;
--  }
--  proto::StringValue request;
--  request.set_value(model_execution_input);
--  opt_guide_service->ExecuteModel(
--      proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_TEST, request,
--      base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
--                     weak_ptr_factory_.GetWeakPtr()));
- }
- 
- void ModelValidatorKeyedService::OnModelExecuteResponse(
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 @@ -92,7 +92,6 @@
@@ -195,7 +139,7 @@
  #include "chrome/browser/net/dns_probe_service_factory.h"
  #include "chrome/browser/net/profile_network_context_service_factory.h"
  #include "chrome/browser/notifications/metrics/notification_metrics_logger_factory.h"
-@@ -917,7 +916,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -919,7 +918,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #endif
    ModelTypeStoreServiceFactory::GetInstance();
    NavigationPredictorKeyedServiceFactory::GetInstance();
@@ -203,6 +147,16 @@
  #if BUILDFLAG(IS_CHROMEOS_ASH)
    NearbySharingServiceFactory::GetInstance();
    if (base::FeatureList::IsEnabled(ash::features::kNearbyPresence)) {
+@@ -966,9 +964,6 @@ void ChromeBrowserMainExtraPartsProfiles
+   }
+ #endif
+   OpenerHeuristicServiceFactory::GetInstance();
+-  if (optimization_guide::ShouldStartModelValidator()) {
+-    optimization_guide::ModelValidatorKeyedServiceFactory::GetInstance();
+-  }
+   OptimizationGuideKeyedServiceFactory::GetInstance();
+   OriginKeyedPermissionActionServiceFactory::GetInstance();
+   OriginTrialsFactory::GetInstance();
 --- a/chrome/browser/profiles/profile_manager.cc
 +++ b/chrome/browser/profiles/profile_manager.cc
 @@ -48,7 +48,6 @@
@@ -213,9 +167,9 @@
  #include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
  #include "chrome/browser/prefs/incognito_mode_prefs.h"
  #include "chrome/browser/profiles/delete_profile_helper.h"
-@@ -1566,9 +1565,6 @@ void ProfileManager::DoFinalInitForServi
-   }
- #endif  // !BUILDFLAG(IS_ANDROID)
+@@ -1550,9 +1549,6 @@ void ProfileManager::DoFinalInitForServi
+   // Ensure NavigationPredictorKeyedService is started.
+   NavigationPredictorKeyedServiceFactory::GetForProfile(profile);
  
 -  // Ensure PreloadingModelKeyedService is started.
 -  PreloadingModelKeyedServiceFactory::GetForProfile(profile);
@@ -223,6 +177,17 @@
    IdentityManagerFactory::GetForProfile(profile)->OnNetworkInitialized();
    AccountReconcilorFactory::GetForProfile(profile);
  
+--- a/chrome/browser/resources/settings/a11y_page/a11y_page.ts
++++ b/chrome/browser/resources/settings/a11y_page/a11y_page.ts
+@@ -231,7 +231,7 @@ export class SettingsA11yPageElement ext
+    * page; i.e. Settings > Accessibility > Text-to-Speech.
+    */
+   private computeShowPdfOcrToggle_(): boolean {
+-    return loadTimeData.getBoolean('pdfOcrEnabled') && this.hasScreenReader_;
++    return false;
+   }
+   // </if>
+ 
 --- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
 +++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
 @@ -39,7 +39,6 @@
@@ -233,7 +198,7 @@
  #include "components/omnibox/browser/omnibox_field_trial.h"
  #include "components/search_engines/template_url.h"
  #include "content/public/browser/web_ui.h"
-@@ -500,31 +499,12 @@ void OmniboxPageHandler::StartOmniboxQue
+@@ -498,31 +497,12 @@ void OmniboxPageHandler::StartOmniboxQue
  }
  
  void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
@@ -265,7 +230,7 @@
  }
  
  std::unique_ptr<AutocompleteController> OmniboxPageHandler::CreateController(
-@@ -549,8 +529,5 @@ OmniboxPageHandler::GetAutocompleteContr
+@@ -547,8 +527,5 @@ OmniboxPageHandler::GetAutocompleteContr
  }
  
  AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
@@ -275,17 +240,163 @@
 -             : nullptr;
 +  return nullptr;
  }
+--- a/chrome/browser/ui/webui/settings/accessibility_main_handler.cc
++++ b/chrome/browser/ui/webui/settings/accessibility_main_handler.cc
+@@ -39,13 +39,6 @@ void AccessibilityMainHandler::RegisterM
+       base::BindRepeating(
+           &AccessibilityMainHandler::HandleCheckAccessibilityImageLabels,
+           base::Unretained(this)));
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-  web_ui()->RegisterMessageCallback(
+-      "getScreenAiInstallState",
+-      base::BindRepeating(
+-          &AccessibilityMainHandler::HandleGetScreenAIInstallState,
+-          base::Unretained(this)));
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ }
+ 
+ void AccessibilityMainHandler::OnJavascriptAllowed() {
+@@ -56,13 +49,6 @@ void AccessibilityMainHandler::OnJavascr
+           base::Unretained(this)));
+ #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+ 
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-  if (features::IsPdfOcrEnabled()) {
+-    CHECK(!component_ready_observer_.IsObserving());
+-    component_ready_observer_.Observe(
+-        screen_ai::ScreenAIInstallState::GetInstance());
+-  }
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ }
+ 
+ void AccessibilityMainHandler::OnJavascriptDisallowed() {
+@@ -70,40 +56,7 @@ void AccessibilityMainHandler::OnJavascr
+   accessibility_subscription_ = {};
+ #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+ 
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-  if (features::IsPdfOcrEnabled()) {
+-    component_ready_observer_.Reset();
+-  }
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-}
+-
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-void AccessibilityMainHandler::DownloadProgressChanged(double progress) {
+-  CHECK_GE(progress, 0.0);
+-  CHECK_LE(progress, 1.0);
+-  const int progress_num = progress * 100;
+-  FireWebUIListener("pdf-ocr-downloading-progress-changed",
+-                    base::Value(progress_num));
+-}
+-
+-void AccessibilityMainHandler::StateChanged(
+-    screen_ai::ScreenAIInstallState::State state) {
+-  base::Value state_value = base::Value(static_cast<int>(state));
+-  FireWebUIListener("pdf-ocr-state-changed", state_value);
+-}
+-
+-void AccessibilityMainHandler::HandleGetScreenAIInstallState(
+-    const base::Value::List& args) {
+-  CHECK_EQ(1U, args.size());
+-  const base::Value& callback_id = args[0];
+-  AllowJavascript();
+-  // Get the current install state and send it back to a UI callback.
+-  screen_ai::ScreenAIInstallState::State current_install_state =
+-      screen_ai::ScreenAIInstallState::GetInstance()->get_state();
+-  ResolveJavascriptCallback(
+-      callback_id, base::Value(static_cast<int>(current_install_state)));
+ }
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ 
+ void AccessibilityMainHandler::HandleGetScreenReaderState(
+     const base::Value::List& args) {
+--- a/chrome/browser/ui/webui/settings/accessibility_main_handler.h
++++ b/chrome/browser/ui/webui/settings/accessibility_main_handler.h
+@@ -13,10 +13,6 @@
+ #include "chrome/browser/ash/accessibility/accessibility_manager.h"
+ #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+ 
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-#include "base/scoped_observation.h"
+-#include "chrome/browser/screen_ai/screen_ai_install_state.h"
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ 
+ namespace settings {
+ 
+@@ -24,10 +20,6 @@ namespace settings {
+ // chrome://settings/accessibility.
+ class AccessibilityMainHandler
+     : public ::settings::SettingsPageUIHandler
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-    ,
+-      public screen_ai::ScreenAIInstallState::Observer
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ {
+  public:
+   AccessibilityMainHandler();
+@@ -40,11 +32,6 @@ class AccessibilityMainHandler
+   void OnJavascriptAllowed() override;
+   void OnJavascriptDisallowed() override;
+ 
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-  // screen_ai::ScreenAIInstallState::Observer:
+-  void DownloadProgressChanged(double progress) override;
+-  void StateChanged(screen_ai::ScreenAIInstallState::State state) override;
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ 
+  private:
+   void HandleGetScreenReaderState(const base::Value::List& args);
+@@ -63,11 +50,6 @@ class AccessibilityMainHandler
+   base::CallbackListSubscription accessibility_subscription_;
+ #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+ 
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+-  base::ScopedObservation<screen_ai::ScreenAIInstallState,
+-                          screen_ai::ScreenAIInstallState::Observer>
+-      component_ready_observer_{this};
+-#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ };
+ 
+ }  // namespace settings
+--- a/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_page_handler.cc
++++ b/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_page_handler.cc
+@@ -15,8 +15,6 @@
+ #include "base/values.h"
+ #include "chrome/browser/browser_features.h"
+ #include "chrome/browser/profiles/profile.h"
+-#include "chrome/browser/screen_ai/screen_ai_service_router.h"
+-#include "chrome/browser/screen_ai/screen_ai_service_router_factory.h"
+ #include "chrome/browser/ui/browser.h"
+ #include "chrome/browser/ui/browser_finder.h"
+ #include "chrome/browser/ui/views/side_panel/read_anything/read_anything_controller.h"
+@@ -204,15 +202,6 @@ ReadAnythingUntrustedPageHandler::ReadAn
+         highlightGranularity);
+   }
+ 
+-  if (features::IsReadAnythingWithScreen2xEnabled()) {
+-    screen_ai::ScreenAIServiceRouterFactory::GetForBrowserContext(
+-        browser_->profile())
+-        ->GetServiceStateAsync(
+-            screen_ai::ScreenAIServiceRouter::Service::kMainContentExtraction,
+-            base::BindOnce(
+-                &ReadAnythingUntrustedPageHandler::OnScreenAIServiceInitialized,
+-                weak_factory_.GetWeakPtr()));
+-  }
+ 
+   OnActiveWebContentsChanged();
+ }
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -3114,13 +3114,6 @@ if (!is_android && !is_fuchsia) {
+@@ -3107,13 +3107,6 @@ if (!is_android) {
          "//pdf/loader",
        ]
  
--      if (is_linux) {
--        # Add a data dependency for pdf_extension_accessibility_test.cc to
--        # notify testing builders that this test needs this library, which will
--        # need to be downloaded from CIPD as defined in //DEPS.
--        data_deps += [ "//third_party/screen-ai:screen_ai_linux" ]
+-      # Add a data dependency for pdf_extension_accessibility_test.cc to notify
+-      # testing builders that this test needs this library, which will need to
+-      # be downloaded from CIPD as defined in //DEPS.
+-      if (is_linux || is_mac) {
+-        data_deps += [ "//third_party/screen-ai:screen_ai" ]
 -      }
 -
        if (enable_printing) {
@@ -293,7 +404,7 @@
  
 --- a/chrome/test/chromedriver/BUILD.gn
 +++ b/chrome/test/chromedriver/BUILD.gn
-@@ -397,7 +397,7 @@ source_set("lib") {
+@@ -398,7 +398,7 @@ source_set("lib") {
    }
  }
  
@@ -325,14 +436,32 @@
    AutocompleteInput input(text, page_classification, *scheme_classifier_);
 --- a/components/omnibox/browser/autocomplete_controller.cc
 +++ b/components/omnibox/browser/autocomplete_controller.cc
-@@ -43,7 +43,6 @@
- #include "components/omnibox/browser/autocomplete_input.h"
+@@ -46,7 +46,6 @@
  #include "components/omnibox/browser/autocomplete_match_type.h"
  #include "components/omnibox/browser/autocomplete_provider.h"
+ #include "components/omnibox/browser/autocomplete_provider_client.h"
 -#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
  #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
  #include "components/omnibox/browser/bookmark_provider.h"
  #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
+--- a/components/services/screen_ai/buildflags/features.gni
++++ b/components/services/screen_ai/buildflags/features.gni
+@@ -8,12 +8,12 @@ import("//build/config/sanitizers/saniti
+ 
+ declare_args() {
+   # Screen AI service is only supported on desktop platforms.
+-  enable_screen_ai_service = is_linux || is_mac || is_chromeos || is_win
++  enable_screen_ai_service = false
+ 
+   # Screen AI library is not yet available for browser tests on Windows and
+   #  ChromeOS.
+-  enable_screen_ai_browsertests = is_linux || is_mac
++  enable_screen_ai_browsertests = false
+ 
+   # Screen AI library is not available for MSAN and UBSAN.
+-  use_fake_screen_ai = is_msan || is_ubsan || is_ubsan_vptr || is_ubsan_security
++  use_fake_screen_ai = false
+ }
 --- a/components/update_client/BUILD.gn
 +++ b/components/update_client/BUILD.gn
 @@ -312,8 +312,6 @@ source_set("unit_tests") {
@@ -346,7 +475,7 @@
  fuzzer_test("update_client_protocol_serializer_fuzzer") {
 --- a/content/shell/BUILD.gn
 +++ b/content/shell/BUILD.gn
-@@ -739,10 +739,6 @@ if (is_apple) {
+@@ -736,10 +736,6 @@ if (is_apple) {
        deps = [ "//third_party/icu:icudata" ]
      }
  

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -625,8 +625,6 @@ static_library("browser") {
+@@ -631,8 +631,6 @@ static_library("browser") {
      "internal_auth.h",
      "interstitials/chrome_settings_page_helper.cc",
      "interstitials/chrome_settings_page_helper.h",
@@ -11,7 +11,7 @@
      "invalidation/profile_invalidation_provider_factory.cc",
      "invalidation/profile_invalidation_provider_factory.h",
      "ip_protection/ip_protection_config_http.cc",
-@@ -3764,9 +3762,6 @@ static_library("browser") {
+@@ -3779,9 +3777,6 @@ static_library("browser") {
        "enterprise/connectors/analysis/analysis_service_settings.h",
        "enterprise/connectors/analysis/analysis_settings.cc",
        "enterprise/connectors/analysis/analysis_settings.h",
@@ -21,7 +21,7 @@
        "enterprise/connectors/analysis/content_analysis_dialog.cc",
        "enterprise/connectors/analysis/content_analysis_dialog.h",
        "enterprise/connectors/analysis/content_analysis_downloads_delegate.cc",
-@@ -4073,10 +4068,6 @@ static_library("browser") {
+@@ -4088,10 +4083,6 @@ static_library("browser") {
        "new_tab_page/modules/recipes/recipes_service_factory.h",
        "new_tab_page/modules/recipes/time_format_util.cc",
        "new_tab_page/modules/recipes/time_format_util.h",
@@ -32,7 +32,7 @@
        "new_tab_page/modules/v2/history_clusters/history_clusters_page_handler_v2.cc",
        "new_tab_page/modules/v2/history_clusters/history_clusters_page_handler_v2.h",
        "new_tab_page/modules/v2/tab_resumption/tab_resumption_page_handler.cc",
-@@ -4554,7 +4545,6 @@ static_library("browser") {
+@@ -4569,7 +4560,6 @@ static_library("browser") {
        "//chrome/browser/new_tab_page/modules/history_clusters/discount:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/photos:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/recipes:mojo_bindings",
@@ -40,7 +40,7 @@
        "//chrome/browser/new_tab_page/modules/v2/history_clusters:mojo_bindings",
        "//chrome/browser/new_tab_page/modules/v2/tab_resumption:mojo_bindings",
        "//chrome/browser/policy:path_parser",
-@@ -6364,10 +6354,6 @@ static_library("browser") {
+@@ -6392,10 +6382,6 @@ static_library("browser") {
      sources += [
        "enterprise/chrome_browser_main_extra_parts_enterprise.cc",
        "enterprise/chrome_browser_main_extra_parts_enterprise.h",
@@ -51,7 +51,7 @@
        "enterprise/connectors/device_trust/attestation/browser/attestation_switches.cc",
        "enterprise/connectors/device_trust/attestation/browser/attestation_switches.h",
        "enterprise/connectors/device_trust/attestation/browser/attester.h",
-@@ -7962,9 +7948,14 @@ static_library("browser") {
+@@ -7948,9 +7934,14 @@ static_library("browser") {
        "//components/safe_browsing/content/browser:safe_browsing_blocking_page",
        "//components/safe_browsing/content/browser/download:download_stats",
        "//components/safe_browsing/content/common:file_type_policies",
@@ -69,7 +69,7 @@
      sources += [
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5067,11 +5067,13 @@ ChromeContentBrowserClient::CreateThrott
+@@ -5076,11 +5076,13 @@ ChromeContentBrowserClient::CreateThrott
        &throttles);
  #endif
  
@@ -83,7 +83,7 @@
  
  #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
    MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
-@@ -6872,26 +6874,7 @@ ChromeContentBrowserClient::GetSafeBrows
+@@ -6903,26 +6905,7 @@ ChromeContentBrowserClient::GetSafeBrows
            ? content::BrowserThread::UI
            : content::BrowserThread::IO);
  
@@ -111,7 +111,7 @@
  }
  
  safe_browsing::RealTimeUrlLookupServiceBase*
-@@ -6912,11 +6895,6 @@ ChromeContentBrowserClient::GetUrlLookup
+@@ -6943,11 +6926,6 @@ ChromeContentBrowserClient::GetUrlLookup
          GetForProfile(profile);
    }
  #endif
@@ -123,7 +123,7 @@
    return nullptr;
  }
  
-@@ -6928,32 +6906,7 @@ ChromeContentBrowserClient::GetAsyncChec
+@@ -6959,32 +6937,7 @@ ChromeContentBrowserClient::GetAsyncChec
      safe_browsing::hash_realtime_utils::HashRealTimeSelection
          hash_realtime_selection,
      int frame_tree_node_id) {
@@ -198,7 +198,7 @@
        RetryDownload(model.get(), command);
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -147,7 +147,6 @@ using content::DownloadManager;
+@@ -148,7 +148,6 @@ using content::DownloadManager;
  using download::DownloadItem;
  using download::DownloadPathReservationTracker;
  using download::PathValidationResult;
@@ -206,7 +206,7 @@
  using ConnectionType = net::NetworkChangeNotifier::ConnectionType;
  
  #if BUILDFLAG(FULL_SAFE_BROWSING)
-@@ -629,15 +628,6 @@ bool ChromeDownloadManagerDelegate::Shou
+@@ -642,15 +641,6 @@ bool ChromeDownloadManagerDelegate::Shou
  #endif
  
    bool should_open = download_prefs_->IsAutoOpenEnabled(url, path);
@@ -222,7 +222,7 @@
  
    return should_open;
  }
-@@ -1594,7 +1584,6 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -1607,7 +1597,6 @@ void ChromeDownloadManagerDelegate::OnDo
      DownloadItemModel model(item);
      model.DetermineAndSetShouldPreferOpeningInBrowser(
          target_info.target_path, target_info.is_filetype_handled_safely);
@@ -230,7 +230,7 @@
    }
    if (ShouldBlockFile(item, target_info.danger_type)) {
      MaybeReportDangerousDownloadBlocked(
-@@ -1675,59 +1664,6 @@ bool ChromeDownloadManagerDelegate::IsOp
+@@ -1688,59 +1677,6 @@ bool ChromeDownloadManagerDelegate::IsOp
  bool ChromeDownloadManagerDelegate::ShouldBlockFile(
      download::DownloadItem* item,
      download::DownloadDangerType danger_type) const {
@@ -290,7 +290,7 @@
  
    return false;
  }
-@@ -1742,7 +1678,6 @@ void ChromeDownloadManagerDelegate::Mayb
+@@ -1755,7 +1691,6 @@ void ChromeDownloadManagerDelegate::Mayb
      service->MaybeSendDangerousDownloadOpenedReport(download,
                                                      show_download_in_folder);
    }
@@ -298,7 +298,7 @@
    if (!download->GetAutoOpened()) {
      download::DownloadContent download_content =
          download::DownloadContentFromMimeType(download->GetMimeType(), false);
-@@ -1750,6 +1685,7 @@ void ChromeDownloadManagerDelegate::Mayb
+@@ -1763,6 +1698,7 @@ void ChromeDownloadManagerDelegate::Mayb
          download->GetDangerType(), download_content, base::Time::Now(),
          download->GetEndTime(), show_download_in_folder);
    }
@@ -306,7 +306,7 @@
  }
  
  void ChromeDownloadManagerDelegate::CheckDownloadAllowed(
-@@ -1807,8 +1743,7 @@ void ChromeDownloadManagerDelegate::Chec
+@@ -1820,8 +1756,7 @@ void ChromeDownloadManagerDelegate::Chec
    DCHECK(download_item);
    DCHECK(download_item->IsSavePackageDownload());
  
@@ -318,47 +318,7 @@
  
 --- a/chrome/browser/download/download_item_model.cc
 +++ b/chrome/browser/download/download_item_model.cc
-@@ -905,70 +905,10 @@ void DownloadItemModel::ExecuteCommand(D
- DownloadItemModel::BubbleUIInfo
- DownloadItemModel::GetBubbleUIInfoForTailoredWarning(
-     TailoredWarningType tailored_warning_type) const {
--  switch (tailored_warning_type) {
--    case TailoredWarningType::kSuspiciousArchive:
--      return DownloadUIModel::BubbleUIInfo::SuspiciousUiPattern(
--          l10n_util::GetStringUTF16(
--              IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_ARCHIVE_MALWARE),
--          l10n_util::GetStringUTF16(
--              IDS_DOWNLOAD_BUBBLE_CONTINUE_SUSPICIOUS_FILE));
--    case TailoredWarningType::kCookieTheft:
--      return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
--          l10n_util::GetStringUTF16(
--              IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_COOKIE_THEFT));
--    case TailoredWarningType::kCookieTheftWithAccountInfo: {
--      auto* identity_manager = IdentityManagerFactory::GetForProfile(profile());
--      std::string email =
--          identity_manager
--              ? identity_manager
--                    ->GetPrimaryAccountInfo(signin::ConsentLevel::kSignin)
--                    .email
--              : "";
--      base::UmaHistogramBoolean(
--          "SBClientDownload.TailoredWarning.HasVaidEmailForAccountInfo",
--          !email.empty());
--      if (!email.empty()) {
--        return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
--            l10n_util::GetStringFUTF16(
--                IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_COOKIE_THEFT_AND_ACCOUNT,
--                base::ASCIIToUTF16(email)));
--      }
--      return DownloadUIModel::BubbleUIInfo::DangerousUiPattern(
--          l10n_util::GetStringUTF16(
--              IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_WARNING_COOKIE_THEFT));
--    }
--    case TailoredWarningType::kNoTailoredWarning: {
--      NOTREACHED();
-       return DownloadUIModel::BubbleUIInfo();
--    }
--  }
+@@ -903,30 +903,6 @@ void DownloadItemModel::ExecuteCommand(D
  }
  
  TailoredWarningType DownloadItemModel::GetTailoredWarningType() const {
@@ -457,7 +417,7 @@
  #if BUILDFLAG(FULL_SAFE_BROWSING)
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
-@@ -37,7 +37,6 @@
+@@ -38,7 +38,6 @@
  #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
  #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
  #include "chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.h"
@@ -467,7 +427,7 @@
  #include "components/enterprise/common/proto/connectors.pb.h"
 --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc
 +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc
-@@ -90,7 +90,7 @@ std::optional<GURL> ContentAnalysisDownl
+@@ -119,7 +119,7 @@ ContentAnalysisDownloadsDelegate::GetCus
  }
  
  bool ContentAnalysisDownloadsDelegate::BypassRequiresJustification() const {
@@ -597,6 +557,16 @@
    // Returns the CBCM domain or profile domain that enables connector policies.
    // If both set Connector policies, the CBCM domain is returned as it has
    // precedence.
+--- a/chrome/browser/enterprise/connectors/device_trust/key_management/core/network/BUILD.gn
++++ b/chrome/browser/enterprise/connectors/device_trust/key_management/core/network/BUILD.gn
+@@ -35,7 +35,6 @@ source_set("network") {
+   public_deps = [
+     ":common",
+     "//base",
+-    "//components/enterprise/client_certificates/core",
+     "//net",
+     "//url",
+   ]
 --- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/context_signals_decorator.cc
 +++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/context_signals_decorator.cc
 @@ -26,25 +26,6 @@ enum class PasswordProtectionTrigger {
@@ -877,9 +847,20 @@
    info.browser_version = std::move(signals.browser_version);
    info.built_in_dns_client_enabled = signals.built_in_dns_client_enabled;
    info.enterprise_profile_id = signals.enterprise_profile_id;
+--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
++++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
+@@ -342,8 +342,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+       settings_api::PrefType::kBoolean;
+   (*s_allowlist)[::kGeneratedHttpsFirstModePref] =
+       settings_api::PrefType::kNumber;
+-  (*s_allowlist)[::prefs::kSafeBrowsingEsbOptInWithFriendlierSettings] =
+-      settings_api::PrefType::kBoolean;
+ 
+   // Tracking protection page
+   (*s_allowlist)[::prefs::kCookieControlsMode] =
 --- a/chrome/browser/extensions/api/tabs/tabs_api.cc
 +++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
-@@ -420,23 +420,6 @@ void NotifyExtensionTelemetry(Profile* p
+@@ -427,29 +427,6 @@ void NotifyExtensionTelemetry(Profile* p
                                safe_browsing::TabsApiInfo::ApiMethod api_method,
                                const std::string& current_url,
                                const std::string& new_url) {
@@ -897,6 +878,12 @@
 -    return;
 -  }
 -
+-  if (api_method == safe_browsing::TabsApiInfo::CAPTURE_VISIBLE_TAB &&
+-      !base::FeatureList::IsEnabled(
+-          safe_browsing::kExtensionTelemetryTabsApiSignalCaptureVisibleTab)) {
+-    return;
+-  }
+-
 -  auto tabs_api_signal = std::make_unique<safe_browsing::TabsApiSignal>(
 -      extension->id(), api_method, current_url, new_url);
 -  extension_telemetry_service->AddSignal(std::move(tabs_api_signal));
@@ -905,8 +892,8 @@
  }  // namespace
 --- a/chrome/browser/extensions/blocklist.cc
 +++ b/chrome/browser/extensions/blocklist.cc
-@@ -203,20 +203,8 @@ Blocklist* Blocklist::Get(content::Brows
- void Blocklist::GetBlocklistedIDs(const std::set<std::string>& ids,
+@@ -204,20 +204,8 @@ Blocklist* Blocklist::Get(content::Brows
+ void Blocklist::GetBlocklistedIDs(const std::set<ExtensionId>& ids,
                                    GetBlocklistedIDsCallback callback) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 -
@@ -925,10 +912,10 @@
 -                          weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
  }
  
- void Blocklist::GetMalwareIDs(const std::set<std::string>& ids,
+ void Blocklist::GetMalwareIDs(const std::set<ExtensionId>& ids,
 --- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
 +++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
-@@ -748,81 +748,23 @@ void ChromeExtensionsBrowserClient::Noti
+@@ -749,81 +749,23 @@ void ChromeExtensionsBrowserClient::Noti
      content::BrowserContext* context,
      const ExtensionId& extension_id,
      const std::string& code) const {
@@ -1011,7 +998,7 @@
  }
  
  // static
-@@ -991,7 +933,6 @@ void ChromeExtensionsBrowserClient::GetW
+@@ -992,7 +934,6 @@ void ChromeExtensionsBrowserClient::GetW
  
  void ChromeExtensionsBrowserClient::CreatePasswordReuseDetectionManager(
      content::WebContents* web_contents) const {
@@ -1029,7 +1016,7 @@
  #include "chrome/browser/extensions/pending_extension_manager.h"
  #include "chrome/browser/extensions/permissions_updater.h"
  #include "chrome/browser/extensions/profile_util.h"
-@@ -234,7 +233,6 @@ void ExtensionService::BlocklistExtensio
+@@ -233,7 +232,6 @@ void ExtensionService::BlocklistExtensio
    blocklist_prefs::SetSafeBrowsingExtensionBlocklistState(
        extension_id, BitMapBlocklistState::BLOCKLISTED_MALWARE,
        extension_prefs_);
@@ -1037,7 +1024,7 @@
  }
  
  bool ExtensionService::OnExternalExtensionUpdateUrlFound(
-@@ -402,9 +400,6 @@ ExtensionService::ExtensionService(
+@@ -401,9 +399,6 @@ ExtensionService::ExtensionService(
        safe_browsing_verdict_handler_(extension_prefs,
                                       ExtensionRegistry::Get(profile),
                                       this),
@@ -1047,7 +1034,7 @@
        extension_telemetry_service_verdict_handler_(
            extension_prefs,
            ExtensionRegistry::Get(profile),
-@@ -937,17 +932,6 @@ bool ExtensionService::IsExtensionEnable
+@@ -936,17 +931,6 @@ bool ExtensionService::IsExtensionEnable
    return extension_registrar_.IsExtensionEnabled(extension_id);
  }
  
@@ -1065,7 +1052,7 @@
  void ExtensionService::PerformActionBasedOnExtensionTelemetryServiceVerdicts(
      const Blocklist::BlocklistStateMap& blocklist_state_map) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
-@@ -957,89 +941,6 @@ void ExtensionService::PerformActionBase
+@@ -956,89 +940,6 @@ void ExtensionService::PerformActionBase
    error_controller_->ShowErrorIfNeeded();
  }
  
@@ -1391,7 +1378,7 @@
  }
  
  }  // namespace
-@@ -1588,29 +1499,6 @@ void ChromeFileSystemAccessPermissionCon
+@@ -1591,29 +1502,6 @@ void ChromeFileSystemAccessPermissionCon
        std::move(callback));
  }
  
@@ -1478,7 +1465,7 @@
          NotificationHandler::Type::EXTENSION,
 --- a/chrome/browser/password_manager/chrome_password_manager_client.cc
 +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -35,7 +35,6 @@
+@@ -36,7 +36,6 @@
  #include "chrome/browser/password_manager/profile_password_store_factory.h"
  #include "chrome/browser/profiles/profile.h"
  #include "chrome/browser/profiles/profile_manager.h"
@@ -1486,7 +1473,7 @@
  #include "chrome/browser/safe_browsing/user_interaction_observer.h"
  #include "chrome/browser/signin/identity_manager_factory.h"
  #include "chrome/browser/sync/sync_service_factory.h"
-@@ -881,6 +880,7 @@ autofill::LanguageCode ChromePasswordMan
+@@ -878,6 +877,7 @@ autofill::LanguageCode ChromePasswordMan
    return autofill::LanguageCode();
  }
  
@@ -1494,7 +1481,7 @@
  safe_browsing::PasswordProtectionService*
  ChromePasswordManagerClient::GetPasswordProtectionService() const {
    return safe_browsing::ChromePasswordProtectionService::
-@@ -900,6 +900,7 @@ void ChromePasswordManagerClient::CheckS
+@@ -897,6 +897,7 @@ void ChromePasswordManagerClient::CheckS
    }
  }
  #endif  // defined(ON_FOCUS_PING_ENABLED)
@@ -1502,7 +1489,7 @@
  
  #if !BUILDFLAG(IS_ANDROID)
  void ChromePasswordManagerClient::MaybeReportEnterpriseLoginEvent(
-@@ -907,28 +908,10 @@ void ChromePasswordManagerClient::MaybeR
+@@ -904,28 +905,10 @@ void ChromePasswordManagerClient::MaybeR
      bool is_federated,
      const url::Origin& federated_origin,
      const std::u16string& login_user_name) const {
@@ -1531,7 +1518,7 @@
  }
  #endif
  
-@@ -1543,6 +1526,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1538,6 +1521,7 @@ bool ChromePasswordManagerClient::IsPass
      is_enabled = false;
    }
  
@@ -1539,7 +1526,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
-@@ -1553,6 +1537,7 @@ bool ChromePasswordManagerClient::IsPass
+@@ -1548,6 +1532,7 @@ bool ChromePasswordManagerClient::IsPass
      observer->OnPasswordSaveOrAutofillDenied();
      is_enabled = false;
    }
@@ -1565,6 +1552,25 @@
  
    // Reporting these events is only supported on desktop platforms.
  #if !BUILDFLAG(IS_ANDROID)
+--- a/chrome/browser/permissions/chrome_permissions_client.cc
++++ b/chrome/browser/permissions/chrome_permissions_client.cc
+@@ -393,16 +393,6 @@ void ChromePermissionsClient::OnPromptRe
+       PermissionRevocationRequest::ExemptOriginFromFutureRevocations(profile,
+                                                                      origin);
+     }
+-    if (action == permissions::PermissionAction::GRANTED) {
+-      if (g_browser_process->safe_browsing_service()) {
+-        g_browser_process->safe_browsing_service()
+-            ->MaybeSendNotificationsAcceptedReport(
+-                web_contents->GetPrimaryMainFrame(), profile,
+-                web_contents->GetLastCommittedURL(),
+-                web_contents->GetController().GetLastCommittedEntry()->GetURL(),
+-                origin, prompt_display_duration);
+-      }
+-    }
+   }
+ 
+   auto content_setting_type = RequestTypeToContentSettingsType(request_type);
 --- a/chrome/browser/permissions/contextual_notification_permission_ui_selector.cc
 +++ b/chrome/browser/permissions/contextual_notification_permission_ui_selector.cc
 @@ -16,7 +16,6 @@
@@ -1733,7 +1739,7 @@
  }
 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
 +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -104,6 +104,7 @@
+@@ -105,6 +105,7 @@
  #include "components/policy/policy_constants.h"
  #include "components/privacy_sandbox/privacy_sandbox_prefs.h"
  #include "components/proxy_config/proxy_policy_handler.h"
@@ -1741,7 +1747,7 @@
  #include "components/safe_browsing/content/common/file_type_policies_prefs.h"
  #include "components/safe_browsing/core/common/safe_browsing_policy_handler.h"
  #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
-@@ -2154,8 +2155,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -2204,8 +2205,6 @@ std::unique_ptr<ConfigurationPolicyHandl
    handlers->AddHandler(
        std::make_unique<bookmarks::ManagedBookmarksPolicyHandler>(
            chrome_schema));
@@ -1750,7 +1756,7 @@
    handlers->AddHandler(std::make_unique<syncer::SyncPolicyHandler>());
    handlers->AddHandler(
        std::make_unique<URLBlocklistPolicyHandler>(key::kURLBlocklist));
-@@ -2235,20 +2234,6 @@ std::unique_ptr<ConfigurationPolicyHandl
+@@ -2290,20 +2289,6 @@ std::unique_ptr<ConfigurationPolicyHandl
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode,
            prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckScope, chrome_schema));
  
@@ -1773,25 +1779,25 @@
  
 --- a/chrome/browser/prefs/browser_prefs.cc
 +++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -280,7 +280,6 @@
+@@ -281,7 +281,6 @@
  #include "chrome/browser/new_tab_page/modules/drive/drive_service.h"
  #include "chrome/browser/new_tab_page/modules/photos/photos_service.h"
  #include "chrome/browser/new_tab_page/modules/recipes/recipes_service.h"
 -#include "chrome/browser/new_tab_page/modules/safe_browsing/safe_browsing_handler.h"
+ #include "chrome/browser/new_tab_page/modules/v2/tab_resumption/tab_resumption_page_handler.h"
  #include "chrome/browser/new_tab_page/promos/promo_service.h"
  #include "chrome/browser/policy/developer_tools_policy_handler.h"
- #include "chrome/browser/search/background/ntp_custom_background_service.h"
-@@ -1837,7 +1836,6 @@ void RegisterProfilePrefs(user_prefs::Pr
+@@ -1879,7 +1878,6 @@ void RegisterProfilePrefs(user_prefs::Pr
+   media_router::RegisterProfilePrefs(registry);
    NewTabPageHandler::RegisterProfilePrefs(registry);
    NewTabPageUI::RegisterProfilePrefs(registry);
-   NewTabUI::RegisterProfilePrefs(registry);
 -  ntp::SafeBrowsingHandler::RegisterProfilePrefs(registry);
    ntp_tiles::CustomLinksManagerImpl::RegisterProfilePrefs(registry);
    PhotosService::RegisterProfilePrefs(registry);
    PinnedTabCodec::RegisterProfilePrefs(registry);
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -768,9 +768,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -770,9 +770,6 @@ void ChromeBrowserMainExtraPartsProfiles
    enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance();
    enterprise_connectors::DeviceTrustServiceFactory::GetInstance();
  #endif
@@ -1801,7 +1807,7 @@
  #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
      BUILDFLAG(IS_ANDROID)
    enterprise_idle::IdleServiceFactory::GetInstance();
-@@ -1085,23 +1082,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -1084,23 +1081,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if !BUILDFLAG(IS_ANDROID)
    ResetReportUploaderFactory::GetInstance();
  #endif
@@ -1879,7 +1885,7 @@
  }  // namespace safe_browsing
 --- a/chrome/browser/safe_browsing/url_lookup_service_factory.cc
 +++ b/chrome/browser/safe_browsing/url_lookup_service_factory.cc
-@@ -66,31 +66,7 @@ RealTimeUrlLookupServiceFactory::RealTim
+@@ -68,27 +68,7 @@ RealTimeUrlLookupServiceFactory::~RealTi
  std::unique_ptr<KeyedService>
  RealTimeUrlLookupServiceFactory::BuildServiceInstanceForBrowserContext(
      content::BrowserContext* context) const {
@@ -1887,12 +1893,8 @@
      return nullptr;
 -  }
 -  Profile* profile = Profile::FromBrowserContext(context);
--  auto url_loader_factory =
--      std::make_unique<network::CrossThreadPendingSharedURLLoaderFactory>(
--          g_browser_process->safe_browsing_service()->GetURLLoaderFactory(
--              profile));
 -  return std::make_unique<RealTimeUrlLookupService>(
--      network::SharedURLLoaderFactory::Create(std::move(url_loader_factory)),
+-      GetURLLoaderFactory(context),
 -      VerdictCacheManagerFactory::GetForProfile(profile),
 -      base::BindRepeating(
 -          &safe_browsing::GetUserPopulationForProfileWithCookieTheftExperiments,
@@ -1910,7 +1912,7 @@
 -      WebUIInfoSingleton::GetInstance());
  }
  
- }  // namespace safe_browsing
+ scoped_refptr<network::SharedURLLoaderFactory>
 --- a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc
 +++ b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc
 @@ -146,15 +146,6 @@ CreateSettingsPageHelper() {
@@ -2016,7 +2018,7 @@
  }  // namespace
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -597,7 +597,6 @@ static_library("ui") {
+@@ -588,7 +588,6 @@ static_library("ui") {
      "//components/renderer_context_menu",
      "//components/resources",
      "//components/safe_browsing/content/browser",
@@ -2024,7 +2026,7 @@
      "//components/safe_browsing/content/browser/password_protection",
      "//components/safe_browsing/content/browser/web_ui",
      "//components/safe_browsing/core/browser/db:database_manager",
-@@ -4085,8 +4084,6 @@ static_library("ui") {
+@@ -4083,8 +4082,6 @@ static_library("ui") {
        "startup/web_app_startup_utils.h",
        "tab_contents/chrome_web_contents_menu_helper.cc",
        "tab_contents/chrome_web_contents_menu_helper.h",
@@ -2033,7 +2035,7 @@
        "views/autofill/payments/virtual_card_selection_dialog_view.cc",
        "views/autofill/payments/virtual_card_selection_dialog_view.h",
        "views/autofill/payments/webauthn_dialog_view.cc",
-@@ -5759,8 +5756,6 @@ static_library("ui") {
+@@ -5745,8 +5742,6 @@ static_library("ui") {
        "views/safe_browsing/prompt_for_scanning_modal_dialog.h",
        "views/safe_browsing/tailored_security_desktop_dialog_manager.cc",
        "views/safe_browsing/tailored_security_desktop_dialog_manager.h",
@@ -2080,7 +2082,7 @@
  void JavaScriptTabModalDialogManagerDelegateDesktop::DidCloseDialog() {
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -366,7 +366,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -370,7 +370,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents);
    chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
    ChromePasswordManagerClient::CreateForWebContents(web_contents);
@@ -2098,7 +2100,7 @@
  #include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/ui/browser.h"
  #include "chrome/browser/ui/browser_element_identifiers.h"
-@@ -170,63 +169,16 @@ void DownloadBubbleContentsView::AddSecu
+@@ -164,63 +163,16 @@ void DownloadBubbleContentsView::AddSecu
  void DownloadBubbleContentsView::ProcessDeepScanPress(
      const ContentId& id,
      base::optional_ref<const std::string> password) {
@@ -2199,7 +2201,7 @@
    open_button_->SetEnabled((mode_ == download::DownloadItemMode::kNormal) ||
                             prompt_to_scan || allow_open_during_deep_scan);
  
-@@ -1274,7 +1275,9 @@ void DownloadItemView::ShowContextMenuIm
+@@ -1273,7 +1274,9 @@ void DownloadItemView::ShowContextMenuIm
  }
  
  void DownloadItemView::OpenDownloadDuringAsyncScanning() {
@@ -2244,7 +2246,7 @@
  std::unique_ptr<content::WebContentsViewDelegate> CreateWebContentsViewDelegate(
 --- a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm
 +++ b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm
-@@ -87,7 +87,7 @@ bool ChromeWebContentsViewDelegateViewsM
+@@ -89,7 +89,7 @@ bool ChromeWebContentsViewDelegateViewsM
  void ChromeWebContentsViewDelegateViewsMac::OnPerformingDrop(
      const content::DropData& drop_data,
      DropCompletionCallback callback) {
@@ -2255,8 +2257,8 @@
  std::unique_ptr<RenderViewContextMenuBase>
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -511,8 +511,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
-     return &NewWebUI<PasswordManagerInternalsUI>;
+@@ -484,8 +484,6 @@ WebUIFactoryFunction GetWebUIFactoryFunc
+   }
    if (url.host_piece() == chrome::kChromeUIPredictorsHost)
      return &NewWebUI<PredictorsUI>;
 -  if (url.host_piece() == safe_browsing::kChromeUISafeBrowsingHost)
@@ -2462,7 +2464,7 @@
      AddThreatProtectionPermission(kManagementScreenCaptureEvent,
 --- a/chrome/browser/ui/webui/settings/hats_handler.cc
 +++ b/chrome/browser/ui/webui/settings/hats_handler.cc
-@@ -81,60 +81,6 @@ void HatsHandler::RegisterMessages() {
+@@ -82,60 +82,6 @@ void HatsHandler::RegisterMessages() {
   */
  void HatsHandler::HandleSecurityPageHatsRequest(const base::Value::List& args) {
    AllowJavascript();
@@ -2523,7 +2525,7 @@
  }
  
  /**
-@@ -201,17 +147,7 @@ SurveyStringData HatsHandler::GetSecurit
+@@ -202,17 +148,7 @@ SurveyStringData HatsHandler::GetSecurit
      }
    }
  
@@ -2539,8 +2541,8 @@
      safe_browsing_setting_current = "no_protection";
 -  }
  
-   std::string client_channel =
-       std::string(version_info::GetChannelString(chrome::GetChannel()));
+   std::string friendlier_safe_browsing_settings_enabled =
+       (base::FeatureList::IsEnabled(
 --- a/chrome/browser/webshare/share_service_impl.cc
 +++ b/chrome/browser/webshare/share_service_impl.cc
 @@ -17,7 +17,9 @@
@@ -2585,7 +2587,7 @@
                                 std::move(callback),
 --- a/chrome/common/webui_url_constants.cc
 +++ b/chrome/common/webui_url_constants.cc
-@@ -722,7 +722,6 @@ const char* const kChromeHostURLs[] = {
+@@ -725,7 +725,6 @@ const char* const kChromeHostURLs[] = {
      kChromeUISuggestInternalsHost,
  #endif
      kChromeUINTPTilesInternalsHost,
@@ -2595,7 +2597,7 @@
      kChromeUITabSearchHost,
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -1914,8 +1914,6 @@ if (!is_android && !is_fuchsia) {
+@@ -1884,8 +1884,6 @@ if (!is_android) {
        "//components/resources",
        "//components/safe_browsing:buildflags",
        "//components/safe_browsing/content/browser",
@@ -2604,15 +2606,15 @@
        "//components/safe_browsing/content/browser:safe_browsing_service",
        "//components/safe_browsing/content/browser/password_protection",
        "//components/safe_browsing/content/browser/password_protection:test_support",
-@@ -6966,8 +6964,6 @@ if (!is_fuchsia) {
-       "//components/resources",
-       "//components/safe_browsing:buildflags",
-       "//components/safe_browsing/content/browser",
--      "//components/safe_browsing/content/browser:client_side_detection",
--      "//components/safe_browsing/content/browser:client_side_detection_service",
-       "//components/safe_browsing/content/browser/password_protection",
-       "//components/safe_browsing/content/browser/password_protection:mock_password_protection",
-       "//components/safe_browsing/content/browser/web_ui",
+@@ -6873,8 +6871,6 @@ test("unit_tests") {
+     "//components/resources",
+     "//components/safe_browsing:buildflags",
+     "//components/safe_browsing/content/browser",
+-    "//components/safe_browsing/content/browser:client_side_detection",
+-    "//components/safe_browsing/content/browser:client_side_detection_service",
+     "//components/safe_browsing/content/browser/password_protection",
+     "//components/safe_browsing/content/browser/password_protection:mock_password_protection",
+     "//components/safe_browsing/content/browser/web_ui",
 --- a/components/enterprise/buildflags/buildflags.gni
 +++ b/components/enterprise/buildflags/buildflags.gni
 @@ -13,17 +13,17 @@ declare_args() {
@@ -2632,12 +2634,12 @@
 +  enterprise_data_controls = false
  
    # Indicates support for client certificates provisioning.
--  enterprise_client_certificates = is_win || is_mac
+-  enterprise_client_certificates = is_win || is_mac || is_linux
 +  enterprise_client_certificates = false
  
    # The watermark is currently implemented using the views framework
-   enterprise_watermark = toolkit_views
-@@ -35,7 +35,7 @@ declare_args() {
+   enterprise_watermark =
+@@ -36,7 +36,7 @@ declare_args() {
    # the fact that `enterprise_cloud_content_analysis` is a superset of
    # `enterprise_local_content_analysis`.
    enterprise_content_analysis =
@@ -2648,7 +2650,7 @@
  # These two flags are equivalent, but `enable_print_content_analysis` still
 --- a/components/password_manager/content/browser/content_password_manager_driver.cc
 +++ b/components/password_manager/content/browser/content_password_manager_driver.cc
-@@ -502,7 +502,7 @@ void ContentPasswordManagerDriver::Check
+@@ -525,7 +525,7 @@ void ContentPasswordManagerDriver::Check
    if (!password_manager::bad_message::CheckFrameNotPrerendering(
            render_frame_host_))
      return;
@@ -2659,7 +2661,7 @@
  }
 --- a/components/password_manager/core/browser/password_manager_client.h
 +++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -404,11 +404,14 @@ class PasswordManagerClient {
+@@ -396,11 +396,14 @@ class PasswordManagerClient {
    // Returns the current best guess as to the page's display language.
    virtual autofill::LanguageCode GetPageLanguage() const;
  
@@ -2725,9 +2727,9 @@
  #include "components/safe_browsing/core/common/proto/webui.pb.h"
 --- a/components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_service.h
 +++ b/components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_service.h
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_SAFE_BROWSING_CORE_BROWSER_HASHPREFIX_REALTIME_HASH_REALTIME_SERVICE_H_
- #define COMPONENTS_SAFE_BROWSING_CORE_BROWSER_HASHPREFIX_REALTIME_HASH_REALTIME_SERVICE_H_
+@@ -7,6 +7,7 @@
+ 
+ #include <optional>
  
 +#include "base/containers/flat_map.h"
  #include "base/containers/unique_ptr_adapters.h"
@@ -2753,14 +2755,14 @@
 -  // |stored_permanent_country| as nullopt.
 -  return safe_browsing::hash_realtime_utils::DetermineHashRealTimeSelection(
 -             /*is_off_the_record=*/false, pref_service,
--             /*stored_permanent_country=*/absl::nullopt) ==
+-             /*stored_permanent_country=*/std::nullopt) ==
 -         safe_browsing::hash_realtime_utils::HashRealTimeSelection::
 -             kHashRealTimeService;
 +  return false;
  }
  
  GURL GetKeyFetchingUrl() {
-@@ -367,26 +358,9 @@ void OhttpKeyService::MaybeStartServerTr
+@@ -367,25 +358,9 @@ void OhttpKeyService::MaybeStartServerTr
  }
  
  void OhttpKeyService::PopulateKeyFromPref() {
@@ -2777,8 +2779,7 @@
  
  void OhttpKeyService::StoreKeyToPref() {
 -  if (ohttp_key_ && ohttp_key_->expiration > base::Time::Now()) {
--    std::string base64_encoded_key;
--    base::Base64Encode(ohttp_key_->key, &base64_encoded_key);
+-    std::string base64_encoded_key = base::Base64Encode(ohttp_key_->key);
 -    pref_service_->SetString(prefs::kSafeBrowsingHashRealTimeOhttpKey,
 -                             base64_encoded_key);
 -    pref_service_->SetTime(prefs::kSafeBrowsingHashRealTimeOhttpExpirationTime,
@@ -2789,7 +2790,7 @@
  void OhttpKeyService::Shutdown() {
 --- a/components/safe_browsing/core/browser/realtime/url_lookup_service.cc
 +++ b/components/safe_browsing/core/browser/realtime/url_lookup_service.cc
-@@ -252,17 +252,6 @@ void RealTimeUrlLookupService::MaybeLogP
+@@ -248,17 +248,6 @@ void RealTimeUrlLookupService::MaybeLogP
      bool request_had_cookie,
      bool was_first_request,
      bool sent_with_token) {
@@ -2879,7 +2880,7 @@
    raw_ptr<signin::IdentityManager> identity_manager_;
 --- a/components/safe_browsing/core/browser/verdict_cache_manager.cc
 +++ b/components/safe_browsing/core/browser/verdict_cache_manager.cc
-@@ -441,16 +441,6 @@ VerdictCacheManager::VerdictCacheManager
+@@ -442,16 +442,6 @@ VerdictCacheManager::VerdictCacheManager
    // pref_service can be null in tests.
    if (pref_service) {
      pref_change_registrar_.Init(pref_service);
@@ -3096,7 +3097,7 @@
  
 --- a/extensions/browser/updater/update_service.cc
 +++ b/extensions/browser/updater/update_service.cc
-@@ -127,13 +127,6 @@ void UpdateService::OnCrxStateChange(Upd
+@@ -133,13 +133,6 @@ void UpdateService::OnCrxStateChange(Upd
        break;
    }
  

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


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

@@ -1,6 +1,6 @@
 --- a/components/search_engines/prepopulated_engines.json
 +++ b/components/search_engines/prepopulated_engines.json
-@@ -126,27 +126,11 @@
+@@ -125,27 +125,11 @@
      },
  
      "google": {

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

@@ -9,7 +9,7 @@
  #include "components/translate/core/browser/translate_download_manager.h"
  #include "components/translate/core/browser/translate_manager.h"
  #include "components/translate/core/browser/translate_prefs.h"
-@@ -2161,6 +2162,7 @@ void RenderViewContextMenu::AppendPageIt
+@@ -2189,6 +2190,7 @@ void RenderViewContextMenu::AppendPageIt
      menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
  
    if (CanTranslate(/*menu_logging=*/true)) {
@@ -19,22 +19,22 @@
  }
 --- a/components/translate/core/browser/translate_language_list.cc
 +++ b/components/translate/core/browser/translate_language_list.cc
-@@ -9,6 +9,7 @@
- #include <iterator>
+@@ -10,6 +10,7 @@
+ #include <optional>
  
  #include "base/check.h"
 +#include "base/command_line.h"
  #include "base/debug/dump_without_crashing.h"
  #include "base/functional/bind.h"
  #include "base/json/json_reader.h"
-@@ -24,6 +25,7 @@
+@@ -25,6 +26,7 @@
  #include "components/translate/core/browser/translate_event_details.h"
  #include "components/translate/core/browser/translate_url_fetcher.h"
  #include "components/translate/core/browser/translate_url_util.h"
 +#include "components/translate/core/common/translate_switches.h"
  #include "components/translate/core/common/translate_util.h"
  #include "net/base/url_util.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
+ #include "ui/base/l10n/l10n_util.h"
 @@ -392,6 +394,9 @@ GURL TranslateLanguageList::TranslateLan
  }
  

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

@@ -9,7 +9,7 @@
 
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2541,6 +2541,7 @@ static_library("browser") {
+@@ -2552,6 +2552,7 @@ static_library("browser") {
      "//third_party/libyuv",
      "//third_party/metrics_proto",
      "//third_party/re2",
@@ -44,7 +44,7 @@
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -248,6 +248,7 @@ source_set("browser") {
+@@ -250,6 +250,7 @@ source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -62,7 +62,7 @@
  #include "components/viz/common/switches.h"
  #include "components/viz/host/gpu_client.h"
  #include "content/browser/bad_message.h"
-@@ -3466,6 +3467,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3441,6 +3442,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLImageChromium,
      switches::kEnableWebGPUDeveloperFeatures,
      switches::kFileUrlPathAlias,
@@ -91,8 +91,8 @@
  #include "ui/accessibility/accessibility_features.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
-@@ -509,6 +510,10 @@ void SetRuntimeFeaturesFromCommandLine(c
-        switches::kEnableWebGPUDeveloperFeatures, true},
+@@ -506,6 +507,10 @@ void SetRuntimeFeaturesFromCommandLine(c
+        true},
        {wrf::EnableDirectSockets, switches::kEnableIsolatedWebAppsInRenderer,
         true},
 +      {wrf::EnableFingerprintingClientRectsNoise,
@@ -116,7 +116,7 @@
  
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,7 @@
  #include "base/i18n/time_formatting.h"
  #include "base/metrics/histogram_functions.h"
  #include "base/notreached.h"
@@ -124,8 +124,8 @@
  #include "base/ranges/algorithm.h"
  #include "base/task/single_thread_task_runner.h"
  #include "base/time/time.h"
-@@ -954,6 +955,14 @@ Range* Document::CreateRangeAdjustedToTr
-                                      Position::BeforeNode(*shadow_host));
+@@ -1041,6 +1042,14 @@ const Position Document::PositionAdjuste
+   return Position::BeforeNode(*shadow_host);
  }
  
 +double Document::GetNoiseFactorX() {
@@ -139,7 +139,7 @@
  SelectorQueryCache& Document::GetSelectorQueryCache() {
    if (!selector_query_cache_)
      selector_query_cache_ = std::make_unique<SelectorQueryCache>();
-@@ -2357,6 +2366,15 @@ void Document::UpdateStyleAndLayoutTreeF
+@@ -2474,6 +2483,15 @@ void Document::UpdateStyleAndLayoutTreeF
  #if DCHECK_IS_ON()
    AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
  #endif
@@ -157,7 +157,7 @@
  void Document::InvalidateStyleAndLayoutForFontUpdates() {
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -529,6 +529,10 @@ class CORE_EXPORT Document : public Cont
+@@ -531,6 +531,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -168,7 +168,7 @@
    AtomicString visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -2462,6 +2466,9 @@ class CORE_EXPORT Document : public Cont
+@@ -2507,6 +2511,9 @@ class CORE_EXPORT Document : public Cont
  
    base::ElapsedTimer start_time_;
  
@@ -180,7 +180,7 @@
  
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -2409,6 +2409,11 @@ DOMRectList* Element::getClientRects() {
+@@ -2342,6 +2342,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads,
                                                      *element_layout_object);
@@ -192,7 +192,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -2436,6 +2441,9 @@ gfx::RectF Element::GetBoundingClientRec
+@@ -2369,6 +2374,9 @@ gfx::RectF Element::GetBoundingClientRec
    DCHECK(element_layout_object);
    GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
                                                     *element_layout_object);
@@ -204,7 +204,7 @@
  
 --- a/third_party/blink/renderer/core/dom/range.cc
 +++ b/third_party/blink/renderer/core/dom/range.cc
-@@ -1622,6 +1622,12 @@ DOMRectList* Range::getClientRects() con
+@@ -1624,6 +1624,12 @@ DOMRectList* Range::getClientRects() con
    Vector<gfx::QuadF> quads;
    GetBorderAndTextQuads(quads);
  
@@ -217,7 +217,7 @@
    return MakeGarbageCollected<DOMRectList>(quads);
  }
  
-@@ -1629,7 +1635,11 @@ DOMRect* Range::getBoundingClientRect()
+@@ -1631,7 +1637,11 @@ DOMRect* Range::getBoundingClientRect()
    // TODO(crbug.com/1499981): This should be removed once synchronized scrolling
    // impact is understood.
    SyncScrollAttemptHeuristic::DidAccessScrollOffset();
@@ -270,7 +270,7 @@
                const TextDirection&,
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
-@@ -69,6 +69,9 @@
+@@ -75,6 +75,9 @@
  #include "ui/gfx/geometry/quad_f.h"
  #include "ui/gfx/geometry/skia_conversions.h"
  
@@ -280,7 +280,7 @@
  namespace blink {
  
  BASE_FEATURE(kDisableCanvasOverdrawOptimization,
-@@ -3031,8 +3034,22 @@ TextMetrics* BaseRenderingContext2D::mea
+@@ -3163,8 +3166,22 @@ TextMetrics* BaseRenderingContext2D::mea
    const CanvasRenderingContext2DState& state = GetState();
    TextDirection direction = ToTextDirection(state.GetDirection(), canvas);
  
@@ -307,7 +307,7 @@
  void BaseRenderingContext2D::SnapshotStateForFilter() {
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1705,6 +1705,7 @@ component("platform") {
+@@ -1708,6 +1708,7 @@ component("platform") {
      "//cc/mojo_embedder",
      "//components/paint_preview/common",
      "//components/search_engines:search_engine_utils",
@@ -332,7 +332,7 @@
  }  // namespace blink
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1792,6 +1792,12 @@
+@@ -1753,6 +1753,12 @@
        status: "experimental",
      },
      {

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

@@ -34,7 +34,7 @@ approach to change color components.
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3469,6 +3469,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3444,6 +3444,7 @@ void RenderProcessHostImpl::PropagateBro
      switches::kFileUrlPathAlias,
      switches::kFingerprintingClientRectsNoise,
      switches::kFingerprintingCanvasMeasureTextNoise,
@@ -44,7 +44,7 @@ approach to change color components.
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -514,6 +514,8 @@ void SetRuntimeFeaturesFromCommandLine(c
+@@ -511,6 +511,8 @@ void SetRuntimeFeaturesFromCommandLine(c
         switches::kFingerprintingClientRectsNoise, true},
        {wrf::EnableFingerprintingCanvasMeasureTextNoise,
         switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -65,7 +65,7 @@ approach to change color components.
  };
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
-@@ -60,6 +60,7 @@
+@@ -66,6 +66,7 @@
  #include "third_party/blink/renderer/platform/graphics/image_data_buffer.h"
  #include "third_party/blink/renderer/platform/graphics/memory_managed_paint_recorder.h"
  #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
@@ -73,7 +73,7 @@ approach to change color components.
  #include "third_party/blink/renderer/platform/graphics/stroke_data.h"
  #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h"
  #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
-@@ -2360,6 +2361,9 @@ ImageData* BaseRenderingContext2D::getIm
+@@ -2489,6 +2490,9 @@ ImageData* BaseRenderingContext2D::getIm
            snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
        DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
      }
@@ -85,7 +85,7 @@ approach to change color components.
    return image_data;
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1658,7 +1658,9 @@ component("platform") {
+@@ -1661,7 +1661,9 @@ component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  
@@ -322,7 +322,7 @@ approach to change color components.
    // Methods overridden by all sub-classes
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1798,6 +1798,9 @@
+@@ -1759,6 +1759,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {

+ 5 - 5
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
-@@ -2259,6 +2259,7 @@ static_library("browser") {
+@@ -2269,6 +2269,7 @@ static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common:mojo_bindings",
      "//components/network_session_configurator/browser",
@@ -49,7 +49,7 @@ with limited CPU/memory resources and it is disabled by default.
  #endif  // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
 --- a/chrome/browser/browser_process_impl.cc
 +++ b/chrome/browser/browser_process_impl.cc
-@@ -20,11 +20,13 @@
+@@ -21,11 +21,13 @@
  #include "base/functional/callback.h"
  #include "base/functional/callback_helpers.h"
  #include "base/location.h"
@@ -79,7 +79,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "ppapi/buildflags/buildflags.h"
  #include "printing/buildflags/buildflags.h"
  #include "services/network/public/cpp/features.h"
-@@ -370,6 +374,18 @@ void BrowserProcessImpl::Init() {
+@@ -377,6 +381,18 @@ void BrowserProcessImpl::Init() {
    pref_change_registrar_.Add(metrics::prefs::kMetricsReportingEnabled,
                               base::BindRepeating(&ApplyMetricsReportingPolicy));
  
@@ -100,7 +100,7 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -2278,6 +2278,10 @@ const char kUndoAutofillDescription[] =
+@@ -2313,6 +2313,10 @@ const char kUndoAutofillDescription[] =
      "Allows reverting Autofill filling operations. Replaces Clear Form "
      "functionality";
  
@@ -113,7 +113,7 @@ with limited CPU/memory resources and it is disabled by default.
  const char kMediaRouterCastAllowAllIPsDescription[] =
 --- a/chrome/browser/flag_descriptions.h
 +++ b/chrome/browser/flag_descriptions.h
-@@ -1287,6 +1287,9 @@ extern const char kLogJsConsoleMessagesD
+@@ -1309,6 +1309,9 @@ extern const char kLogJsConsoleMessagesD
  extern const char kUndoAutofillName[];
  extern const char kUndoAutofillDescription[];
  

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

@@ -12,7 +12,7 @@
  void BackgroundModeManager::RegisterProfile(Profile* profile) {
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1466,7 +1466,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1476,7 +1476,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -67,7 +67,7 @@
      </cr-dialog>
 --- a/chrome/browser/ui/browser_ui_prefs.cc
 +++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -82,7 +82,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -85,7 +85,7 @@ void RegisterBrowserUserPrefs(user_prefs
    registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
    registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
    registry->RegisterBooleanPref(
@@ -109,7 +109,7 @@
    registry->RegisterBooleanPref(
 --- a/components/content_settings/core/browser/cookie_settings.cc
 +++ b/components/content_settings/core/browser/cookie_settings.cc
-@@ -84,7 +84,7 @@ void CookieSettings::RegisterProfilePref
+@@ -94,7 +94,7 @@ void CookieSettings::RegisterProfilePref
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterIntegerPref(
        prefs::kCookieControlsMode,
@@ -120,7 +120,7 @@
  
 --- a/components/password_manager/core/browser/password_manager.cc
 +++ b/components/password_manager/core/browser/password_manager.cc
-@@ -256,14 +256,14 @@ base::CallbackListSubscription AddSyncEn
+@@ -254,14 +254,14 @@ base::CallbackListSubscription AddSyncEn
  void PasswordManager::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(

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

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

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

@@ -5,7 +5,7 @@ Subject: [PATCH 56/66] browser: disable profile auto-import on first run
 
 --- a/chrome/browser/chrome_browser_main.cc
 +++ b/chrome/browser/chrome_browser_main.cc
-@@ -1638,11 +1638,6 @@ int ChromeBrowserMainParts::PreMainMessa
+@@ -1643,11 +1643,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/updater-disable-auto-update.patch

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

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

@@ -9,7 +9,7 @@
  #include "chrome/browser/ui/web_applications/app_browser_controller.h"
  #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
  #include "chrome/browser/ui/webui/signin/login_ui_service.h"
-@@ -474,6 +476,7 @@ Browser::Browser(const CreateParams& par
+@@ -481,6 +483,7 @@ Browser::Browser(const CreateParams& par
        omit_from_session_restore_(params.omit_from_session_restore),
        should_trigger_session_restore_(params.should_trigger_session_restore),
        cancel_download_confirmation_state_(NOT_PROMPTED),
@@ -17,7 +17,7 @@
        override_bounds_(params.initial_bounds),
        initial_show_state_(params.initial_show_state),
        initial_workspace_(params.initial_workspace),
-@@ -861,6 +864,7 @@ Browser::WarnBeforeClosingResult Browser
+@@ -895,6 +898,7 @@ Browser::WarnBeforeClosingResult Browser
    // true or there are no pending downloads we need to prompt about) then
    // there's no need to warn.
    if (force_skip_warning_user_on_close_ || CanCloseWithInProgressDownloads())
@@ -25,7 +25,7 @@
      return WarnBeforeClosingResult::kOkToClose;
  
    DCHECK(!warn_before_closing_callback_)
-@@ -897,6 +901,7 @@ bool Browser::TryToCloseWindow(
+@@ -931,6 +935,7 @@ bool Browser::TryToCloseWindow(
  
  void Browser::ResetTryToCloseWindow() {
    cancel_download_confirmation_state_ = NOT_PROMPTED;
@@ -33,7 +33,7 @@
    unload_controller_.ResetTryToCloseWindow();
  }
  
-@@ -2904,6 +2909,62 @@ bool Browser::CanCloseWithInProgressDown
+@@ -2945,6 +2950,62 @@ bool Browser::CanCloseWithInProgressDown
    return false;
  }
  
@@ -96,7 +96,7 @@
  void Browser::InProgressDownloadResponse(bool cancel_downloads) {
    if (cancel_downloads) {
      cancel_download_confirmation_state_ = RESPONSE_RECEIVED;
-@@ -2922,6 +2983,22 @@ void Browser::InProgressDownloadResponse
+@@ -2963,6 +3024,22 @@ void Browser::InProgressDownloadResponse
  
    std::move(warn_before_closing_callback_)
        .Run(WarnBeforeClosingResult::kDoNotClose);
@@ -129,7 +129,7 @@
  #include "chrome/browser/ui/signin/signin_view_controller.h"
  #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
  #include "chrome/browser/ui/unload_controller.h"
-@@ -1128,12 +1129,17 @@ class Browser : public TabStripModelObse
+@@ -1131,12 +1132,17 @@ class Browser : public TabStripModelObse
    // Returns true if the window can close, false otherwise.
    bool CanCloseWithInProgressDownloads();
  
@@ -147,7 +147,7 @@
    // Called when all warnings have completed when attempting to close the
    // browser directly (e.g. via hotkey, close button, terminate signal, etc.)
    // Used as a WarnBeforeClosingCallback by HandleBeforeClose().
-@@ -1301,6 +1307,8 @@ class Browser : public TabStripModelObse
+@@ -1306,6 +1312,8 @@ class Browser : public TabStripModelObse
    // when the browser is closed with in-progress downloads.
    CancelDownloadConfirmationState cancel_download_confirmation_state_;
  

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

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

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

@@ -11,9 +11,9 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -166,6 +166,8 @@ BASE_FEATURE(kAutofillUseDomNodeIdForRen
-              "AutofillUseDomNodeIdForRendererId",
-              base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -179,6 +179,8 @@ BASE_FEATURE(kAutofillSendUnidentifiedKe
+              "AutofillSendUnidentifiedKeyAfterFill",
+              base::FEATURE_DISABLED_BY_DEFAULT);
  
 +BASE_FEATURE(kDisableLinkDrag, "DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT);
 +
@@ -33,7 +33,7 @@
  //
 --- a/third_party/blink/renderer/core/editing/selection_controller.cc
 +++ b/third_party/blink/renderer/core/editing/selection_controller.cc
-@@ -1442,10 +1442,14 @@ FrameSelection& SelectionController::Sel
+@@ -1439,10 +1439,14 @@ FrameSelection& SelectionController::Sel
  }
  
  bool IsSelectionOverLink(const MouseEventWithHitTestResults& event) {

+ 1 - 1
patches/extra/ungoogled-chromium/add-flag-for-incognito-themes.patch

@@ -18,7 +18,7 @@
  #include "ui/gfx/color_utils.h"
  #include "ui/native_theme/native_theme.h"
  
-@@ -446,7 +447,9 @@ void NTPResourceCache::CreateNewTabIncog
+@@ -441,7 +442,9 @@ void NTPResourceCache::CreateNewTabIncog
        profile_->GetPrefs()->GetString(prefs::kCurrentThemeID);
  
    // Colors.

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

@@ -33,7 +33,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/components/omnibox/browser/autocomplete_controller.cc
 +++ b/components/omnibox/browser/autocomplete_controller.cc
-@@ -20,6 +20,7 @@
+@@ -22,6 +22,7 @@
  
  #include "base/check_op.h"
  #include "base/containers/contains.h"
@@ -71,7 +71,7 @@
        client()->GetHistoryService();
 --- a/components/omnibox/browser/search_provider.cc
 +++ b/components/omnibox/browser/search_provider.cc
-@@ -10,6 +10,7 @@
+@@ -12,6 +12,7 @@
  #include <utility>
  
  #include "base/base64.h"
@@ -79,7 +79,7 @@
  #include "base/feature_list.h"
  #include "base/functional/bind.h"
  #include "base/functional/callback.h"
-@@ -643,6 +644,9 @@ void SearchProvider::Run(bool query_is_p
+@@ -644,6 +645,9 @@ void SearchProvider::Run(bool query_is_p
  }
  
  void SearchProvider::DoHistoryQuery(bool minimal_changes) {

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

@@ -27,7 +27,7 @@
    return true;
 --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
 +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
-@@ -347,7 +347,8 @@ void LocationBarView::Init() {
+@@ -348,7 +348,8 @@ void LocationBarView::Init() {
  
      params.types_enabled.push_back(PageActionIconType::kSendTabToSelf);
      params.types_enabled.push_back(PageActionIconType::kClickToCall);

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

@@ -13,7 +13,7 @@
  #endif  // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
 --- a/chrome/renderer/chrome_render_frame_observer.cc
 +++ b/chrome/renderer/chrome_render_frame_observer.cc
-@@ -252,14 +252,16 @@ void ChromeRenderFrameObserver::DidFinis
+@@ -250,14 +250,16 @@ void ChromeRenderFrameObserver::DidFinis
    if (frame->Parent() || frame->IsInFencedFrameTree())
      return;
  
@@ -80,7 +80,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrDefaultProviderByPolicy(
-@@ -1900,6 +1908,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1910,6 +1918,8 @@ SyncDataMap TemplateURLService::CreateGU
  }
  
  void TemplateURLService::Init() {
@@ -89,7 +89,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -2074,6 +2084,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -2084,6 +2094,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {

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

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

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

@@ -8,7 +8,7 @@
  #include "base/containers/adapters.h"
  #include "base/containers/contains.h"
  #include "base/containers/flat_map.h"
-@@ -1951,6 +1952,10 @@ void TabStripModel::CloseTabs(base::span
+@@ -1964,6 +1965,10 @@ void TabStripModel::CloseTabs(base::span
      return;
    }
  

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

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

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

@@ -21,7 +21,7 @@
  #include "base/compiler_specific.h"
  #include "base/containers/flat_set.h"
  #include "base/feature_list.h"
-@@ -1316,7 +1317,8 @@ void HistoryBackend::InitImpl(
+@@ -1317,7 +1318,8 @@ void HistoryBackend::InitImpl(
    db_->GetStartDate(&first_recorded_time_);
  
    // Start expiring old stuff.

+ 2 - 2
patches/extra/ungoogled-chromium/add-flag-to-disable-sharing-hub.patch

@@ -7,8 +7,8 @@
 +#include "base/command_line.h"
  #include "build/build_config.h"
  #include "chrome/browser/profiles/profile.h"
- #include "chrome/browser/share/share_features.h"
-@@ -37,6 +38,7 @@ bool ScreenshotsDisabledByPolicy(content
+ #include "chrome/common/pref_names.h"
+@@ -36,6 +37,7 @@ bool ScreenshotsDisabledByPolicy(content
  }  // namespace
  
  bool SharingHubOmniboxEnabled(content::BrowserContext* context) {

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

@@ -8,7 +8,7 @@
  #include "base/feature_list.h"
  #include "base/functional/bind.h"
  #include "base/functional/callback_helpers.h"
-@@ -35,6 +36,7 @@
+@@ -36,6 +37,7 @@
  #include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
  #include "chrome/browser/ui/views/toolbar/toolbar_action_hover_card_controller.h"
  #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
@@ -16,7 +16,7 @@
  #include "chrome/common/pref_names.h"
  #include "chrome/grit/generated_resources.h"
  #include "components/feature_engagement/public/event_constants.h"
-@@ -542,6 +544,17 @@ void ExtensionsToolbarContainer::AnchorA
+@@ -543,6 +545,17 @@ void ExtensionsToolbarContainer::AnchorA
    widget->widget_delegate()->AsBubbleDialogDelegate()->SetAnchorView(
        anchor_view && anchor_view->GetVisible() ? anchor_view
                                                 : GetExtensionsButton());
@@ -34,7 +34,7 @@
    widget->Show();
  }
  
-@@ -919,6 +932,9 @@ void ExtensionsToolbarContainer::UpdateC
+@@ -920,6 +933,9 @@ void ExtensionsToolbarContainer::UpdateC
  }
  
  bool ExtensionsToolbarContainer::ShouldContainerBeVisible() const {

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

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

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -3803,10 +3803,12 @@ const FeatureEntry::FeatureVariation
+@@ -3737,10 +3737,12 @@ const FeatureEntry::Choice kAccountBookm
  #include "chrome/browser/ungoogled_flag_choices.h"
  #include "chrome/browser/bromite_flag_choices.h"
  #include "chrome/browser/ungoogled_platform_flag_choices.h"

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

@@ -28,17 +28,17 @@
      "search/instant_mojom_traits.h",
      "search/instant_types.cc",
      "search/instant_types.h",
-@@ -263,6 +265,7 @@ static_library("common_lib") {
-     "//components/no_state_prefetch/common",
+@@ -264,6 +266,7 @@ static_library("common_lib") {
      "//components/no_state_prefetch/common:mojo_bindings",
      "//components/page_load_metrics/common:common",
+     "//components/pdf/common:constants",
 +    "//services/network/public/mojom",
    ]
  
    if (is_android || enable_library_cdms) {
 --- a/chrome/common/chrome_features.cc
 +++ b/chrome/common/chrome_features.cc
-@@ -1037,6 +1037,14 @@ BASE_FEATURE(kNewFilesPolicyUX,
+@@ -1054,6 +1054,14 @@ BASE_FEATURE(kNewFilesPolicyUX,
  // referrers instead of their ordinary behavior.
  BASE_FEATURE(kNoReferrers, "NoReferrers", base::FEATURE_DISABLED_BY_DEFAULT);
  
@@ -55,7 +55,7 @@
  // on-screen until dismissed, they are instead shown for a very long time.
 --- a/chrome/common/chrome_features.h
 +++ b/chrome/common/chrome_features.h
-@@ -616,6 +616,10 @@ BASE_DECLARE_FEATURE(kNewFilesPolicyUX);
+@@ -621,6 +621,10 @@ BASE_DECLARE_FEATURE(kNewFilesPolicyUX);
  
  COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kNoReferrers);
  
@@ -173,7 +173,7 @@
    disallowed_extension_deps_ = [
      # Components should largely not depend on //extensions. Since // extensions
      # is not a component target and is linked with //chrome, depending on most
-@@ -829,7 +829,7 @@ test("components_unittests") {
+@@ -831,7 +831,7 @@ test("components_unittests") {
    # On other platforms, no components should depend on Chrome.
    # Since //chrome depends on //extensions, we also only assert_no_deps on
    # extensions targets for non-lacros builds.
@@ -182,7 +182,7 @@
      assert_no_deps = [ "//chrome/*" ]
      assert_no_deps += disallowed_extension_deps_
    }
-@@ -1120,7 +1120,7 @@ if (use_blink) {
+@@ -1113,7 +1113,7 @@ if (use_blink) {
      # dependency. On other platforms, no components should depend on Chrome.
      # Since //chrome depends on //extensions, we also only assert_no_deps on
      # extensions targets for non-lacros builds.
@@ -201,7 +201,7 @@
  #include "content/browser/blob_storage/chrome_blob_storage_context.h"
  #include "content/browser/browsing_topics/header_util.h"
  #include "content/browser/child_process_security_policy_impl.h"
-@@ -395,10 +396,10 @@ void AddAdditionalRequestHeaders(
+@@ -396,10 +397,10 @@ void AddAdditionalRequestHeaders(
        net::HttpRequestHeaders::kUserAgent,
        ComputeUserAgentValue(*headers, user_agent_override, browser_context));
  
@@ -226,7 +226,7 @@
  #include "content/common/associated_interfaces.mojom.h"
  #include "content/common/content_navigation_policy.h"
  #include "content/common/content_switches_internal.h"
-@@ -4449,10 +4450,13 @@ void RenderFrameImpl::WillSendRequestInt
+@@ -4524,10 +4525,13 @@ void RenderFrameImpl::WillSendRequestInt
  
    request.SetHasUserGesture(frame_->HasTransientUserActivation());
  
@@ -246,7 +246,7 @@
  void RenderFrameImpl::DidLoadResourceFromMemoryCache(
 --- a/content/shell/BUILD.gn
 +++ b/content/shell/BUILD.gn
-@@ -282,6 +282,7 @@ static_library("content_shell_lib") {
+@@ -279,6 +279,7 @@ static_library("content_shell_lib") {
      "//base/third_party/dynamic_annotations",
      "//build:chromeos_buildflags",
      "//cc/base",
@@ -264,7 +264,7 @@
  #include "components/domain_reliability/monitor.h"
  #include "net/base/features.h"
  #include "net/base/isolation_info.h"
-@@ -53,9 +54,14 @@ NetworkServiceNetworkDelegate::~NetworkS
+@@ -54,9 +55,14 @@ NetworkServiceNetworkDelegate::~NetworkS
  void NetworkServiceNetworkDelegate::MaybeTruncateReferrer(
      net::URLRequest* const request,
      const GURL& effective_url) {

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

@@ -19,7 +19,7 @@
          <cr-button class="cancel-button" on-click="cancel_" id="cancel"
 --- a/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.ts
 +++ b/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.ts
-@@ -35,6 +35,7 @@ export interface SettingsSearchEngineEdi
+@@ -36,6 +36,7 @@ export interface SettingsSearchEngineEdi
      dialog: CrDialogElement,
      keyword: CrInputElement,
      queryUrl: CrInputElement,
@@ -27,7 +27,7 @@
      searchEngine: CrInputElement,
    };
  }
-@@ -63,6 +64,7 @@ export class SettingsSearchEngineEditDia
+@@ -64,6 +65,7 @@ export class SettingsSearchEngineEditDia
        searchEngine_: String,
        keyword_: String,
        queryUrl_: String,
@@ -35,7 +35,7 @@
        dialogTitle_: String,
        actionButtonText_: String,
        cancelButtonHidden_: Boolean,
-@@ -78,6 +80,7 @@ export class SettingsSearchEngineEditDia
+@@ -79,6 +81,7 @@ export class SettingsSearchEngineEditDia
    private searchEngine_: string;
    private keyword_: string;
    private queryUrl_: string;
@@ -43,15 +43,15 @@
    private dialogTitle_: string;
    private actionButtonText_: string;
    private cancelButtonHidden_: boolean;
-@@ -102,6 +105,7 @@ export class SettingsSearchEngineEditDia
+@@ -109,6 +112,7 @@ export class SettingsSearchEngineEditDia
        this.keyword_ = this.model.keyword;
        this.queryUrl_ = this.model.url;
        this.readonly_ = this.model.isManaged;
 +      this.suggestionsUrl_ = this.model.suggestionsUrl;
      } else {
-       this.dialogTitle_ =
-           loadTimeData.getString('searchEnginesAddSearchEngine');
-@@ -138,8 +142,12 @@ export class SettingsSearchEngineEditDia
+       this.dialogTitle_ = loadTimeData.getString('searchEnginesAddSiteSearch');
+       this.actionButtonText_ = loadTimeData.getString('add');
+@@ -144,8 +148,12 @@ export class SettingsSearchEngineEditDia
        }
      }
  
@@ -66,7 +66,7 @@
    }
  
    private cancel_() {
-@@ -148,7 +156,8 @@ export class SettingsSearchEngineEditDia
+@@ -154,7 +162,8 @@ export class SettingsSearchEngineEditDia
  
    private onActionButtonClick_() {
      this.browserProxy_.searchEngineEditCompleted(
@@ -76,7 +76,7 @@
      this.$.dialog.close();
    }
  
-@@ -179,8 +188,10 @@ export class SettingsSearchEngineEditDia
+@@ -185,8 +194,10 @@ export class SettingsSearchEngineEditDia
        this.$.searchEngine,
        this.$.keyword,
        this.$.queryUrl,
@@ -90,7 +90,7 @@
    }
 --- a/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts
 +++ b/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts
-@@ -33,6 +33,7 @@ export interface SearchEngine {
+@@ -35,6 +35,7 @@ export interface SearchEngine {
    name: string;
    shouldConfirmDeletion: boolean;
    url: string;
@@ -98,7 +98,7 @@
    urlLocked: boolean;
  }
  
-@@ -97,7 +98,7 @@ export interface SearchEnginesBrowserPro
+@@ -99,7 +100,7 @@ export interface SearchEnginesBrowserPro
    searchEngineEditCancelled(): void;
  
    searchEngineEditCompleted(
@@ -107,7 +107,7 @@
  
    getSearchEnginesList(): Promise<SearchEnginesInfo>;
  
-@@ -139,11 +140,12 @@ export class SearchEnginesBrowserProxyIm
+@@ -141,11 +142,12 @@ export class SearchEnginesBrowserProxyIm
    }
  
    searchEngineEditCompleted(
@@ -270,7 +270,7 @@
    bool CanEdit(const TemplateURL* url) const;
 --- a/chrome/browser/ui/search_engines/template_url_table_model.cc
 +++ b/chrome/browser/ui/search_engines/template_url_table_model.cc
-@@ -183,21 +183,25 @@ void TemplateURLTableModel::Remove(size_
+@@ -191,21 +191,25 @@ void TemplateURLTableModel::Remove(size_
  void TemplateURLTableModel::Add(size_t index,
                                  const std::u16string& short_name,
                                  const std::u16string& keyword,
@@ -301,7 +301,7 @@
    DCHECK(index <= RowCount());
    DCHECK(!url.empty());
    TemplateURL* template_url = GetTemplateURL(index);
-@@ -206,7 +210,8 @@ void TemplateURLTableModel::ModifyTempla
+@@ -214,7 +218,8 @@ void TemplateURLTableModel::ModifyTempla
    DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url ||
           template_url->SupportsReplacement(
               template_url_service_->search_terms_data()));
@@ -350,7 +350,7 @@
    dict.Set("urlLocked", ((template_url->prepopulate_id() > 0) ||
                           (template_url->starter_pack_id() > 0)));
    GURL icon_url = template_url->favicon_url();
-@@ -362,12 +365,14 @@ void SearchEnginesHandler::HandleSearchE
+@@ -364,12 +367,14 @@ void SearchEnginesHandler::HandleSearchE
  void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
                                             const std::u16string& title,
                                             const std::u16string& keyword,
@@ -368,7 +368,7 @@
  
    edit_controller_.reset();
  }
-@@ -395,6 +400,8 @@ bool SearchEnginesHandler::CheckFieldVal
+@@ -397,6 +402,8 @@ bool SearchEnginesHandler::CheckFieldVal
      is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
    else if (field_name.compare(kQueryUrlField) == 0)
      is_valid = edit_controller_->IsURLValid(field_value);
@@ -377,7 +377,7 @@
    else
      NOTREACHED();
  
-@@ -414,18 +421,21 @@ void SearchEnginesHandler::HandleSearchE
+@@ -416,18 +423,21 @@ void SearchEnginesHandler::HandleSearchE
    if (!edit_controller_.get())
      return;
  

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

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

+ 1 - 1
patches/extra/ungoogled-chromium/default-webrtc-ip-handling-policy.patch

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/browser_ui_prefs.cc
 +++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -94,7 +94,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -97,7 +97,7 @@ void RegisterBrowserUserPrefs(user_prefs
                                  false);
  #endif
    registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,

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

@@ -142,7 +142,7 @@
  }  // namespace download
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -96,7 +96,6 @@ source_set("browser") {
+@@ -97,7 +97,6 @@ source_set("browser") {
      "//components/payments/mojom",
      "//components/power_monitor",
      "//components/services/filesystem:lib",

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

@@ -3,7 +3,7 @@
 
 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
 +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -3866,8 +3866,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3865,8 +3865,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_RENDERER))));
          }
@@ -13,7 +13,7 @@
        }
        SynthesizeGLError(
            GL_INVALID_ENUM, "getParameter",
-@@ -3881,8 +3880,7 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3880,8 +3879,7 @@ ScriptValue WebGLRenderingContextBase::g
                pname, IdentifiabilityBenignStringToken(
                           String(ContextGL()->GetString(GL_VENDOR))));
          }

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

@@ -2,7 +2,7 @@
 
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -1543,7 +1543,7 @@ BASE_FEATURE(kPrefetchFontLookupTables,
+@@ -1667,7 +1667,7 @@ BASE_FEATURE(kPrefetchFontLookupTables,
  // crbug.com/988956.
  BASE_FEATURE(kPrefetchPrivacyChanges,
               "PrefetchPrivacyChanges",

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/browser_commands.cc
 +++ b/chrome/browser/ui/browser_commands.cc
-@@ -538,11 +538,6 @@ int GetContentRestrictions(const Browser
+@@ -534,11 +534,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;
  }
-@@ -1666,8 +1661,7 @@ bool CanSavePage(const Browser* browser)
+@@ -1663,8 +1658,7 @@ bool CanSavePage(const Browser* browser)
        DownloadPrefs::DownloadRestriction::ALL_FILES) {
      return false;
    }

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_browser_main.cc
 +++ b/chrome/browser/chrome_browser_main.cc
-@@ -1065,6 +1065,7 @@ int ChromeBrowserMainParts::PreCreateThr
+@@ -1070,6 +1070,7 @@ int ChromeBrowserMainParts::PreCreateThr
    if (first_run::IsChromeFirstRun()) {
      if (!base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kApp) &&
          !base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kAppId)) {
@@ -10,7 +10,7 @@
  
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -63,6 +63,7 @@
+@@ -60,6 +60,7 @@
  #include "chrome/browser/ui/webui/suggest_internals/suggest_internals_ui.h"
  #include "chrome/browser/ui/webui/sync_internals/sync_internals_ui.h"
  #include "chrome/browser/ui/webui/translate_internals/translate_internals_ui.h"
@@ -18,7 +18,7 @@
  #include "chrome/browser/ui/webui/usb_internals/usb_internals_ui.h"
  #include "chrome/browser/ui/webui/user_actions/user_actions_ui.h"
  #include "chrome/browser/ui/webui/version/version_ui.h"
-@@ -871,6 +872,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
+@@ -836,6 +837,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
      return &NewWebUI<privacy_sandbox_internals::PrivacySandboxInternalsUI>;
    }
  
@@ -169,7 +169,7 @@
 +#endif  // CHROME_BROWSER_UI_WEBUI_UNGOOGLED_FIRST_RUN_H_
 --- a/chrome/common/webui_url_constants.cc
 +++ b/chrome/common/webui_url_constants.cc
-@@ -666,6 +666,7 @@ const char kExtensionConfigureCommandsSu
+@@ -669,6 +669,7 @@ const char kExtensionConfigureCommandsSu
  // Add hosts here to be included in chrome://chrome-urls (about:about).
  // These hosts will also be suggested by BuiltinProvider.
  const char* const kChromeHostURLs[] = {

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

@@ -180,7 +180,7 @@
              <div class="separator"></div>
 --- a/chrome/browser/resources/settings/appearance_page/appearance_page.ts
 +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.ts
-@@ -426,8 +426,8 @@ export class SettingsAppearancePageEleme
+@@ -428,8 +428,8 @@ export class SettingsAppearancePageEleme
        return;
      }
  
@@ -190,7 +190,7 @@
      switch (this.systemTheme_) {
        case SystemTheme.GTK:
          i18nId = 'gtkTheme';
-@@ -439,11 +439,8 @@ export class SettingsAppearancePageEleme
+@@ -441,11 +441,8 @@ export class SettingsAppearancePageEleme
          i18nId = 'classicTheme';
          break;
      }
@@ -205,7 +205,7 @@
    /** @return Whether applied theme is set by policy. */
 --- a/chrome/browser/resources/settings/autofill_page/payments_section.html
 +++ b/chrome/browser/resources/settings/autofill_page/payments_section.html
-@@ -85,11 +85,6 @@
+@@ -95,11 +95,6 @@
    </div>
  </template>
  
@@ -230,10 +230,10 @@
                id="safetyCheckSettingsSection">
 --- a/chrome/browser/resources/settings/basic_page/basic_page.ts
 +++ b/chrome/browser/resources/settings/basic_page/basic_page.ts
-@@ -13,7 +13,6 @@ import 'chrome://resources/polymer/v3_0/
+@@ -12,7 +12,6 @@ import 'chrome://resources/cr_elements/c
+ import 'chrome://resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
  import '../ai_page/ai_page.js';
  import '../appearance_page/appearance_page.js';
- import '../privacy_page/preloading_page.js';
 -import '../privacy_page/privacy_guide/privacy_guide_promo.js';
  import '../privacy_page/privacy_page.js';
  import '../safety_check_page/safety_check_page.js';
@@ -264,7 +264,7 @@
            class="hr"
 --- a/chrome/browser/resources/settings/privacy_page/personalization_options.ts
 +++ b/chrome/browser/resources/settings/privacy_page/personalization_options.ts
-@@ -185,10 +185,6 @@ export class SettingsPersonalizationOpti
+@@ -187,10 +187,6 @@ export class SettingsPersonalizationOpti
      this.addWebUiListener('metrics-reporting-change', setMetricsReportingPref);
      this.browserProxy_.getMetricsReporting().then(setMetricsReportingPref);
      // </if>
@@ -295,7 +295,7 @@
                start-icon="settings:visibility-off"
 --- a/chrome/browser/resources/settings/privacy_page/security_page.html
 +++ b/chrome/browser/resources/settings/privacy_page/security_page.html
-@@ -197,10 +197,3 @@
+@@ -175,10 +175,3 @@
            on-click="onChromeCertificatesClick_"></cr-link-row>
      </template>
  
@@ -333,7 +333,7 @@
              aria-description="$i18n{opensInNewTab}" on-click="onHelpClick_">
 --- a/chrome/browser/ui/toolbar/app_menu_model.cc
 +++ b/chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -735,19 +735,9 @@ void ExtensionsMenuModel::Build(Browser*
+@@ -730,19 +730,9 @@ void ExtensionsMenuModel::Build(Browser*
    SetElementIdentifierAt(
        GetIndexOfCommandId(IDC_EXTENSIONS_SUBMENU_MANAGE_EXTENSIONS).value(),
        kManageExtensionsMenuItem);
@@ -386,7 +386,7 @@
  
 --- a/chrome/browser/ui/views/profiles/profile_menu_view.cc
 +++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc
-@@ -172,6 +172,7 @@ void ProfileMenuView::BuildMenu() {
+@@ -176,6 +176,7 @@ void ProfileMenuView::BuildMenu() {
  }
  
  gfx::ImageSkia ProfileMenuView::GetSyncIcon() const {
@@ -394,11 +394,12 @@
    Profile* profile = browser()->profile();
    if (profile->IsOffTheRecord() || profile->IsGuestSession())
      return gfx::ImageSkia();
-@@ -517,12 +518,7 @@ void ProfileMenuView::BuildIdentity() {
-         ui::ImageModel::FromImage(account_info.account_image), menu_title_,
-         menu_subtitle_);
+@@ -544,13 +545,7 @@ void ProfileMenuView::BuildIdentity() {
+         ui::ImageModel::FromImage(account_info.account_image),
+         badge_image_model, menu_title_, menu_subtitle_, management_label_);
    } else {
--    if (base::FeatureList::IsEnabled(switches::kUnoDesktop) &&
+-    if (switches::IsExplicitBrowserSigninUIOnDesktopEnabled(
+-            switches::ExplicitBrowserSigninPhase::kExperimental) &&
 -        account.IsEmpty()) {
 -      account_info =
 -          signin_ui_util::GetSingleAccountForPromos(identity_manager);
@@ -407,7 +408,7 @@
 +    menu_title_ = std::u16string();
      // The email may be empty.
      menu_subtitle_ = base::UTF8ToUTF16(account_info.email);
-     SetProfileIdentityInfo(
+     management_label_ = std::u16string();
 --- a/chrome/browser/ui/views/sad_tab_view.cc
 +++ b/chrome/browser/ui/views/sad_tab_view.cc
 @@ -555,9 +555,6 @@ SadTabView::SadTabView(content::WebConte
@@ -445,7 +446,7 @@
    // Specify the maximum message and title width explicitly.
 --- a/media/base/media_switches.cc
 +++ b/media/base/media_switches.cc
-@@ -918,7 +918,7 @@ const base::FeatureParam<std::string> kM
+@@ -949,7 +949,7 @@ const base::FeatureParam<std::string> kM
  #endif  // BUILDFLAG(IS_WIN)
  
  // Enables the Live Caption feature on supported devices.

+ 42 - 608
pruning.list

@@ -1316,584 +1316,6 @@ net/data/ssl/certificates/unittest.selfsigned.der
 net/data/ssl/certificates/websocket_client_cert.p12
 net/data/url_request_unittest/BullRunSpeech.txt.deflate
 net/data/url_request_unittest/gzip-encoded
-net/third_party/nist-pkits/certs/AllCertificatesNoPoliciesTest2EE.crt
-net/third_party/nist-pkits/certs/AllCertificatesSamePoliciesTest10EE.crt
-net/third_party/nist-pkits/certs/AllCertificatesSamePoliciesTest13EE.crt
-net/third_party/nist-pkits/certs/AllCertificatesanyPolicyTest11EE.crt
-net/third_party/nist-pkits/certs/AnyPolicyTest14EE.crt
-net/third_party/nist-pkits/certs/BadCRLIssuerNameCACert.crt
-net/third_party/nist-pkits/certs/BadCRLSignatureCACert.crt
-net/third_party/nist-pkits/certs/BadSignedCACert.crt
-net/third_party/nist-pkits/certs/BadnotAfterDateCACert.crt
-net/third_party/nist-pkits/certs/BadnotBeforeDateCACert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCACert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedNewKeyCACert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedOldKeyCACert.crt
-net/third_party/nist-pkits/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt
-net/third_party/nist-pkits/certs/CPSPointerQualifierTest20EE.crt
-net/third_party/nist-pkits/certs/DSACACert.crt
-net/third_party/nist-pkits/certs/DSAParametersInheritedCACert.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest12EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest3EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest4EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest5EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest7EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest8EE.crt
-net/third_party/nist-pkits/certs/DifferentPoliciesTest9EE.crt
-net/third_party/nist-pkits/certs/GeneralizedTimeCRLnextUpdateCACert.crt
-net/third_party/nist-pkits/certs/GoodCACert.crt
-net/third_party/nist-pkits/certs/GoodsubCACert.crt
-net/third_party/nist-pkits/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt
-net/third_party/nist-pkits/certs/InvalidBadCRLIssuerNameTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidBadCRLSignatureTest4EE.crt
-net/third_party/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt
-net/third_party/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidCASignatureTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidCAnotAfterDateTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidCAnotBeforeDateTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidDNSnameConstraintsTest31EE.crt
-net/third_party/nist-pkits/certs/InvalidDNSnameConstraintsTest33EE.crt
-net/third_party/nist-pkits/certs/InvalidDNSnameConstraintsTest38EE.crt
-net/third_party/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt
-net/third_party/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest12EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest13EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest15EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest16EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest17EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest20EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest3EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest7EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidDNnameConstraintsTest9EE.crt
-net/third_party/nist-pkits/certs/InvalidDSASignatureTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidEESignatureTest3EE.crt
-net/third_party/nist-pkits/certs/InvalidEEnotAfterDateTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidEEnotBeforeDateTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidIDPwithindirectCRLTest23EE.crt
-net/third_party/nist-pkits/certs/InvalidIDPwithindirectCRLTest26EE.crt
-net/third_party/nist-pkits/certs/InvalidLongSerialNumberTest18EE.crt
-net/third_party/nist-pkits/certs/InvalidMappingFromanyPolicyTest7EE.crt
-net/third_party/nist-pkits/certs/InvalidMappingToanyPolicyTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidMissingCRLTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidMissingbasicConstraintsTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidNameChainingOrderTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidNameChainingTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidNegativeSerialNumberTest15EE.crt
-net/third_party/nist-pkits/certs/InvalidOldCRLnextUpdateTest11EE.crt
-net/third_party/nist-pkits/certs/InvalidPolicyMappingTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidPolicyMappingTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidPolicyMappingTest4EE.crt
-net/third_party/nist-pkits/certs/InvalidRFC822nameConstraintsTest22EE.crt
-net/third_party/nist-pkits/certs/InvalidRFC822nameConstraintsTest24EE.crt
-net/third_party/nist-pkits/certs/InvalidRFC822nameConstraintsTest26EE.crt
-net/third_party/nist-pkits/certs/InvalidRevokedCATest2EE.crt
-net/third_party/nist-pkits/certs/InvalidRevokedEETest3EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt
-net/third_party/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt
-net/third_party/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt
-net/third_party/nist-pkits/certs/InvalidURInameConstraintsTest35EE.crt
-net/third_party/nist-pkits/certs/InvalidURInameConstraintsTest37EE.crt
-net/third_party/nist-pkits/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt
-net/third_party/nist-pkits/certs/InvalidUnknownCRLExtensionTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidUnknownCRLExtensionTest9EE.crt
-net/third_party/nist-pkits/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidWrongCRLTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidcAFalseTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidcAFalseTest3EE.crt
-net/third_party/nist-pkits/certs/InvalidcRLIssuerTest27EE.crt
-net/third_party/nist-pkits/certs/InvalidcRLIssuerTest31EE.crt
-net/third_party/nist-pkits/certs/InvalidcRLIssuerTest32EE.crt
-net/third_party/nist-pkits/certs/InvalidcRLIssuerTest34EE.crt
-net/third_party/nist-pkits/certs/InvalidcRLIssuerTest35EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLTest10EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLTest3EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLTest4EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLTest6EE.crt
-net/third_party/nist-pkits/certs/InvaliddeltaCRLTest9EE.crt
-net/third_party/nist-pkits/certs/InvaliddistributionPointTest2EE.crt
-net/third_party/nist-pkits/certs/InvaliddistributionPointTest3EE.crt
-net/third_party/nist-pkits/certs/InvaliddistributionPointTest6EE.crt
-net/third_party/nist-pkits/certs/InvaliddistributionPointTest8EE.crt
-net/third_party/nist-pkits/certs/InvaliddistributionPointTest9EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitAnyPolicyTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitAnyPolicyTest4EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitAnyPolicyTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitAnyPolicyTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitPolicyMappingTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitPolicyMappingTest3EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitPolicyMappingTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidinhibitPolicyMappingTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt
-net/third_party/nist-pkits/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt
-net/third_party/nist-pkits/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt
-net/third_party/nist-pkits/certs/InvalidonlyContainsAttributeCertsTest14EE.crt
-net/third_party/nist-pkits/certs/InvalidonlyContainsCACertsTest12EE.crt
-net/third_party/nist-pkits/certs/InvalidonlyContainsUserCertsTest11EE.crt
-net/third_party/nist-pkits/certs/InvalidonlySomeReasonsTest15EE.crt
-net/third_party/nist-pkits/certs/InvalidonlySomeReasonsTest16EE.crt
-net/third_party/nist-pkits/certs/InvalidonlySomeReasonsTest17EE.crt
-net/third_party/nist-pkits/certs/InvalidonlySomeReasonsTest20EE.crt
-net/third_party/nist-pkits/certs/InvalidonlySomeReasonsTest21EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest10EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest11EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest12EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest5EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest6EE.crt
-net/third_party/nist-pkits/certs/InvalidpathLenConstraintTest9EE.crt
-net/third_party/nist-pkits/certs/Invalidpre2000CRLnextUpdateTest12EE.crt
-net/third_party/nist-pkits/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt
-net/third_party/nist-pkits/certs/InvalidrequireExplicitPolicyTest3EE.crt
-net/third_party/nist-pkits/certs/InvalidrequireExplicitPolicyTest5EE.crt
-net/third_party/nist-pkits/certs/LongSerialNumberCACert.crt
-net/third_party/nist-pkits/certs/Mapping1to2CACert.crt
-net/third_party/nist-pkits/certs/MappingFromanyPolicyCACert.crt
-net/third_party/nist-pkits/certs/MappingToanyPolicyCACert.crt
-net/third_party/nist-pkits/certs/MissingbasicConstraintsCACert.crt
-net/third_party/nist-pkits/certs/NameOrderingCACert.crt
-net/third_party/nist-pkits/certs/NegativeSerialNumberCACert.crt
-net/third_party/nist-pkits/certs/NoCRLCACert.crt
-net/third_party/nist-pkits/certs/NoPoliciesCACert.crt
-net/third_party/nist-pkits/certs/NoissuingDistributionPointCACert.crt
-net/third_party/nist-pkits/certs/OldCRLnextUpdateCACert.crt
-net/third_party/nist-pkits/certs/OverlappingPoliciesTest6EE.crt
-net/third_party/nist-pkits/certs/P12Mapping1to3CACert.crt
-net/third_party/nist-pkits/certs/P12Mapping1to3subCACert.crt
-net/third_party/nist-pkits/certs/P12Mapping1to3subsubCACert.crt
-net/third_party/nist-pkits/certs/P1Mapping1to234CACert.crt
-net/third_party/nist-pkits/certs/P1Mapping1to234subCACert.crt
-net/third_party/nist-pkits/certs/P1anyPolicyMapping1to2CACert.crt
-net/third_party/nist-pkits/certs/PanyPolicyMapping1to2CACert.crt
-net/third_party/nist-pkits/certs/PoliciesP1234CACert.crt
-net/third_party/nist-pkits/certs/PoliciesP1234subCAP123Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP1234subsubCAP123P12Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP123CACert.crt
-net/third_party/nist-pkits/certs/PoliciesP123subCAP12Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP123subsubCAP12P1Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP123subsubCAP12P2Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP12CACert.crt
-net/third_party/nist-pkits/certs/PoliciesP12subCAP1Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP12subsubCAP1P2Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP2subCA2Cert.crt
-net/third_party/nist-pkits/certs/PoliciesP2subCACert.crt
-net/third_party/nist-pkits/certs/PoliciesP3CACert.crt
-net/third_party/nist-pkits/certs/RFC3280MandatoryAttributeTypesCACert.crt
-net/third_party/nist-pkits/certs/RFC3280OptionalAttributeTypesCACert.crt
-net/third_party/nist-pkits/certs/RevokedsubCACert.crt
-net/third_party/nist-pkits/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt
-net/third_party/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt
-net/third_party/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt
-net/third_party/nist-pkits/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt
-net/third_party/nist-pkits/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt
-net/third_party/nist-pkits/certs/TrustAnchorRootCertificate.crt
-net/third_party/nist-pkits/certs/TwoCRLsCACert.crt
-net/third_party/nist-pkits/certs/UIDCACert.crt
-net/third_party/nist-pkits/certs/UTF8StringCaseInsensitiveMatchCACert.crt
-net/third_party/nist-pkits/certs/UTF8StringEncodedNamesCACert.crt
-net/third_party/nist-pkits/certs/UnknownCRLEntryExtensionCACert.crt
-net/third_party/nist-pkits/certs/UnknownCRLExtensionCACert.crt
-net/third_party/nist-pkits/certs/UserNoticeQualifierTest15EE.crt
-net/third_party/nist-pkits/certs/UserNoticeQualifierTest16EE.crt
-net/third_party/nist-pkits/certs/UserNoticeQualifierTest17EE.crt
-net/third_party/nist-pkits/certs/UserNoticeQualifierTest18EE.crt
-net/third_party/nist-pkits/certs/UserNoticeQualifierTest19EE.crt
-net/third_party/nist-pkits/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt
-net/third_party/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt
-net/third_party/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt
-net/third_party/nist-pkits/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt
-net/third_party/nist-pkits/certs/ValidCertificatePathTest1EE.crt
-net/third_party/nist-pkits/certs/ValidDNSnameConstraintsTest30EE.crt
-net/third_party/nist-pkits/certs/ValidDNSnameConstraintsTest32EE.crt
-net/third_party/nist-pkits/certs/ValidDNandRFC822nameConstraintsTest27EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest11EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest14EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest18EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest19EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest1EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest4EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest5EE.crt
-net/third_party/nist-pkits/certs/ValidDNnameConstraintsTest6EE.crt
-net/third_party/nist-pkits/certs/ValidDSAParameterInheritanceTest5EE.crt
-net/third_party/nist-pkits/certs/ValidDSASignaturesTest4EE.crt
-net/third_party/nist-pkits/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt
-net/third_party/nist-pkits/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt
-net/third_party/nist-pkits/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt
-net/third_party/nist-pkits/certs/ValidIDPwithindirectCRLTest22EE.crt
-net/third_party/nist-pkits/certs/ValidIDPwithindirectCRLTest24EE.crt
-net/third_party/nist-pkits/certs/ValidIDPwithindirectCRLTest25EE.crt
-net/third_party/nist-pkits/certs/ValidLongSerialNumberTest16EE.crt
-net/third_party/nist-pkits/certs/ValidLongSerialNumberTest17EE.crt
-net/third_party/nist-pkits/certs/ValidNameChainingCapitalizationTest5EE.crt
-net/third_party/nist-pkits/certs/ValidNameChainingWhitespaceTest3EE.crt
-net/third_party/nist-pkits/certs/ValidNameChainingWhitespaceTest4EE.crt
-net/third_party/nist-pkits/certs/ValidNameUIDsTest6EE.crt
-net/third_party/nist-pkits/certs/ValidNegativeSerialNumberTest14EE.crt
-net/third_party/nist-pkits/certs/ValidNoissuingDistributionPointTest10EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest11EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest12EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest13EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest14EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest1EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest3EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest5EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest6EE.crt
-net/third_party/nist-pkits/certs/ValidPolicyMappingTest9EE.crt
-net/third_party/nist-pkits/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt
-net/third_party/nist-pkits/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt
-net/third_party/nist-pkits/certs/ValidRFC822nameConstraintsTest21EE.crt
-net/third_party/nist-pkits/certs/ValidRFC822nameConstraintsTest23EE.crt
-net/third_party/nist-pkits/certs/ValidRFC822nameConstraintsTest25EE.crt
-net/third_party/nist-pkits/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt
-net/third_party/nist-pkits/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt
-net/third_party/nist-pkits/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt
-net/third_party/nist-pkits/certs/ValidTwoCRLsTest7EE.crt
-net/third_party/nist-pkits/certs/ValidURInameConstraintsTest34EE.crt
-net/third_party/nist-pkits/certs/ValidURInameConstraintsTest36EE.crt
-net/third_party/nist-pkits/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt
-net/third_party/nist-pkits/certs/ValidUTF8StringEncodedNamesTest9EE.crt
-net/third_party/nist-pkits/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt
-net/third_party/nist-pkits/certs/ValidbasicConstraintsNotCriticalTest4EE.crt
-net/third_party/nist-pkits/certs/ValidcRLIssuerTest28EE.crt
-net/third_party/nist-pkits/certs/ValidcRLIssuerTest29EE.crt
-net/third_party/nist-pkits/certs/ValidcRLIssuerTest30EE.crt
-net/third_party/nist-pkits/certs/ValidcRLIssuerTest33EE.crt
-net/third_party/nist-pkits/certs/ValiddeltaCRLTest2EE.crt
-net/third_party/nist-pkits/certs/ValiddeltaCRLTest5EE.crt
-net/third_party/nist-pkits/certs/ValiddeltaCRLTest7EE.crt
-net/third_party/nist-pkits/certs/ValiddeltaCRLTest8EE.crt
-net/third_party/nist-pkits/certs/ValiddistributionPointTest1EE.crt
-net/third_party/nist-pkits/certs/ValiddistributionPointTest4EE.crt
-net/third_party/nist-pkits/certs/ValiddistributionPointTest5EE.crt
-net/third_party/nist-pkits/certs/ValiddistributionPointTest7EE.crt
-net/third_party/nist-pkits/certs/ValidinhibitAnyPolicyTest2EE.crt
-net/third_party/nist-pkits/certs/ValidinhibitPolicyMappingTest2EE.crt
-net/third_party/nist-pkits/certs/ValidinhibitPolicyMappingTest4EE.crt
-net/third_party/nist-pkits/certs/ValidkeyUsageNotCriticalTest3EE.crt
-net/third_party/nist-pkits/certs/ValidonlyContainsCACertsTest13EE.crt
-net/third_party/nist-pkits/certs/ValidonlySomeReasonsTest18EE.crt
-net/third_party/nist-pkits/certs/ValidonlySomeReasonsTest19EE.crt
-net/third_party/nist-pkits/certs/ValidpathLenConstraintTest13EE.crt
-net/third_party/nist-pkits/certs/ValidpathLenConstraintTest14EE.crt
-net/third_party/nist-pkits/certs/ValidpathLenConstraintTest7EE.crt
-net/third_party/nist-pkits/certs/ValidpathLenConstraintTest8EE.crt
-net/third_party/nist-pkits/certs/Validpre2000UTCnotBeforeDateTest3EE.crt
-net/third_party/nist-pkits/certs/ValidrequireExplicitPolicyTest1EE.crt
-net/third_party/nist-pkits/certs/ValidrequireExplicitPolicyTest2EE.crt
-net/third_party/nist-pkits/certs/ValidrequireExplicitPolicyTest4EE.crt
-net/third_party/nist-pkits/certs/WrongCRLCACert.crt
-net/third_party/nist-pkits/certs/anyPolicyCACert.crt
-net/third_party/nist-pkits/certs/basicConstraintsCriticalcAFalseCACert.crt
-net/third_party/nist-pkits/certs/basicConstraintsNotCriticalCACert.crt
-net/third_party/nist-pkits/certs/basicConstraintsNotCriticalcAFalseCACert.crt
-net/third_party/nist-pkits/certs/deltaCRLCA1Cert.crt
-net/third_party/nist-pkits/certs/deltaCRLCA2Cert.crt
-net/third_party/nist-pkits/certs/deltaCRLCA3Cert.crt
-net/third_party/nist-pkits/certs/deltaCRLIndicatorNoBaseCACert.crt
-net/third_party/nist-pkits/certs/distributionPoint1CACert.crt
-net/third_party/nist-pkits/certs/distributionPoint2CACert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA1Cert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA2Cert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA3Cert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA3cRLIssuerCert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA4Cert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA4cRLIssuerCert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA5Cert.crt
-net/third_party/nist-pkits/certs/indirectCRLCA6Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy0CACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1CACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1subCA1Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1subCA2Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1subCAIAP5Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy1subsubCA2Cert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy5CACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy5subCACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicy5subsubCACert.crt
-net/third_party/nist-pkits/certs/inhibitAnyPolicyTest3EE.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping0CACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping0subCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P12CACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P12subCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P12subsubCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P1CACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P1subCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping1P1subsubCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping5CACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping5subCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping5subsubCACert.crt
-net/third_party/nist-pkits/certs/inhibitPolicyMapping5subsubsubCACert.crt
-net/third_party/nist-pkits/certs/keyUsageCriticalcRLSignFalseCACert.crt
-net/third_party/nist-pkits/certs/keyUsageCriticalkeyCertSignFalseCACert.crt
-net/third_party/nist-pkits/certs/keyUsageNotCriticalCACert.crt
-net/third_party/nist-pkits/certs/keyUsageNotCriticalcRLSignFalseCACert.crt
-net/third_party/nist-pkits/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN1CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN1SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN1subCA1Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN1subCA2Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN1subCA3Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN2CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN3CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN3subCA1Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN3subCA2Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN4CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDN5CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDNS1CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsDNS2CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsRFC822CA1Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsRFC822CA2Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsRFC822CA3Cert.crt
-net/third_party/nist-pkits/certs/nameConstraintsURI1CACert.crt
-net/third_party/nist-pkits/certs/nameConstraintsURI2CACert.crt
-net/third_party/nist-pkits/certs/onlyContainsAttributeCertsCACert.crt
-net/third_party/nist-pkits/certs/onlyContainsCACertsCACert.crt
-net/third_party/nist-pkits/certs/onlyContainsUserCertsCACert.crt
-net/third_party/nist-pkits/certs/onlySomeReasonsCA1Cert.crt
-net/third_party/nist-pkits/certs/onlySomeReasonsCA2Cert.crt
-net/third_party/nist-pkits/certs/onlySomeReasonsCA3Cert.crt
-net/third_party/nist-pkits/certs/onlySomeReasonsCA4Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint0CACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint0SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint0subCA2Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint0subCACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint1CACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint1SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint1SelfIssuedsubCACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint1subCACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6CACert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subCA0Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subCA1Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subCA4Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subsubCA00Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subsubCA11Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subsubCA41Cert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subsubsubCA11XCert.crt
-net/third_party/nist-pkits/certs/pathLenConstraint6subsubsubCA41XCert.crt
-net/third_party/nist-pkits/certs/pre2000CRLnextUpdateCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy0CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy0subCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy0subsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy0subsubsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy10CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy10subCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy10subsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy10subsubsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy2CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy2SelfIssuedCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy2subCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy4CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy4subCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy4subsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy4subsubsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy5CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy5subCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy5subsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy5subsubsubCACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy7CACert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy7subCARE2Cert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt
-net/third_party/nist-pkits/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt
-net/third_party/nist-pkits/crls/BadCRLIssuerNameCACRL.crl
-net/third_party/nist-pkits/crls/BadCRLSignatureCACRL.crl
-net/third_party/nist-pkits/crls/BadSignedCACRL.crl
-net/third_party/nist-pkits/crls/BadnotAfterDateCACRL.crl
-net/third_party/nist-pkits/crls/BadnotBeforeDateCACRL.crl
-net/third_party/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl
-net/third_party/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl
-net/third_party/nist-pkits/crls/BasicSelfIssuedNewKeyCACRL.crl
-net/third_party/nist-pkits/crls/BasicSelfIssuedOldKeyCACRL.crl
-net/third_party/nist-pkits/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl
-net/third_party/nist-pkits/crls/DSACACRL.crl
-net/third_party/nist-pkits/crls/DSAParametersInheritedCACRL.crl
-net/third_party/nist-pkits/crls/GeneralizedTimeCRLnextUpdateCACRL.crl
-net/third_party/nist-pkits/crls/GoodCACRL.crl
-net/third_party/nist-pkits/crls/GoodsubCACRL.crl
-net/third_party/nist-pkits/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl
-net/third_party/nist-pkits/crls/LongSerialNumberCACRL.crl
-net/third_party/nist-pkits/crls/Mapping1to2CACRL.crl
-net/third_party/nist-pkits/crls/MappingFromanyPolicyCACRL.crl
-net/third_party/nist-pkits/crls/MappingToanyPolicyCACRL.crl
-net/third_party/nist-pkits/crls/MissingbasicConstraintsCACRL.crl
-net/third_party/nist-pkits/crls/NameOrderCACRL.crl
-net/third_party/nist-pkits/crls/NegativeSerialNumberCACRL.crl
-net/third_party/nist-pkits/crls/NoPoliciesCACRL.crl
-net/third_party/nist-pkits/crls/NoissuingDistributionPointCACRL.crl
-net/third_party/nist-pkits/crls/OldCRLnextUpdateCACRL.crl
-net/third_party/nist-pkits/crls/P12Mapping1to3CACRL.crl
-net/third_party/nist-pkits/crls/P12Mapping1to3subCACRL.crl
-net/third_party/nist-pkits/crls/P12Mapping1to3subsubCACRL.crl
-net/third_party/nist-pkits/crls/P1Mapping1to234CACRL.crl
-net/third_party/nist-pkits/crls/P1Mapping1to234subCACRL.crl
-net/third_party/nist-pkits/crls/P1anyPolicyMapping1to2CACRL.crl
-net/third_party/nist-pkits/crls/PanyPolicyMapping1to2CACRL.crl
-net/third_party/nist-pkits/crls/PoliciesP1234CACRL.crl
-net/third_party/nist-pkits/crls/PoliciesP1234subCAP123CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP1234subsubCAP123P12CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP123CACRL.crl
-net/third_party/nist-pkits/crls/PoliciesP123subCAP12CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP123subsubCAP12P1CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP123subsubCAP2P2CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP12CACRL.crl
-net/third_party/nist-pkits/crls/PoliciesP12subCAP1CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP12subsubCAP1P2CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP2subCA2CRL.crl
-net/third_party/nist-pkits/crls/PoliciesP2subCACRL.crl
-net/third_party/nist-pkits/crls/PoliciesP3CACRL.crl
-net/third_party/nist-pkits/crls/RFC3280MandatoryAttributeTypesCACRL.crl
-net/third_party/nist-pkits/crls/RFC3280OptionalAttributeTypesCACRL.crl
-net/third_party/nist-pkits/crls/RevokedsubCACRL.crl
-net/third_party/nist-pkits/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl
-net/third_party/nist-pkits/crls/SeparateCertificateandCRLKeysCA2CRL.crl
-net/third_party/nist-pkits/crls/SeparateCertificateandCRLKeysCRL.crl
-net/third_party/nist-pkits/crls/TrustAnchorRootCRL.crl
-net/third_party/nist-pkits/crls/TwoCRLsCABadCRL.crl
-net/third_party/nist-pkits/crls/TwoCRLsCAGoodCRL.crl
-net/third_party/nist-pkits/crls/UIDCACRL.crl
-net/third_party/nist-pkits/crls/UTF8StringCaseInsensitiveMatchCACRL.crl
-net/third_party/nist-pkits/crls/UTF8StringEncodedNamesCACRL.crl
-net/third_party/nist-pkits/crls/UnknownCRLEntryExtensionCACRL.crl
-net/third_party/nist-pkits/crls/UnknownCRLExtensionCACRL.crl
-net/third_party/nist-pkits/crls/WrongCRLCACRL.crl
-net/third_party/nist-pkits/crls/anyPolicyCACRL.crl
-net/third_party/nist-pkits/crls/basicConstraintsCriticalcAFalseCACRL.crl
-net/third_party/nist-pkits/crls/basicConstraintsNotCriticalCACRL.crl
-net/third_party/nist-pkits/crls/basicConstraintsNotCriticalcAFalseCACRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA1CRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA1deltaCRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA2CRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA2deltaCRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA3CRL.crl
-net/third_party/nist-pkits/crls/deltaCRLCA3deltaCRL.crl
-net/third_party/nist-pkits/crls/deltaCRLIndicatorNoBaseCACRL.crl
-net/third_party/nist-pkits/crls/distributionPoint1CACRL.crl
-net/third_party/nist-pkits/crls/distributionPoint2CACRL.crl
-net/third_party/nist-pkits/crls/indirectCRLCA1CRL.crl
-net/third_party/nist-pkits/crls/indirectCRLCA3CRL.crl
-net/third_party/nist-pkits/crls/indirectCRLCA3cRLIssuerCRL.crl
-net/third_party/nist-pkits/crls/indirectCRLCA4cRLIssuerCRL.crl
-net/third_party/nist-pkits/crls/indirectCRLCA5CRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy0CACRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy1CACRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy1subCA1CRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy1subCA2CRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy1subCAIAP5CRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy1subsubCA2CRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy5CACRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy5subCACRL.crl
-net/third_party/nist-pkits/crls/inhibitAnyPolicy5subsubCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping0CACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping0subCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P12CACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P12subCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P12subsubCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P1CACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P1subCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping1P1subsubCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping5CACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping5subCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping5subsubCACRL.crl
-net/third_party/nist-pkits/crls/inhibitPolicyMapping5subsubsubCACRL.crl
-net/third_party/nist-pkits/crls/keyUsageCriticalcRLSignFalseCACRL.crl
-net/third_party/nist-pkits/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl
-net/third_party/nist-pkits/crls/keyUsageNotCriticalCACRL.crl
-net/third_party/nist-pkits/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl
-net/third_party/nist-pkits/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN1CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN1subCA1CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN1subCA2CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN1subCA3CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN2CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN3CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN3subCA1CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN3subCA2CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN4CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDN5CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDNS1CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsDNS2CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsRFC822CA1CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsRFC822CA2CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsRFC822CA3CRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsURI1CACRL.crl
-net/third_party/nist-pkits/crls/nameConstraintsURI2CACRL.crl
-net/third_party/nist-pkits/crls/onlyContainsAttributeCertsCACRL.crl
-net/third_party/nist-pkits/crls/onlyContainsCACertsCACRL.crl
-net/third_party/nist-pkits/crls/onlyContainsUserCertsCACRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA1compromiseCRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA1otherreasonsCRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA2CRL1.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA2CRL2.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA3compromiseCRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA3otherreasonsCRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA4compromiseCRL.crl
-net/third_party/nist-pkits/crls/onlySomeReasonsCA4otherreasonsCRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint0CACRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint0subCA2CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint0subCACRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint1CACRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint1subCACRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6CACRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subCA0CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subCA1CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subCA4CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subsubCA00CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subsubCA11CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subsubCA41CRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subsubsubCA11XCRL.crl
-net/third_party/nist-pkits/crls/pathLenConstraint6subsubsubCA41XCRL.crl
-net/third_party/nist-pkits/crls/pre2000CRLnextUpdateCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy0CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy0subCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy0subsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy0subsubsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy10CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy10subCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy10subsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy10subsubsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy2CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy2subCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy4CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy4subCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy4subsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy4subsubsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy5CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy5subCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy5subsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy5subsubsubCACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy7CACRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy7subCARE2CRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl
-net/third_party/nist-pkits/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl
 net/tools/testserver/dist/_socket.pyd
 net/tools/testserver/dist/_ssl.pyd
 pdf/pdfium/fuzzers/corpora/pdf_codec_tiff/not_kitty.tiff
@@ -3251,6 +2673,9 @@ third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Secu
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx
 third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx
+third_party/boringssl/src/crypto/pkcs8/test/bad1.p12
+third_party/boringssl/src/crypto/pkcs8/test/bad2.p12
+third_party/boringssl/src/crypto/pkcs8/test/bad3.p12
 third_party/boringssl/src/crypto/pkcs8/test/empty_password.p12
 third_party/boringssl/src/crypto/pkcs8/test/empty_password_ber.p12
 third_party/boringssl/src/crypto/pkcs8/test/empty_password_ber_nested.p12
@@ -7009,6 +6434,7 @@ third_party/boringssl/src/pki/testdata/nist-pkits/crls/requireExplicitPolicy7sub
 third_party/boringssl/src/pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl
 third_party/boringssl/src/pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl
 third_party/boringssl/src/pki/testdata/parse_certificate_unittest/v3_certificate_template.pk8
+third_party/boringssl/src/pki/testdata/verify_unittest/google-leaf.der
 third_party/boringssl/src/util/ar/testdata/linux/bar.cc.o
 third_party/boringssl/src/util/ar/testdata/linux/foo.c.o
 third_party/boringssl/src/util/ar/testdata/linux/libsample.a
@@ -7821,6 +7247,7 @@ third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execut
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin
+third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/ai_arithmetic.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin
@@ -7894,6 +7321,8 @@ third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execut
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/trunc.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin
+third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/ai_arithmetic.bin
+third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/ai_assignment.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin
 third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin
@@ -7915,7 +7344,6 @@ third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-h264-bt601-rot
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-h264-bt601-rotate-90.mp4
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-h264-bt601-vflip.mp4
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-h264-bt601.mp4
-third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-theora-bt601.ogv
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp8-bt601.webm
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt601-hflip.mp4
 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt601-rotate-180.mp4
@@ -14377,34 +13805,34 @@ third_party/quic_trace/src/examples/example.json.gz
 third_party/quic_trace/src/examples/example.qtr
 third_party/r8/custom_d8.jar
 third_party/r8/custom_r8.jar
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/testdata/fowler/dat/basic.dat
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/crash-7eb3351f0965e5d6c1cb98aa8585949ef96531ff
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/crash-8760b19b25d74e3603d4c643e9c7404fdd3631f9
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/crash-cd33b13df59ea9d74503986f9d32a270dd43cc04
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/minimized-from-8760b19b25d74e3603d4c643e9c7404fdd3631f9
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-3ab758ea520027fefd3f00e1384d9aeef155739e
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-5345fccadf3812c53c3ccc7af5aa2741b7b2106c
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-6bd643eec330166e4ada91da2d3f284268481085
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-93c73a43581f205f9aaffd9c17e52b34b17becd0
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-9ca9cc9929fee1fcbb847a78384effb8b98ea18a
-third_party/rust/chromium_crates_io/vendor/regex-1.10.2/tests/fuzz/testdata/slow-unit-b8a052f4254802edbe5f569b6ce6e9b6c927e9d6
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_dense_crash-9486fb7c8a93b12c12a62166b43d31640c0208a9
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_dense_minimized-from-9486fb7c8a93b12c12a62166b43d31640c0208a9
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-0da59c0434eaf35e5a6b470fa9244bb79c72b000
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-18cfc246f2ddfc3dfc92b0c7893178c7cf65efa9
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-61fd8e3003bf9d99f6c1e5a8488727eefd234b98
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-a1b839d899ced76d5d7d0f78f9edb7a421505838
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-c383ae07ec5e191422eadc492117439011816570
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-d07703ceb94b10dcd9e4acb809f2051420449e2b
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/fuzz/testdata/deserialize_sparse_crash-dbb8172d3984e7e7d03f4b5f8bb86ecd1460eff9
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/dense/multi_pattern_v2_fwd.bigendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/dense/multi_pattern_v2_fwd.littleendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/dense/multi_pattern_v2_rev.bigendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/dense/multi_pattern_v2_rev.littleendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/sparse/multi_pattern_v2_fwd.bigendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/sparse/multi_pattern_v2_fwd.littleendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/sparse/multi_pattern_v2_rev.bigendian.dfa
-third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.3/tests/gen/sparse/multi_pattern_v2_rev.littleendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/testdata/fowler/dat/basic.dat
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/crash-7eb3351f0965e5d6c1cb98aa8585949ef96531ff
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/crash-8760b19b25d74e3603d4c643e9c7404fdd3631f9
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/crash-cd33b13df59ea9d74503986f9d32a270dd43cc04
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/minimized-from-8760b19b25d74e3603d4c643e9c7404fdd3631f9
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-3ab758ea520027fefd3f00e1384d9aeef155739e
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-5345fccadf3812c53c3ccc7af5aa2741b7b2106c
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-6bd643eec330166e4ada91da2d3f284268481085
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-93c73a43581f205f9aaffd9c17e52b34b17becd0
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-9ca9cc9929fee1fcbb847a78384effb8b98ea18a
+third_party/rust/chromium_crates_io/vendor/regex-1.10.3/tests/fuzz/testdata/slow-unit-b8a052f4254802edbe5f569b6ce6e9b6c927e9d6
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_dense_crash-9486fb7c8a93b12c12a62166b43d31640c0208a9
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_dense_minimized-from-9486fb7c8a93b12c12a62166b43d31640c0208a9
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-0da59c0434eaf35e5a6b470fa9244bb79c72b000
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-18cfc246f2ddfc3dfc92b0c7893178c7cf65efa9
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-61fd8e3003bf9d99f6c1e5a8488727eefd234b98
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-a1b839d899ced76d5d7d0f78f9edb7a421505838
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-c383ae07ec5e191422eadc492117439011816570
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-d07703ceb94b10dcd9e4acb809f2051420449e2b
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/fuzz/testdata/deserialize_sparse_crash-dbb8172d3984e7e7d03f4b5f8bb86ecd1460eff9
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/dense/multi_pattern_v2_fwd.bigendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/dense/multi_pattern_v2_fwd.littleendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/dense/multi_pattern_v2_rev.bigendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/dense/multi_pattern_v2_rev.littleendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/sparse/multi_pattern_v2_fwd.bigendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/sparse/multi_pattern_v2_fwd.littleendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/sparse/multi_pattern_v2_rev.bigendian.dfa
+third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5/tests/gen/sparse/multi_pattern_v2_rev.littleendian.dfa
 third_party/rust/chromium_crates_io/vendor/unicode-ident-1.0.12/tests/fst/xid_continue.fst
 third_party/rust/chromium_crates_io/vendor/unicode-ident-1.0.12/tests/fst/xid_start.fst
 third_party/skia/demos.skia.org/demos/mesh2d/canvaskit.wasm
@@ -15429,6 +14857,7 @@ third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/af
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin
+third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/ai_arithmetic.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin
@@ -15502,6 +14931,8 @@ third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/transpose
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/trunc.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin
+third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/ai_arithmetic.bin
+third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/ai_assignment.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin
@@ -15517,15 +14948,18 @@ third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unpack2x1
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin
 third_party/webgpu-cts/src/src/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin
+third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601-hflip.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601-rotate-180.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601-rotate-270.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601-rotate-90.mp4
+third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601-vflip.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-h264-bt601.mp4
-third_party/webgpu-cts/src/src/resources/four-colors-theora-bt601.ogv
 third_party/webgpu-cts/src/src/resources/four-colors-vp8-bt601.webm
+third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601-hflip.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601-rotate-180.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601-rotate-270.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601-rotate-90.mp4
+third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601-vflip.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601.mp4
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt601.webm
 third_party/webgpu-cts/src/src/resources/four-colors-vp9-bt709.webm

+ 2 - 0
utils/prune_binaries.py

@@ -96,7 +96,9 @@ def prune_dirs(unpack_root):
     """
     for pycache in unpack_root.rglob('__pycache__'):
         _prune_path(pycache)
+    get_logger().info('Removing Contingent Paths')
     for cpath in CONTINGENT_PATHS:
+        get_logger().info('%s: %s', 'Exists' if Path(cpath).exists() else 'Absent', cpath)
         _prune_path(unpack_root / cpath)
 
 

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