Browse Source

Update Chromium to 74.0.3729.75

qvint 5 years ago
parent
commit
e267680f11
59 changed files with 802 additions and 877 deletions
  1. 1 1
      chromium_version.txt
  2. 174 104
      domain_substitution.list
  3. 1 1
      patches/core/bromite/disable-fetching-field-trials.patch
  4. 1 1
      patches/core/debian_buster/disable/perfetto.patch
  5. 1 1
      patches/core/debian_buster/disable/unrar.patch
  6. 123 89
      patches/core/inox-patchset/0001-fix-building-without-safebrowsing.patch
  7. 7 7
      patches/core/inox-patchset/0003-disable-autofill-download-manager.patch
  8. 9 10
      patches/core/inox-patchset/0005-disable-default-extensions.patch
  9. 1 1
      patches/core/inox-patchset/0009-disable-google-ipv6-probes.patch
  10. 2 2
      patches/core/inox-patchset/0014-disable-translation-lang-fetch.patch
  11. 1 1
      patches/core/inox-patchset/0015-disable-update-pings.patch
  12. 1 1
      patches/core/inox-patchset/0017-disable-new-avatar-menu.patch
  13. 31 31
      patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
  14. 0 32
      patches/core/iridium-browser/promo-disable-Google-promotion-fetching.patch
  15. 2 2
      patches/core/iridium-browser/safe_browsing-disable-incident-reporting.patch
  16. 11 11
      patches/core/ungoogled-chromium/block-trk-and-subdomains.patch
  17. 6 6
      patches/core/ungoogled-chromium/disable-crash-reporter.patch
  18. 3 3
      patches/core/ungoogled-chromium/disable-fonts-googleapis-references.patch
  19. 6 6
      patches/core/ungoogled-chromium/disable-gaia.patch
  20. 107 109
      patches/core/ungoogled-chromium/disable-google-host-detection.patch
  21. 2 2
      patches/core/ungoogled-chromium/disable-mei-preload.patch
  22. 3 14
      patches/core/ungoogled-chromium/disable-signin.patch
  23. 3 3
      patches/core/ungoogled-chromium/disable-translate.patch
  24. 3 3
      patches/core/ungoogled-chromium/disable-webrtc-log-uploader.patch
  25. 2 2
      patches/core/ungoogled-chromium/disable-webstore-urls.patch
  26. 13 13
      patches/core/ungoogled-chromium/fix-building-without-one-click-signin.patch
  27. 1 1
      patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch
  28. 1 1
      patches/core/ungoogled-chromium/use-local-devtools-files.patch
  29. 30 30
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  30. 14 14
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  31. 12 12
      patches/extra/bromite/flag-max-connections-per-host.patch
  32. 1 1
      patches/extra/debian_buster/disable/android.patch
  33. 3 3
      patches/extra/debian_buster/disable/fuzzers.patch
  34. 1 1
      patches/extra/debian_buster/disable/welcome-page.patch
  35. 0 14
      patches/extra/debian_buster/fixes/chromedriver-revision.patch
  36. 1 1
      patches/extra/debian_buster/fixes/connection-message.patch
  37. 1 1
      patches/extra/debian_buster/gn/parallel.patch
  38. 0 40
      patches/extra/debian_buster/system/fontconfig.patch
  39. 0 30
      patches/extra/google/prevent-vsyncparameters-log-flooding.patch
  40. 6 8
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  41. 1 1
      patches/extra/inox-patchset/0008-restore-classic-ntp.patch
  42. 5 4
      patches/extra/inox-patchset/0019-disable-battery-status-service.patch
  43. 1 1
      patches/extra/inox-patchset/chromium-widevine.patch
  44. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  45. 12 12
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  46. 4 4
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  47. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
  48. 4 4
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  49. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch
  50. 2 2
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  51. 3 3
      patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
  52. 10 10
      patches/extra/ungoogled-chromium/clear-http-auth-cache-menu-item.patch
  53. 1 1
      patches/extra/ungoogled-chromium/default-to-https-scheme.patch
  54. 7 7
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  55. 1 1
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  56. 2 2
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  57. 1 1
      patches/extra/ungoogled-chromium/popups-to-tabs.patch
  58. 0 4
      patches/series
  59. 159 203
      pruning.list

+ 1 - 1
chromium_version.txt

@@ -1 +1 @@
-73.0.3683.103
+74.0.3729.75

File diff suppressed because it is too large
+ 174 - 104
domain_substitution.list


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

@@ -45,7 +45,7 @@ Subject: Disable fetching of all field trials
      // Alphabetical:
 --- a/components/variations/service/variations_service.cc
 +++ b/components/variations/service/variations_service.cc
-@@ -239,17 +239,7 @@ bool GetInstanceManipulations(const net:
+@@ -240,17 +240,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() {

+ 1 - 1
patches/core/debian_buster/disable/perfetto.patch

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -661,7 +661,7 @@ group("gn_all") {
+@@ -666,7 +666,7 @@ group("gn_all") {
      }
    }
  

+ 1 - 1
patches/core/debian_buster/disable/unrar.patch

@@ -76,7 +76,7 @@ bug: http://bugs.debian.org/914487
  }
 --- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
 +++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
-@@ -100,7 +100,7 @@ void FileAnalyzer::Start(const base::Fil
+@@ -101,7 +101,7 @@ void FileAnalyzer::Start(const base::Fil
    if (inspection_type == DownloadFileType::ZIP) {
      StartExtractZipFeatures();
    } else if (inspection_type == DownloadFileType::RAR) {

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -853,30 +853,6 @@ void SetApplicationLocaleOnIOThread(cons
+@@ -860,30 +860,6 @@ void SetApplicationLocaleOnIOThread(cons
    GetIOThreadApplicationLocale() = locale;
  }
  
@@ -31,7 +31,7 @@
  #if defined(OS_ANDROID)
  float GetDeviceScaleAdjustment() {
    static const float kMinFSM = 1.05f;
-@@ -2052,7 +2028,7 @@ void ChromeContentBrowserClient::AppendE
+@@ -2089,7 +2065,7 @@ void ChromeContentBrowserClient::AppendE
        // Disable client-side phishing detection in the renderer if it is
        // disabled in the Profile preferences or the browser process.
        if (!prefs->GetBoolean(prefs::kSafeBrowsingEnabled) ||
@@ -40,7 +40,7 @@
          command_line->AppendSwitch(
              switches::kDisableClientSidePhishingDetection);
        }
-@@ -2747,7 +2723,7 @@ void ChromeContentBrowserClient::AllowCe
+@@ -2718,7 +2694,7 @@ void ChromeContentBrowserClient::AllowCe
    SSLErrorHandler::HandleSSLError(
        web_contents, cert_error, ssl_info, request_url,
        expired_previous_decision,
@@ -49,7 +49,7 @@
        callback, SSLErrorHandler::BlockingPageReadyCallback());
  }
  
-@@ -3030,8 +3006,6 @@ bool ChromeContentBrowserClient::CanCrea
+@@ -3003,8 +2979,6 @@ bool ChromeContentBrowserClient::CanCrea
  void ChromeContentBrowserClient::ResourceDispatcherHostCreated() {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
  
@@ -58,7 +58,7 @@
    for (size_t i = 0; i < extra_parts_.size(); ++i)
      extra_parts_[i]->ResourceDispatcherHostCreated();
  
-@@ -4250,7 +4224,7 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4242,7 +4216,7 @@ ChromeContentBrowserClient::CreateThrott
    if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
      throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
          handle,
@@ -67,7 +67,7 @@
          base::Bind(&SSLErrorHandler::HandleSSLError)));
    }
  
-@@ -4282,11 +4256,6 @@ ChromeContentBrowserClient::CreateThrott
+@@ -4274,11 +4248,6 @@ ChromeContentBrowserClient::CreateThrott
        PreviewsLitePageDecider::MaybeCreateThrottleFor(handle);
    if (previews_lite_page_throttle)
      throttles.push_back(std::move(previews_lite_page_throttle));
@@ -81,7 +81,7 @@
      (defined(OS_LINUX) && !defined(OS_CHROMEOS))
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -589,18 +589,6 @@ ProfileImpl::ProfileImpl(
+@@ -563,18 +563,6 @@ ProfileImpl::ProfileImpl(
                                   create_mode == CREATE_MODE_SYNCHRONOUS);
  #endif
  
@@ -100,7 +100,7 @@
    content::BrowserContext::Initialize(this, path_);
  
    {
-@@ -609,7 +597,7 @@ ProfileImpl::ProfileImpl(
+@@ -583,7 +571,7 @@ ProfileImpl::ProfileImpl(
              ->CreateDelegate();
      delegate->InitPrefRegistry(pref_registry_.get());
      prefs_ = chrome_prefs::CreateProfilePrefs(
@@ -111,7 +111,7 @@
          GetIOTaskRunner(), std::move(delegate));
 --- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
 +++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
-@@ -290,8 +290,7 @@ void NotifyUIThreadOfRequestComplete(
+@@ -289,8 +289,7 @@ void NotifyUIThreadOfRequestComplete(
  }  // namespace
  
  ChromeResourceDispatcherHostDelegate::ChromeResourceDispatcherHostDelegate()
@@ -121,7 +121,7 @@
  
  ChromeResourceDispatcherHostDelegate::~ChromeResourceDispatcherHostDelegate() {
  #if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -305,8 +304,6 @@ void ChromeResourceDispatcherHostDelegat
+@@ -304,8 +303,6 @@ void ChromeResourceDispatcherHostDelegat
      content::AppCacheService* appcache_service,
      ResourceType resource_type,
      std::vector<std::unique_ptr<content::ResourceThrottle>>* throttles) {
@@ -130,19 +130,10 @@
    ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
  
  #if BUILDFLAG(ENABLE_OFFLINE_PAGES) || BUILDFLAG(ENABLE_NACL)
-@@ -410,7 +407,7 @@ void ChromeResourceDispatcherHostDelegat
-   content::ResourceThrottle* first_throttle = NULL;
- #if defined(OS_ANDROID)
-   first_throttle = DataReductionProxyResourceThrottle::MaybeCreate(
--      request, resource_context, resource_type, safe_browsing_.get());
-+      request, resource_context, resource_type, nullptr);
- #endif  // defined(OS_ANDROID)
- 
- #if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
 --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
 +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
-@@ -250,117 +250,6 @@ BadClockBlockingPage* CreateBadClockBloc
-       base::Callback<void(content::CertificateRequestResultType)>());
+@@ -267,117 +267,6 @@ LookalikeUrlInterstitialPage* CreateLook
+                                                      safe_url));
  }
  
 -safe_browsing::SafeBrowsingBlockingPage* CreateSafeBrowsingBlockingPage(
@@ -259,7 +250,7 @@
  #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
  CaptivePortalBlockingPage* CreateCaptivePortalBlockingPage(
      content::WebContents* web_contents) {
-@@ -460,8 +349,6 @@ void InterstitialHTMLSource::StartDataRe
+@@ -484,8 +373,6 @@ void InterstitialHTMLSource::StartDataRe
      interstitial_delegate.reset(CreateSSLBlockingPage(web_contents));
    } else if (path_without_query == "/mitm-software-ssl") {
      interstitial_delegate.reset(CreateMITMSoftwareBlockingPage(web_contents));
@@ -267,8 +258,8 @@
 -    interstitial_delegate.reset(CreateSafeBrowsingBlockingPage(web_contents));
    } else if (path_without_query == "/clock") {
      interstitial_delegate.reset(CreateBadClockBlockingPage(web_contents));
- #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
-@@ -472,11 +359,6 @@ void InterstitialHTMLSource::StartDataRe
+   } else if (path_without_query == "/lookalike") {
+@@ -501,11 +388,6 @@ void InterstitialHTMLSource::StartDataRe
  
    if (path_without_query == "/supervised_user") {
      html = GetSupervisedUserInterstitialHTML(path);
@@ -282,7 +273,7 @@
    } else {
 --- a/chrome/browser/extensions/blacklist_state_fetcher.cc
 +++ b/chrome/browser/extensions/blacklist_state_fetcher.cc
-@@ -31,28 +31,9 @@ BlacklistStateFetcher::~BlacklistStateFe
+@@ -32,28 +32,9 @@ BlacklistStateFetcher::~BlacklistStateFe
  void BlacklistStateFetcher::Request(const std::string& id,
                                      const RequestCallback& callback) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -314,7 +305,7 @@
  }
  
  void BlacklistStateFetcher::SendRequest(const std::string& id) {
-@@ -63,8 +44,7 @@ void BlacklistStateFetcher::SendRequest(
+@@ -64,8 +45,7 @@ void BlacklistStateFetcher::SendRequest(
    std::string request_str;
    request.SerializeToString(&request_str);
  
@@ -324,7 +315,7 @@
    net::NetworkTrafficAnnotationTag traffic_annotation =
        net::DefineNetworkTrafficAnnotation("extension_blacklist", R"(
          semantics {
-@@ -111,12 +91,6 @@ void BlacklistStateFetcher::SendRequest(
+@@ -112,12 +92,6 @@ void BlacklistStateFetcher::SendRequest(
                       base::Unretained(this), fetcher));
  }
  
@@ -358,7 +349,7 @@
    // SimpleURLLoader -> (owned loader, extension id).
 --- a/chrome/browser/download/chrome_download_manager_delegate.cc
 +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -322,13 +322,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
+@@ -327,13 +327,6 @@ ChromeDownloadManagerDelegate::~ChromeDo
  
  void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
    download_manager_ = dm;
@@ -372,7 +363,7 @@
  }
  
  #if defined(OS_ANDROID)
-@@ -636,16 +629,6 @@ void ChromeDownloadManagerDelegate::Choo
+@@ -644,16 +637,6 @@ void ChromeDownloadManagerDelegate::Choo
  
  void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
      base::FilePath* filename) {
@@ -519,7 +510,7 @@
  #include "chrome/browser/ui/webui/downloads/downloads_list_tracker.h"
  #include "chrome/browser/ui/webui/downloads/downloads.mojom.h"
  #include "content/public/browser/web_contents_observer.h"
-@@ -85,18 +84,6 @@ class MdDownloadsDOMHandler : public con
+@@ -85,18 +84,6 @@ class DownloadsDOMHandler : public conte
    // null-checking |original_notifier_|.
    content::DownloadManager* GetOriginalNotifierManager() const;
  
@@ -540,7 +531,7 @@
    bool IsDeletingHistoryAllowed();
 --- a/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc
 +++ b/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc
-@@ -21,7 +21,6 @@
+@@ -22,7 +22,6 @@
  #include "base/threading/thread.h"
  #include "base/values.h"
  #include "chrome/browser/browser_process.h"
@@ -548,7 +539,7 @@
  #include "chrome/browser/download/download_history.h"
  #include "chrome/browser/download/download_item_model.h"
  #include "chrome/browser/download/download_prefs.h"
-@@ -162,9 +161,6 @@ void MdDownloadsDOMHandler::SaveDangerou
+@@ -162,9 +161,6 @@ void DownloadsDOMHandler::SaveDangerousR
    }
  
    CountDownloadsDOMEvents(DOWNLOADS_DOM_EVENT_SAVE_DANGEROUS);
@@ -557,8 +548,8 @@
 -    ShowDangerPrompt(file);
  }
  
- void MdDownloadsDOMHandler::DiscardDangerous(const std::string& id) {
-@@ -307,12 +303,6 @@ void MdDownloadsDOMHandler::RemoveDownlo
+ void DownloadsDOMHandler::DiscardDangerous(const std::string& id) {
+@@ -307,12 +303,6 @@ void DownloadsDOMHandler::RemoveDownload
    IdSet ids;
  
    for (auto* download : to_remove) {
@@ -571,24 +562,23 @@
      DownloadItemModel item_model(download);
      if (!item_model.ShouldShowInShelf() ||
          download->GetState() == download::DownloadItem::IN_PROGRESS) {
-@@ -370,33 +360,6 @@ void MdDownloadsDOMHandler::FinalizeRemo
+@@ -369,32 +359,6 @@ void DownloadsDOMHandler::FinalizeRemova
    }
  }
  
--void MdDownloadsDOMHandler::ShowDangerPrompt(
+-void DownloadsDOMHandler::ShowDangerPrompt(
 -    download::DownloadItem* dangerous_item) {
 -  DownloadDangerPrompt* danger_prompt = DownloadDangerPrompt::Create(
--      dangerous_item,
--      GetWebUIWebContents(),
--      false,
--      base::Bind(&MdDownloadsDOMHandler::DangerPromptDone,
+-      dangerous_item, GetWebUIWebContents(), false,
+-      base::Bind(&DownloadsDOMHandler::DangerPromptDone,
 -                 weak_ptr_factory_.GetWeakPtr(), dangerous_item->GetId()));
 -  // danger_prompt will delete itself.
 -  DCHECK(danger_prompt);
 -}
 -
--void MdDownloadsDOMHandler::DangerPromptDone(
--    int download_id, DownloadDangerPrompt::Action action) {
+-void DownloadsDOMHandler::DangerPromptDone(
+-    int download_id,
+-    DownloadDangerPrompt::Action action) {
 -  if (action != DownloadDangerPrompt::ACCEPT)
 -    return;
 -  download::DownloadItem* item = NULL;
@@ -602,7 +592,7 @@
 -  item->ValidateDangerousDownload();
 -}
 -
- bool MdDownloadsDOMHandler::IsDeletingHistoryAllowed() {
+ bool DownloadsDOMHandler::IsDeletingHistoryAllowed() {
    content::DownloadManager* manager = GetMainNotifierManager();
    return manager &&
 --- a/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -615,7 +605,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"
-@@ -1304,9 +1303,6 @@ DownloadsAcceptDangerFunction::Downloads
+@@ -1305,9 +1304,6 @@ DownloadsAcceptDangerFunction::Downloads
  
  DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
  
@@ -625,7 +615,7 @@
  bool DownloadsAcceptDangerFunction::RunAsync() {
    std::unique_ptr<downloads::AcceptDanger::Params> params(
        downloads::AcceptDanger::Params::Create(*args_));
-@@ -1344,40 +1340,7 @@ void DownloadsAcceptDangerFunction::Prom
+@@ -1345,40 +1341,7 @@ void DownloadsAcceptDangerFunction::Prom
      return;
    }
    RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -674,9 +664,9 @@
  #include "base/scoped_observer.h"
  #include "base/time/time.h"
 -#include "chrome/browser/download/download_danger_prompt.h"
- #include "chrome/browser/download/download_path_reservation_tracker.h"
  #include "chrome/browser/extensions/chrome_extension_function.h"
  #include "chrome/common/extensions/api/downloads.h"
+ #include "components/download/content/public/all_download_item_notifier.h"
 @@ -189,25 +188,16 @@ class DownloadsRemoveFileFunction : publ
  
  class DownloadsAcceptDangerFunction : public ChromeAsyncExtensionFunction {
@@ -757,7 +747,18 @@
  }  // namespace
 --- a/chrome/browser/download/download_target_determiner.cc
 +++ b/chrome/browser/download/download_target_determiner.cc
-@@ -988,29 +988,7 @@ DownloadFileType::DangerLevel DownloadTa
+@@ -258,9 +258,7 @@ DownloadTargetDeterminer::Result
+     // considered safe by safe browsing. Noticed that when generating file name,
+     // |suggested_filename| and Content-Disposition header have higher priority
+     // than the URL.
+-    bool safe_file_ext =
+-        !safe_browsing::FileTypePolicies::GetInstance()->IsCheckedBinaryFile(
+-            generated_filename);
++    bool safe_file_ext = true;
+     net::HttpContentDisposition content_disposition_header(
+         download_->GetContentDisposition(), referrer_charset);
+     bool should_replace_extension =
+@@ -1028,29 +1026,7 @@ DownloadFileType::DangerLevel DownloadTa
        download_->HasUserGesture())
      return DownloadFileType::NOT_DANGEROUS;
  
@@ -790,7 +791,7 @@
  void DownloadTargetDeterminer::OnDownloadDestroyed(
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2698,8 +2698,6 @@ jumbo_split_static_library("browser") {
+@@ -2802,8 +2802,6 @@ jumbo_split_static_library("browser") {
        "download/download_commands.h",
        "download/download_crx_util.cc",
        "download/download_crx_util.h",
@@ -801,7 +802,7 @@
        "download/download_dir_util.cc",
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -2463,7 +2463,6 @@ jumbo_split_static_library("ui") {
+@@ -2461,7 +2461,6 @@ jumbo_split_static_library("ui") {
        "views/cookie_info_view.h",
        "views/device_chooser_content_view.cc",
        "views/device_chooser_content_view.h",
@@ -811,7 +812,7 @@
        "views/download/download_item_view.cc",
 --- a/chrome/browser/ssl/security_state_tab_helper.cc
 +++ b/chrome/browser/ssl/security_state_tab_helper.cc
-@@ -186,79 +186,6 @@ bool SecurityStateTabHelper::UsedPolicyI
+@@ -186,77 +186,6 @@ bool SecurityStateTabHelper::UsedPolicyI
  
  security_state::MaliciousContentStatus
  SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -867,9 +868,7 @@
 -        return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
 -#endif
 -      case safe_browsing::SB_THREAT_TYPE_BILLING:
--        return base::FeatureList::IsEnabled(safe_browsing::kBillingInterstitial)
--                   ? security_state::MALICIOUS_CONTENT_STATUS_BILLING
--                   : security_state::MALICIOUS_CONTENT_STATUS_NONE;
+-        return security_state::MALICIOUS_CONTENT_STATUS_BILLING;
 -      case safe_browsing::
 -          DEPRECATED_SB_THREAT_TYPE_URL_PASSWORD_PROTECTION_PHISHING:
 -      case safe_browsing::SB_THREAT_TYPE_URL_BINARY_MALWARE:
@@ -893,7 +892,7 @@
  
 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
 +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -628,35 +628,6 @@ void ChromeBrowsingDataRemoverDelegate::
+@@ -646,36 +646,6 @@ void ChromeBrowsingDataRemoverDelegate::
          CONTENT_SETTINGS_TYPE_CLIENT_HINTS, base::Time(), base::Time::Max(),
          website_settings_filter);
  
@@ -920,9 +919,10 @@
 -
 -        manager_ptr->DeleteCookies(
 -            std::move(deletion_filter),
--            base::BindOnce(&OnClearedCookies,
--                           CreatePendingTaskCompletionClosure(),
--                           std::move(cookie_manager)));
+-            base::BindOnce(
+-                &OnClearedCookies,
+-                CreateTaskCompletionClosure(TracingDataType::kCookies),
+-                std::move(cookie_manager)));
 -      }
 -    }
 -
@@ -931,7 +931,7 @@
  
 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
 +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -714,9 +714,6 @@ void ChromeMetricsServiceClient::Registe
+@@ -718,9 +718,6 @@ void ChromeMetricsServiceClient::Registe
    metrics_service_->RegisterMetricsProvider(
        std::make_unique<HttpsEngagementMetricsProvider>());
  
@@ -943,7 +943,7 @@
        std::make_unique<UpgradeMetricsProvider>());
 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
 +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -239,7 +239,6 @@ void ChromeBrowserMainExtraPartsProfiles
+@@ -237,7 +237,6 @@ void ChromeBrowserMainExtraPartsProfiles
  #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
    CaptivePortalServiceFactory::GetInstance();
  #endif
@@ -987,7 +987,7 @@
  bool CertReportHelper::ShouldShowCertificateReporterCheckbox() {
 --- a/chrome/browser/ui/tab_helpers.cc
 +++ b/chrome/browser/ui/tab_helpers.cc
-@@ -243,10 +243,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+@@ -244,10 +244,6 @@ void TabHelpers::AttachTabHelpers(WebCon
    PreviewsUITabHelper::CreateForWebContents(web_contents);
    RecentlyAudibleHelper::CreateForWebContents(web_contents);
    ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
@@ -998,8 +998,8 @@
    SearchEngineTabHelper::CreateForWebContents(web_contents);
    SecurityStateTabHelper::CreateForWebContents(web_contents);
    if (SiteEngagementService::IsEnabled())
-@@ -299,7 +295,6 @@ void TabHelpers::AttachTabHelpers(WebCon
-                         new ChromePDFWebContentsHelperClient()));
+@@ -297,7 +293,6 @@ void TabHelpers::AttachTabHelpers(WebCon
+       web_contents, std::make_unique<ChromePDFWebContentsHelperClient>());
    PluginObserver::CreateForWebContents(web_contents);
    SadTabHelper::CreateForWebContents(web_contents);
 -  safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
@@ -1031,15 +1031,15 @@
  void ChromeSubresourceFilterClient::OnReloadRequested() {
 --- a/chrome/browser/safe_browsing/BUILD.gn
 +++ b/chrome/browser/safe_browsing/BUILD.gn
-@@ -6,6 +6,7 @@ import("//extensions/buildflags/buildfla
- import("//third_party/protobuf/proto_library.gni")
+@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni")
+ import("//extensions/buildflags/buildflags.gni")
  
- static_library("safe_browsing") {
+ jumbo_static_library("safe_browsing") {
 +  if (false) {
    sources = [
      "safe_browsing_controller_client.cc",
      "safe_browsing_controller_client.h",
-@@ -100,6 +101,7 @@ static_library("safe_browsing") {
+@@ -100,6 +101,7 @@ jumbo_static_library("safe_browsing") {
    } else {
      sources += [ "chrome_cleaner/chrome_cleaner_extension_util_win_noop.cc" ]
    }
@@ -1049,7 +1049,7 @@
      # "Safe Browsing Basic" files used for safe browsing in full mode
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -81,7 +81,6 @@
+@@ -84,7 +84,6 @@
  #include "components/error_page/common/localized_error.h"
  #include "components/network_hints/renderer/prescient_networking_dispatcher.h"
  #include "components/pdf/renderer/pepper_pdf_host.h"
@@ -1057,32 +1057,34 @@
  #include "components/spellcheck/spellcheck_buildflags.h"
  #include "components/startup_metric_utils/common/startup_metric.mojom.h"
  #include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
---- a/chrome/browser/net/trial_comparison_cert_verifier.cc
-+++ b/chrome/browser/net/trial_comparison_cert_verifier.cc
-@@ -80,9 +80,6 @@ void SendTrialVerificationReport(void* p
+--- a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
++++ b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
+@@ -112,9 +112,6 @@ void TrialComparisonCertVerifierControll
    std::string serialized_report;
    if (!report.Serialize(&serialized_report))
      return;
 -
--  CertificateReportingServiceFactory::GetForBrowserContext(profile)->Send(
+-  CertificateReportingServiceFactory::GetForBrowserContext(profile_)->Send(
 -      serialized_report);
  }
  
- std::unique_ptr<base::Value> TrialVerificationJobResultCallback(
+ // static
 --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
 +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
-@@ -682,48 +682,7 @@ WebstorePrivateGetReferrerChainFunction:
+@@ -681,51 +681,9 @@ WebstorePrivateGetReferrerChainFunction:
  
  ExtensionFunction::ResponseAction
  WebstorePrivateGetReferrerChainFunction::Run() {
 -  Profile* profile = chrome_details_.GetProfile();
 -  if (!SafeBrowsingNavigationObserverManager::IsEnabledAndReady(profile))
--    return RespondNow(ArgumentList(GetReferrerChain::Results::Create("")));
+-    return RespondNow(ArgumentList(
+-        api::webstore_private::GetReferrerChain::Results::Create("")));
 -
 -  content::WebContents* web_contents = GetSenderWebContents();
 -  if (!web_contents) {
--    return RespondNow(ErrorWithArguments(GetReferrerChain::Results::Create(""),
--                                         kWebstoreUserCancelledError));
+-    return RespondNow(ErrorWithArguments(
+-        api::webstore_private::GetReferrerChain::Results::Create(""),
+-        kWebstoreUserCancelledError));
 -  }
 -
 -  scoped_refptr<SafeBrowsingNavigationObserverManager>
@@ -1115,9 +1117,10 @@
 -  // Base64 encode the proto to avoid issues with base::Value rejecting strings
 -  // which are not valid UTF8.
 -  base::Base64Encode(serialized_referrer_proto, &serialized_referrer_proto);
--  return RespondNow(ArgumentList(
--      GetReferrerChain::Results::Create(serialized_referrer_proto)));
-+  return RespondNow(ArgumentList(GetReferrerChain::Results::Create("")));
+   return RespondNow(
+       ArgumentList(api::webstore_private::GetReferrerChain::Results::Create(
+-          serialized_referrer_proto)));
++          "")));
  }
  
  }  // namespace extensions
@@ -1170,16 +1173,7 @@
        return !download_->IsSavePackageDownload() &&
 --- a/components/safe_browsing/features.cc
 +++ b/components/safe_browsing/features.cc
-@@ -25,7 +25,7 @@ const base::Feature kAdSamplerTriggerFea
- // Controls the billing interstitial UI.
- // TODO(http://crbug.com/933807): remove this base::Feature after a full launch.
- const base::Feature kBillingInterstitial{"BillingInterstitial",
--                                         base::FEATURE_ENABLED_BY_DEFAULT};
-+                                         base::FEATURE_DISABLED_BY_DEFAULT};
- 
- // If enabled in pre-network-service world, SafeBrowsing URL checks are done by
- // applying SafeBrowsing's URLLoaderThrottle subclasses to ThrottlingURLLoader.
-@@ -44,7 +44,7 @@ const base::Feature kForceEnableResetPas
+@@ -39,7 +39,7 @@ const base::Feature kForceEnableResetPas
      "ForceEnableResetPasswordWebUI", base::FEATURE_DISABLED_BY_DEFAULT};
  
  const base::Feature kSuspiciousSiteTriggerQuotaFeature{
@@ -1188,3 +1182,43 @@
  
  const base::Feature kTelemetryForApkDownloads{
      "SafeBrowsingTelemetryForApkDownloads", base::FEATURE_DISABLED_BY_DEFAULT};
+--- a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_api.cc
++++ b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_api.cc
+@@ -52,37 +52,7 @@ SafeBrowsingPrivateGetReferrerChainFunct
+         base::StringPrintf("Could not find tab with id %d.", params->tab_id)));
+   }
+ 
+-  Profile* profile = Profile::FromBrowserContext(browser_context());
+-  if (!SafeBrowsingNavigationObserverManager::IsEnabledAndReady(profile))
+-    return RespondNow(NoArguments());
+-
+-  scoped_refptr<SafeBrowsingNavigationObserverManager>
+-      navigation_observer_manager = g_browser_process->safe_browsing_service()
+-                                        ->navigation_observer_manager();
+-
+-  safe_browsing::ReferrerChain referrer_chain;
+-  SafeBrowsingNavigationObserverManager::AttributionResult result =
+-      navigation_observer_manager->IdentifyReferrerChainByWebContents(
+-          contents, kReferrerUserGestureLimit, &referrer_chain);
+-
+-  // If the referrer chain is incomplete we'll append the most recent
+-  // navigations to referrer chain for diagnostic purposes. This only happens if
+-  // the user is not in incognito mode and has opted into extended reporting or
+-  // Scout reporting. Otherwise, |CountOfRecentNavigationsToAppend| returns 0.
+-  int recent_navigations_to_collect =
+-      SafeBrowsingNavigationObserverManager::CountOfRecentNavigationsToAppend(
+-          *profile, result);
+-  if (recent_navigations_to_collect > 0) {
+-    navigation_observer_manager->AppendRecentNavigations(
+-        recent_navigations_to_collect, &referrer_chain);
+-  }
+-
+   std::vector<api::safe_browsing_private::ReferrerChainEntry> referrer_entries;
+-  referrer_entries.reserve(referrer_chain.size());
+-  for (const auto& entry : referrer_chain) {
+-    referrer_entries.emplace_back(
+-        safe_browsing_util::ReferrerToReferrerChainEntry(entry));
+-  }
+   return RespondNow(ArgumentList(
+       api::safe_browsing_private::GetReferrerChain::Results::Create(
+           referrer_entries)));

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

@@ -1,6 +1,6 @@
 --- a/components/autofill/core/browser/autofill_download_manager.cc
 +++ b/components/autofill/core/browser/autofill_download_manager.cc
-@@ -619,70 +619,6 @@ AutofillDownloadManager::GetRequestURLAn
+@@ -703,70 +703,6 @@ AutofillDownloadManager::GetRequestURLAn
  }
  
  bool AutofillDownloadManager::StartRequest(FormRequestData request_data) {
@@ -22,11 +22,11 @@
 -  resource_request->method = method;
 -
 -  // Add Chrome experiment state to the request headers.
--  variations::AppendVariationHeadersUnknownSignedIn(
+-  variations::AppendVariationsHeaderUnknownSignedIn(
 -      request_url,
 -      driver_->IsIncognito() ? variations::InIncognito::kYes
 -                             : variations::InIncognito::kNo,
--      &resource_request->headers);
+-      resource_request.get());
 -
 -  // Set headers specific to the API if using it.
 -  if (UseApi())
@@ -34,10 +34,10 @@
 -    resource_request->headers.SetHeader(kGoogEncodeResponseIfExecutable,
 -                                        "base64");
 -
--  // Put API key in request's header if there is.
--  if (!api_key_.empty() &&
--      variations::ShouldAppendVariationHeaders(request_url)) {
--    // Make sure that we only send the API key to endpoints trusted by Chrome.
+-  // Put API key in request's header if a key exists, and the endpoint is
+-  // trusted by Google.
+-  if (!api_key_.empty() && request_url.SchemeIs(url::kHttpsScheme) &&
+-      google_util::IsGoogleAssociatedDomainUrl(request_url)) {
 -    resource_request->headers.SetHeader(kGoogApiKey, api_key_);
 -  }
 -

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/extensions/component_loader.cc
 +++ b/chrome/browser/extensions/component_loader.cc
-@@ -414,11 +414,6 @@ void ComponentLoader::AddWebStoreApp() {
+@@ -345,11 +345,6 @@ void ComponentLoader::AddWebStoreApp() {
    if (!IsNormalSession())
      return;
  #endif
@@ -11,9 +11,9 @@
 -      l10n_util::GetStringUTF8(IDS_WEBSTORE_APP_DESCRIPTION));
  }
  
- scoped_refptr<const Extension> ComponentLoader::CreateExtension(
-@@ -461,11 +456,6 @@ void ComponentLoader::AddDefaultComponen
-   }
+ #if defined(OS_CHROMEOS)
+@@ -447,11 +442,6 @@ void ComponentLoader::AddDefaultComponen
+   AddKeyboardApp();
  #else  // defined(OS_CHROMEOS)
    DCHECK(!skip_session_components);
 -#if BUILDFLAG(ENABLE_PRINTING)
@@ -24,11 +24,10 @@
  #endif  // defined(OS_CHROMEOS)
  
    if (!skip_session_components) {
-@@ -540,13 +530,6 @@ void ComponentLoader::AddDefaultComponen
- 
+@@ -536,12 +526,6 @@ void ComponentLoader::AddDefaultComponen
+ #if BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
      AddHangoutServicesExtension();
-     AddImageLoaderExtension();
--
+ #endif  // BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
 -    bool install_feedback = enable_background_extensions_during_testing;
 -#if defined(GOOGLE_CHROME_BUILD)
 -    install_feedback = true;
@@ -52,7 +51,7 @@
    {
 --- a/chrome/browser/extensions/webstore_installer.cc
 +++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -575,28 +575,6 @@ void WebstoreInstaller::DownloadNextPend
+@@ -568,28 +568,6 @@ void WebstoreInstaller::DownloadNextPend
  void WebstoreInstaller::DownloadCrx(
      const std::string& extension_id,
      InstallSource source) {
@@ -81,7 +80,7 @@
  }
  
  // http://crbug.com/165634
-@@ -742,28 +720,6 @@ void WebstoreInstaller::UpdateDownloadPr
+@@ -735,28 +713,6 @@ void WebstoreInstaller::UpdateDownloadPr
  }
  
  void WebstoreInstaller::StartCrxInstaller(const DownloadItem& download) {

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

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

+ 2 - 2
patches/core/inox-patchset/0014-disable-translation-lang-fetch.patch

@@ -11,7 +11,7 @@
      request_pending_ = true;
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-@@ -164,7 +164,6 @@ void SpellcheckHunspellDictionary::Retry
+@@ -167,7 +167,6 @@ void SpellcheckHunspellDictionary::Retry
      return;
    }
    browser_context_ = browser_context;
@@ -19,7 +19,7 @@
  }
  
  bool SpellcheckHunspellDictionary::IsReady() const {
-@@ -401,9 +400,6 @@ void SpellcheckHunspellDictionary::Initi
+@@ -406,9 +405,6 @@ void SpellcheckHunspellDictionary::Initi
      }
  
      if (browser_context_) {

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

@@ -1,6 +1,6 @@
 --- a/components/component_updater/configurator_impl.cc
 +++ b/components/component_updater/configurator_impl.cc
-@@ -79,18 +79,7 @@ int ConfiguratorImpl::UpdateDelay() cons
+@@ -80,18 +80,7 @@ int ConfiguratorImpl::UpdateDelay() cons
  }
  
  std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {

+ 1 - 1
patches/core/inox-patchset/0017-disable-new-avatar-menu.patch

@@ -1,6 +1,6 @@
 --- a/components/signin/core/browser/signin_manager.cc
 +++ b/components/signin/core/browser/signin_manager.cc
-@@ -319,7 +319,7 @@ void SigninManager::OnGoogleServicesUser
+@@ -201,7 +201,7 @@ void SigninManager::OnGoogleServicesUser
  }
  
  bool SigninManager::IsSigninAllowed() const {

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

@@ -84,7 +84,7 @@ by default.
    for tag_suffix in _TagSuffixes():
 --- a/chrome/browser/chromeos/customization/customization_document.cc
 +++ b/chrome/browser/chromeos/customization/customization_document.cc
-@@ -174,7 +174,7 @@ std::string ReadFileInBackground(const b
+@@ -175,7 +175,7 @@ std::string ReadFileInBackground(const b
  
  // Template URL where to fetch OEM services customization manifest from.
  const char ServicesCustomizationDocument::kManifestUrl[] =
@@ -95,29 +95,29 @@ by default.
  // creates and uses to publish OEM default apps to the extensions system.
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
-@@ -1639,7 +1639,7 @@ void FileManagerPrivateInternalGetDownlo
-       IdentityManagerFactory::GetForProfile(GetProfile());
+@@ -1730,7 +1730,7 @@ void FileManagerPrivateInternalGetDownlo
+       IdentityManagerFactory::GetForProfile(chrome_details.GetProfile());
    const std::string& account_id = identity_manager->GetPrimaryAccountId();
    std::vector<std::string> scopes;
 -  scopes.emplace_back("https://www.googleapis.com/auth/drive.readonly");
 +  scopes.emplace_back("trk:208:https://www.googleapis.com/auth/drive.readonly");
  
    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory =
-       content::BrowserContext::GetDefaultStoragePartition(GetProfile())
+       content::BrowserContext::GetDefaultStoragePartition(
 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
 +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
-@@ -77,7 +77,7 @@ namespace {
+@@ -78,7 +78,7 @@ namespace {
  
  using api::file_manager_private::ProfileInfo;
  
 -const char kCWSScope[] = "https://www.googleapis.com/auth/chromewebstore";
 +const char kCWSScope[] = "trk:209:https://www.googleapis.com/auth/chromewebstore";
  
- // Obtains the current app window.
- AppWindow* GetCurrentAppWindow(UIThreadExtensionFunction* function) {
+ // Thresholds for mountCrostini() API.
+ constexpr base::TimeDelta kMountCrostiniSlowOperationThreshold =
 --- a/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
 +++ b/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
-@@ -18,21 +18,21 @@ namespace {
+@@ -19,21 +19,21 @@ namespace {
  
  // Location of the page to buy more storage for Google Drive.
  const char kGoogleDriveBuyStorageUrl[] =
@@ -146,7 +146,7 @@ by default.
  const int kDownloadsLowSpaceWarningHelpNumber = 1061547;
 --- a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
 +++ b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
-@@ -47,8 +47,8 @@ enum class U2FAttestationPromptResult {
+@@ -48,8 +48,8 @@ enum class U2FAttestationPromptResult {
  
  const char kGoogleDotCom[] = "google.com";
  constexpr const char* kGoogleGstaticAppIds[] = {
@@ -248,9 +248,9 @@ by default.
  
  // static
  DownloadFeedbackFactory* DownloadFeedback::factory_ = nullptr;
---- a/components/safe_search_api/url_checker.cc
-+++ b/components/safe_search_api/url_checker.cc
-@@ -32,7 +32,7 @@ namespace safe_search_api {
+--- a/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
++++ b/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
+@@ -30,7 +30,7 @@ namespace safe_search_api {
  namespace {
  
  const char kSafeSearchApiUrl[] =
@@ -261,7 +261,7 @@ by default.
  
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-@@ -257,7 +257,7 @@ GURL SpellcheckHunspellDictionary::GetDi
+@@ -260,7 +260,7 @@ GURL SpellcheckHunspellDictionary::GetDi
    DCHECK(!bdict_file.empty());
  
    static const char kDownloadServerUrl[] =
@@ -272,7 +272,7 @@ by default.
                base::ToLowerASCII(bdict_file));
 --- a/chrome/browser/supervised_user/supervised_user_service.cc
 +++ b/chrome/browser/supervised_user/supervised_user_service.cc
-@@ -82,7 +82,7 @@ namespace {
+@@ -84,7 +84,7 @@ namespace {
  
  // The URL from which to download a host blacklist if no local one exists yet.
  const char kBlacklistURL[] =
@@ -283,7 +283,7 @@ by default.
  
 --- a/chrome/browser/tracing/crash_service_uploader.cc
 +++ b/chrome/browser/tracing/crash_service_uploader.cc
-@@ -41,7 +41,7 @@ using std::string;
+@@ -42,7 +42,7 @@ using std::string;
  
  namespace {
  
@@ -294,7 +294,7 @@ by default.
      "----**--yradnuoBgoLtrapitluMklaTelgooG--**----";
 --- a/chrome/browser/ui/views/outdated_upgrade_bubble_view.cc
 +++ b/chrome/browser/ui/views/outdated_upgrade_bubble_view.cc
-@@ -31,7 +31,7 @@ namespace {
+@@ -32,7 +32,7 @@ namespace {
  
  // The URL to be used to re-install Chrome when auto-update failed for too long.
  constexpr char kDownloadChromeUrl[] =
@@ -305,7 +305,7 @@ by default.
  // The maximum number of ignored bubble we track in the NumLaterPerReinstall
 --- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
 +++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
-@@ -67,17 +67,17 @@ namespace {
+@@ -68,17 +68,17 @@ namespace {
  // The URL for the the Learn More page shown on incognito new tab.
  const char kLearnMoreIncognitoUrl[] =
  #if defined(OS_CHROMEOS)
@@ -329,7 +329,7 @@ by default.
  SkColor GetThemeColor(const ui::ThemeProvider& tp, int id) {
 --- a/chrome/common/extensions/chrome_extensions_client.cc
 +++ b/chrome/common/extensions/chrome_extensions_client.cc
-@@ -45,9 +45,9 @@ namespace {
+@@ -46,9 +46,9 @@ namespace {
  
  // TODO(battre): Delete the HTTP URL once the blacklist is downloaded via HTTPS.
  const char kExtensionBlocklistUrlPrefix[] =
@@ -343,7 +343,7 @@ by default.
  
 --- a/chrome/common/url_constants.cc
 +++ b/chrome/common/url_constants.cc
-@@ -221,7 +221,7 @@ const char kSyncErrorsHelpURL[] =
+@@ -228,7 +228,7 @@ const char kSyncErrorsHelpURL[] =
      "https://support.google.com/chrome/?p=settings_sync_error";
  
  const char kSyncGoogleDashboardURL[] =
@@ -352,7 +352,7 @@ by default.
  
  const char kSyncLearnMoreURL[] =
      "https://support.google.com/chrome/?p=settings_sign_in";
-@@ -310,7 +310,7 @@ const char kArcTermsURLPath[] = "arc/ter
+@@ -317,7 +317,7 @@ const char kArcTermsURLPath[] = "arc/ter
  const char kArcPrivacyPolicyURLPath[] = "arc/privacy_policy";
  
  const char kOnlineEulaURLPath[] =
@@ -450,7 +450,7 @@ by default.
  const char kFolderMimeType[] = "application/vnd.google-apps.folder";
 --- a/components/feedback/feedback_uploader.cc
 +++ b/components/feedback/feedback_uploader.cc
-@@ -26,7 +26,7 @@ constexpr base::FilePath::CharType kFeed
+@@ -27,7 +27,7 @@ constexpr base::FilePath::CharType kFeed
      FILE_PATH_LITERAL("Feedback Reports");
  
  constexpr char kFeedbackPostUrl[] =
@@ -494,7 +494,7 @@ by default.
      "https://history.google.com/history/api/lookup?client=audio";
 --- a/components/invalidation/impl/gcm_network_channel.cc
 +++ b/components/invalidation/impl/gcm_network_channel.cc
-@@ -40,7 +40,7 @@ namespace syncer {
+@@ -41,7 +41,7 @@ namespace syncer {
  namespace {
  
  const char kCacheInvalidationEndpointUrl[] =
@@ -534,7 +534,7 @@ by default.
  
 --- a/components/password_manager/core/browser/password_store.cc
 +++ b/components/password_manager/core/browser/password_store.cc
-@@ -228,10 +228,10 @@ void PasswordStore::GetLogins(const Form
+@@ -229,10 +229,10 @@ void PasswordStore::GetLogins(const Form
    // TODO(mdm): actually delete them at some point, say M24 or so.
    base::Time ignore_logins_cutoff;  // the null time
    if (form.scheme == PasswordForm::SCHEME_HTML &&
@@ -562,7 +562,7 @@ by default.
  
 --- a/components/policy/resources/policy_templates.json
 +++ b/components/policy/resources/policy_templates.json
-@@ -3317,7 +3317,7 @@
+@@ -3463,7 +3463,7 @@
          'dynamic_refresh': True,
          'per_profile': True,
        },
@@ -571,7 +571,7 @@ by default.
        'id': 34,
        'caption': '''Configure the list of force-installed apps and extensions''',
        'tags': ['full-admin-access'],
-@@ -7091,7 +7091,7 @@
+@@ -7236,7 +7236,7 @@
        'features': {
          'dynamic_refresh': True,
        },
@@ -604,7 +604,7 @@ by default.
        "image_url": "{google:baseURL}searchbyimage/upload",
 --- a/components/translate/core/browser/translate_url_fetcher.cc
 +++ b/components/translate/core/browser/translate_url_fetcher.cc
-@@ -114,6 +114,7 @@ bool TranslateURLFetcher::Request(const
+@@ -115,6 +115,7 @@ bool TranslateURLFetcher::Request(const
          max_retry_on_5xx_, network::SimpleURLLoader::RetryMode::RETRY_ON_5XX);
    }
  
@@ -614,15 +614,15 @@ by default.
        base::BindOnce(&TranslateURLFetcher::OnSimpleLoaderComplete,
 --- a/components/translate/core/common/translate_util.cc
 +++ b/components/translate/core/common/translate_util.cc
-@@ -57,7 +57,7 @@ const LanguageCodePair kLanguageCodeChin
-     {"zh-CN", "zh-SG"},
- };
+@@ -18,7 +18,7 @@
+ 
+ namespace translate {
  
 -const char kSecurityOrigin[] = "https://translate.googleapis.com/";
 +const char kSecurityOrigin[] = "trk:220:https://translate.googleapis.com/";
  
- void ToTranslateLanguageSynonym(std::string* language) {
-   for (size_t i = 0; i < base::size(kLanguageCodeSimilitudes); ++i) {
+ GURL GetTranslateSecurityOrigin() {
+   std::string security_origin(kSecurityOrigin);
 --- a/components/variations/variations_url_constants.cc
 +++ b/components/variations/variations_url_constants.cc
 @@ -8,7 +8,7 @@ namespace variations {

+ 0 - 32
patches/core/iridium-browser/promo-disable-Google-promotion-fetching.patch

@@ -1,32 +0,0 @@
-From 9990f332bbaa27459400de669e8a7911156f1e72 Mon Sep 17 00:00:00 2001
-From: Jan Engelhardt <jengelh@inai.de>
-Date: Sun, 9 Nov 2014 01:54:27 +0100
-Subject: [PATCH 51/66] promo: disable Google promotion fetching
-
-Documentation is scarce, and sprinkled with misleading acronyms.
-NTP is not NTP, for example. FWIW:
-
-// A PromoResourceService fetches data from a web resource server to
-// be used to dynamically change the appearance of the New Tab Page.
-// For example, it has been used to fetch "tips" to be displayed on
-// the NTP, or to display promotional messages to certain groups of
-// Chrome users.
-
-Whatever it is that it downloads, deactivate the one that leads to
-Google.
-
-References: https://github.com/iridium-browser/iridium-browser/issues/33
----
- chrome/browser/signin/signin_promo.cc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
---- a/chrome/browser/signin/signin_promo.cc
-+++ b/chrome/browser/signin/signin_promo.cc
-@@ -86,6 +86,7 @@ const char kSigninPromoLandingURLSuccess
- 
- bool ShouldShowPromoAtStartup(Profile* profile, bool is_new_profile) {
-   DCHECK(profile);
-+  return false;
- 
-   // Don't show if the profile is an incognito.
-   if (profile->IsOffTheRecord())

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

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

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

@@ -59,7 +59,7 @@
    return url::FindAndCompareScheme(utf8_input, url::kHttpScheme, nullptr);
 --- a/content/browser/child_process_security_policy_impl.cc
 +++ b/content/browser/child_process_security_policy_impl.cc
-@@ -451,6 +451,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
+@@ -510,6 +510,7 @@ ChildProcessSecurityPolicyImpl::ChildPro
    RegisterWebSafeScheme(url::kHttpsScheme);
    RegisterWebSafeScheme(url::kFtpScheme);
    RegisterWebSafeScheme(url::kDataScheme);
@@ -77,7 +77,7 @@
  #include "base/strings/utf_string_conversions.h"
  #include "base/synchronization/lock.h"
  #include "base/threading/thread_task_runner_handle.h"
-@@ -43,6 +44,7 @@
+@@ -42,6 +43,7 @@
  #include "net/url_request/url_request_redirect_job.h"
  #include "url/gurl.h"
  #include "url/origin.h"
@@ -85,7 +85,7 @@
  
  using base::Time;
  using std::string;
-@@ -606,6 +608,12 @@ URLRequest::URLRequest(const GURL& url,
+@@ -605,6 +607,12 @@ URLRequest::URLRequest(const GURL& url,
    // Sanity check out environment.
    DCHECK(base::ThreadTaskRunnerHandle::IsSet());
  
@@ -133,7 +133,7 @@
      return GURL(parts.scheme.is_valid() ? text : FixupPath(text));
 --- a/net/BUILD.gn
 +++ b/net/BUILD.gn
-@@ -1731,6 +1731,8 @@ component("net") {
+@@ -1728,6 +1728,8 @@ component("net") {
        "url_request/report_sender.h",
        "url_request/static_http_user_agent_settings.cc",
        "url_request/static_http_user_agent_settings.h",
@@ -144,7 +144,7 @@
        "url_request/url_fetcher_core.cc",
 --- a/android_webview/browser/net/aw_url_request_context_getter.cc
 +++ b/android_webview/browser/net/aw_url_request_context_getter.cc
-@@ -60,6 +60,7 @@
+@@ -61,6 +61,7 @@
  #include "net/ssl/ssl_config_service.h"
  #include "net/url_request/data_protocol_handler.h"
  #include "net/url_request/file_protocol_handler.h"
@@ -152,7 +152,7 @@
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_builder.h"
  #include "net/url_request/url_request_intercepting_job_factory.h"
-@@ -136,6 +137,9 @@ std::unique_ptr<net::URLRequestJobFactor
+@@ -137,6 +138,9 @@ std::unique_ptr<net::URLRequestJobFactor
        url::kDataScheme, std::make_unique<net::DataProtocolHandler>());
    DCHECK(set_protocol);
    set_protocol = aw_job_factory->SetProtocolHandler(
@@ -164,7 +164,7 @@
    DCHECK(set_protocol);
 --- a/chrome/browser/profiles/profile_io_data.cc
 +++ b/chrome/browser/profiles/profile_io_data.cc
-@@ -96,6 +96,7 @@
+@@ -95,6 +95,7 @@
  #include "net/url_request/data_protocol_handler.h"
  #include "net/url_request/file_protocol_handler.h"
  #include "net/url_request/ftp_protocol_handler.h"
@@ -172,7 +172,7 @@
  #include "net/url_request/url_request.h"
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_builder.h"
-@@ -1060,6 +1061,9 @@ ProfileIOData::SetUpJobFactoryDefaults(
+@@ -1062,6 +1063,9 @@ ProfileIOData::SetUpJobFactoryDefaults(
    set_protocol = job_factory->SetProtocolHandler(
        url::kDataScheme, std::make_unique<net::DataProtocolHandler>());
    DCHECK(set_protocol);
@@ -192,7 +192,7 @@
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_builder.h"
  #include "net/url_request/url_request_context_getter.h"
-@@ -270,6 +271,9 @@ void URLRequestContextFactory::Initializ
+@@ -269,6 +270,9 @@ void URLRequestContextFactory::Initializ
    set_protocol = job_factory->SetProtocolHandler(
        url::kDataScheme, std::make_unique<net::DataProtocolHandler>());
    DCHECK(set_protocol);
@@ -269,7 +269,7 @@
 +#endif  // NET_URL_REQUEST_TRK_PROTOCOL_HANDLER_H_
 --- a/net/url_request/url_request_context_builder.cc
 +++ b/net/url_request/url_request_context_builder.cc
-@@ -38,6 +38,7 @@
+@@ -39,6 +39,7 @@
  #include "net/ssl/ssl_config_service_defaults.h"
  #include "net/url_request/data_protocol_handler.h"
  #include "net/url_request/static_http_user_agent_settings.h"
@@ -277,7 +277,7 @@
  #include "net/url_request/url_request_context.h"
  #include "net/url_request/url_request_context_storage.h"
  #include "net/url_request/url_request_intercepting_job_factory.h"
-@@ -643,6 +644,8 @@ std::unique_ptr<URLRequestContext> URLRe
+@@ -622,6 +623,8 @@ std::unique_ptr<URLRequestContext> URLRe
    if (data_enabled_)
      job_factory->SetProtocolHandler(url::kDataScheme,
                                      std::make_unique<DataProtocolHandler>());

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

@@ -12,15 +12,15 @@
    if (!CheckForRequiredFlagsOrDie()) {
 --- a/chrome/browser/tracing/crash_service_uploader.cc
 +++ b/chrome/browser/tracing/crash_service_uploader.cc
-@@ -131,11 +131,16 @@ void TraceCrashServiceUploader::DoUpload
+@@ -132,11 +132,16 @@ void TraceCrashServiceUploader::DoUpload
    progress_callback_ = progress_callback;
    done_callback_ = std::move(done_callback);
  
 -  base::PostTaskWithTraits(
 -      FROM_HERE, {base::TaskPriority::BEST_EFFORT},
--      base::Bind(&TraceCrashServiceUploader::DoCompressOnBackgroundThread,
--                 base::Unretained(this), file_contents, upload_mode,
--                 upload_url_, base::Passed(std::move(metadata))));
+-      base::BindOnce(&TraceCrashServiceUploader::DoCompressOnBackgroundThread,
+-                     base::Unretained(this), file_contents, upload_mode,
+-                     upload_url_, std::move(metadata)));
 +  if (!progress_callback_.is_null()) {
 +    base::PostTaskWithTraits(
 +      FROM_HERE, {content::BrowserThread::UI},
@@ -34,7 +34,7 @@
  }
  
  void TraceCrashServiceUploader::DoCompressOnBackgroundThread(
-@@ -206,11 +211,6 @@ void TraceCrashServiceUploader::DoCompre
+@@ -207,11 +212,6 @@ void TraceCrashServiceUploader::DoCompre
    std::string post_data;
    SetupMultipart(product, version, std::move(metadata), "trace.json.gz",
                   compressed_contents, &post_data);
@@ -46,7 +46,7 @@
  }
  
  void TraceCrashServiceUploader::OnUploadError(
-@@ -308,6 +308,7 @@ bool TraceCrashServiceUploader::Compress
+@@ -309,6 +309,7 @@ bool TraceCrashServiceUploader::Compress
  void TraceCrashServiceUploader::CreateAndStartURLLoader(
      const std::string& upload_url,
      const std::string& post_data) {

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

@@ -2,10 +2,10 @@
 
 --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
 +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
-@@ -310,7 +310,7 @@ bool DomDistillerViewerSource::ShouldSer
+@@ -309,7 +309,7 @@ bool DomDistillerViewerSource::ShouldSer
+ }
  
- std::string DomDistillerViewerSource::GetContentSecurityPolicyStyleSrc()
-     const {
+ std::string DomDistillerViewerSource::GetContentSecurityPolicyStyleSrc() const {
 -  return "style-src 'self' https://fonts.googleapis.com;";
 +  return "style-src 'self';";
  }

+ 6 - 6
patches/core/ungoogled-chromium/disable-gaia.patch

@@ -3,7 +3,7 @@
 
 --- a/google_apis/gaia/gaia_auth_fetcher.cc
 +++ b/google_apis/gaia/gaia_auth_fetcher.cc
-@@ -259,61 +259,6 @@ void GaiaAuthFetcher::CreateAndStartGaia
+@@ -260,61 +260,6 @@ void GaiaAuthFetcher::CreateAndStartGaia
      int load_flags,
      const net::NetworkTrafficAnnotationTag& traffic_annotation) {
    DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
@@ -78,7 +78,7 @@
          <include name="IDR_HANGOUT_SERVICES_BACKGROUND_HTML" file="hangout_services/background.html" type="BINDATA" />
 --- a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
 +++ b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
-@@ -42,19 +42,6 @@ ComponentLoader* GetComponentLoader(Brow
+@@ -43,19 +43,6 @@ ComponentLoader* GetComponentLoader(Brow
  
  void LoadGaiaAuthExtension(BrowserContext* context) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -100,7 +100,7 @@
  void UnloadGaiaAuthExtension(BrowserContext* context) {
 --- a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
 +++ b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
-@@ -66,7 +66,6 @@ bool IsComponentExtensionWhitelisted(int
+@@ -67,7 +67,6 @@ bool IsComponentExtensionWhitelisted(int
  #endif
      case IDR_CRYPTOTOKEN_MANIFEST:
      case IDR_FEEDBACK_MANIFEST:
@@ -110,7 +110,7 @@
  #endif
 --- a/chrome/browser/ui/webui/signin/inline_login_ui.cc
 +++ b/chrome/browser/ui/webui/signin/inline_login_ui.cc
-@@ -49,7 +49,6 @@ content::WebUIDataSource* CreateWebUIDat
+@@ -51,7 +51,6 @@ content::WebUIDataSource* CreateWebUIDat
  
    source->AddResourcePath("inline_login.css", IDR_INLINE_LOGIN_CSS);
    source->AddResourcePath("inline_login.js", IDR_INLINE_LOGIN_JS);
@@ -120,7 +120,7 @@
    source->AddLocalizedString(
 --- a/chrome/browser/browser_resources.grd
 +++ b/chrome/browser/browser_resources.grd
-@@ -384,7 +384,6 @@
+@@ -396,7 +396,6 @@
        <include name="IDR_INLINE_LOGIN_HTML" file="resources\inline_login\inline_login.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
        <include name="IDR_INLINE_LOGIN_CSS" file="resources\inline_login\inline_login.css" flattenhtml="true" type="BINDATA" />
        <include name="IDR_INLINE_LOGIN_JS" file="resources\inline_login\inline_login.js" flattenhtml="true" type="BINDATA" />
@@ -128,7 +128,7 @@
        <include name="IDR_INSPECT_CSS" file="resources\inspect\inspect.css" flattenhtml="true" type="BINDATA" />
        <include name="IDR_INSPECT_HTML" file="resources\inspect\inspect.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
        <include name="IDR_INSPECT_JS" file="resources\inspect\inspect.js" flattenhtml="true" type="BINDATA" />
-@@ -487,7 +486,6 @@
+@@ -496,7 +495,6 @@
        <include name="IDR_WEBRTC_LOGS_JS" file="resources\media\webrtc_logs.js" type="BINDATA" />
        <include name="IDR_WEBSTORE_MANIFEST" file="resources\webstore_app\manifest.json" type="BINDATA" />
        <include name="IDR_CRYPTOTOKEN_MANIFEST" file="resources\cryptotoken\manifest.json" type="BINDATA" />

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

@@ -2,7 +2,7 @@
 
 --- a/net/base/url_util.cc
 +++ b/net/base/url_util.cc
-@@ -383,28 +383,6 @@ void GetIdentityFromURL(const GURL& url,
+@@ -392,28 +392,6 @@ void GetIdentityFromURL(const GURL& url,
  }
  
  bool HasGoogleHost(const GURL& url) {
@@ -33,109 +33,76 @@
  
 --- a/components/variations/net/variations_http_headers.cc
 +++ b/components/variations/net/variations_http_headers.cc
-@@ -27,26 +27,6 @@ namespace variations {
+@@ -29,10 +29,6 @@ namespace variations {
  
  namespace {
  
--const char* kSuffixesToSetHeadersFor[] = {
--    ".android.com",
--    ".doubleclick.com",
--    ".doubleclick.net",
--    ".ggpht.com",
--    ".googleadservices.com",
--    ".googleapis.com",
--    ".googlesyndication.com",
--    ".googleusercontent.com",
--    ".googlevideo.com",
--    ".gstatic.com",
--    ".litepages.googlezip.net",
--    ".ytimg.com",
--};
--
--// Exact hostnames in lowercase to set headers for.
--const char* kHostsToSetHeadersFor[] = {
--    "googleweblight.com",
--};
+-// The name string for the header for variations information.
+-// Note that prior to M33 this header was named X-Chrome-Variations.
+-const char kClientDataHeader[] = "X-Client-Data";
 -
  // The result of checking if a URL should have variations headers appended.
  // This enum is used to record UMA histogram values, and should not be
  // reordered.
-@@ -63,28 +43,6 @@ enum URLValidationResult {
- // Checks whether headers should be appended to the |url|, based on the domain
- // of |url|. |url| is assumed to be valid, and to have an http/https scheme.
- bool IsGoogleDomain(const GURL& url) {
--  if (google_util::IsGoogleDomainUrl(url, google_util::ALLOW_SUBDOMAIN,
--                                     google_util::ALLOW_NON_STANDARD_PORTS)) {
--    return true;
--  }
--  if (google_util::IsYoutubeDomainUrl(url, google_util::ALLOW_SUBDOMAIN,
--                                      google_util::ALLOW_NON_STANDARD_PORTS)) {
+@@ -96,33 +92,7 @@ class VariationsHeaderHelper {
+       : VariationsHeaderHelper(request, null_url_request, variations_header) {}
+ 
+   bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) {
+-    // Note the criteria for attaching client experiment headers:
+-    // 1. We only transmit to Google owned domains which can evaluate
+-    // experiments.
+-    //    1a. These include hosts which have a standard postfix such as:
+-    //         *.doubleclick.net or *.googlesyndication.com or
+-    //         exactly www.googleadservices.com or
+-    //         international TLD domains *.google.<TLD> or *.youtube.<TLD>.
+-    // 2. Only transmit for non-Incognito profiles.
+-    // 3. For the X-Client-Data header, only include non-empty variation IDs.
+-    if ((incognito == InIncognito::kYes) || !ShouldAppendVariationsHeader(url))
+-      return false;
+-
+-    if (variations_header_.empty())
+-      return false;
+-
+-    if (resource_request_) {
+-      // Set the variations header to client_data_header rather than headers to
+-      // be exempted from CORS checks.
+-      resource_request_->client_data_header = variations_header_;
+-    } else if (url_request_) {
+-      url_request_->SetExtraRequestHeaderByName(kClientDataHeader,
+-                                                variations_header_, false);
+-    } else {
+-      NOTREACHED();
+-      return false;
+-    }
 -    return true;
--  }
--
--  // Some domains don't have international TLD extensions, so testing for them
--  // is very straight forward.
--  const std::string host = url.host();
--  for (size_t i = 0; i < base::size(kSuffixesToSetHeadersFor); ++i) {
--    if (base::EndsWith(host, kSuffixesToSetHeadersFor[i],
--                       base::CompareCase::INSENSITIVE_ASCII))
--      return true;
--  }
--  for (size_t i = 0; i < base::size(kHostsToSetHeadersFor); ++i) {
--    if (base::LowerCaseEqualsASCII(host, kHostsToSetHeadersFor[i]))
--      return true;
--  }
--
-   return false;
- }
- 
-@@ -101,37 +59,14 @@ void LogUrlValidationHistogram(URLValida
- void RemoveVariationsHeader(const net::RedirectInfo& redirect_info,
-                             const network::ResourceResponseHead& response_head,
-                             std::vector<std::string>* to_be_removed_headers) {
--  if (!ShouldAppendVariationHeaders(redirect_info.new_url))
++    return false;
+   }
+ 
+  private:
+@@ -188,14 +158,10 @@ void RemoveVariationsHeaderIfNeeded(
+     const net::RedirectInfo& redirect_info,
+     const network::ResourceResponseHead& response_head,
+     std::vector<std::string>* to_be_removed_headers) {
+-  if (!ShouldAppendVariationsHeader(redirect_info.new_url))
 -    to_be_removed_headers->push_back(kClientDataHeader);
  }
  
- }  // namespace
- 
--const char kClientDataHeader[] = "X-Client-Data";
--
- bool AppendVariationHeaders(const GURL& url,
-                             InIncognito incognito,
-                             SignedIn signed_in,
-                             net::HttpRequestHeaders* headers) {
--  // Note the criteria for attaching client experiment headers:
--  // 1. We only transmit to Google owned domains which can evaluate experiments.
--  //    1a. These include hosts which have a standard postfix such as:
--  //         *.doubleclick.net or *.googlesyndication.com or
--  //         exactly www.googleadservices.com or
--  //         international TLD domains *.google.<TLD> or *.youtube.<TLD>.
--  // 2. Only transmit for non-Incognito profiles.
--  // 3. For the X-Client-Data header, only include non-empty variation IDs.
--  if ((incognito == InIncognito::kYes) || !ShouldAppendVariationHeaders(url))
--    return false;
--
--  const std::string variation_ids_header =
--      VariationsHttpHeaderProvider::GetInstance()->GetClientDataHeader(
--          signed_in == SignedIn::kYes);
--  if (!variation_ids_header.empty()) {
--    // Note that prior to M33 this header was named X-Chrome-Variations.
--    headers->SetHeaderIfMissing(kClientDataHeader, variation_ids_header);
--    return true;
--  }
-   return false;
+ void StripVariationsHeaderIfNeeded(const GURL& new_location,
+                                    net::URLRequest* request) {
+-  if (!ShouldAppendVariationsHeader(new_location))
+-    request->RemoveRequestHeaderByName(kClientDataHeader);
  }
  
-@@ -145,8 +80,6 @@ bool AppendVariationHeadersUnknownSigned
+ std::unique_ptr<network::SimpleURLLoader>
+@@ -225,7 +191,7 @@ CreateSimpleURLLoaderWithVariationsHeade
+ }
  
- void StripVariationHeaderIfNeeded(const GURL& new_location,
-                                   net::URLRequest* request) {
--  if (!ShouldAppendVariationHeaders(new_location))
--    request->RemoveRequestHeaderByName(kClientDataHeader);
+ bool IsVariationsHeader(const std::string& header_name) {
+-  return header_name == kClientDataHeader;
++  return false;
  }
  
- std::unique_ptr<network::SimpleURLLoader>
+ bool HasVariationsHeader(const network::ResourceRequest& request) {
 --- a/chrome/browser/page_load_metrics/page_load_metrics_util.cc
 +++ b/chrome/browser/page_load_metrics/page_load_metrics_util.cc
 @@ -169,9 +169,7 @@ bool DidObserveLoadingBehaviorInAnyFrame
@@ -151,7 +118,7 @@
  bool IsGoogleSearchResultUrl(const GURL& url) {
 --- a/components/search_engines/template_url.cc
 +++ b/components/search_engines/template_url.cc
-@@ -504,11 +504,7 @@ base::string16 TemplateURLRef::SearchTer
+@@ -505,11 +505,7 @@ base::string16 TemplateURLRef::SearchTer
  bool TemplateURLRef::HasGoogleBaseURLs(
      const SearchTermsData& search_terms_data) const {
    ParseIfNecessary(search_terms_data);
@@ -288,7 +255,7 @@
  }
  
  void SetMockLinkDoctorBaseURLForTesting() {
-@@ -172,120 +68,50 @@ std::string GetGoogleLocale(const std::s
+@@ -172,162 +68,53 @@ std::string GetGoogleLocale(const std::s
  
  GURL AppendGoogleLocaleParam(const GURL& url,
                               const std::string& application_locale) {
@@ -418,7 +385,49 @@
 +  return false;
  }
  
- const std::vector<std::string>& GetGoogleRegistrableDomains() {
+ bool IsGoogleAssociatedDomainUrl(const GURL& url) {
+-  if (IsGoogleDomainUrl(url, ALLOW_SUBDOMAIN, ALLOW_NON_STANDARD_PORTS))
+-    return true;
+-
+-  if (IsYoutubeDomainUrl(url, ALLOW_SUBDOMAIN, ALLOW_NON_STANDARD_PORTS))
+-    return true;
+-
+-  // Some domains don't have international TLD extensions, so testing for them
+-  // is very straightforward.
+-  static const char* kSuffixesToSetHeadersFor[] = {
+-      ".android.com",
+-      ".doubleclick.com",
+-      ".doubleclick.net",
+-      ".ggpht.com",
+-      ".googleadservices.com",
+-      ".googleapis.com",
+-      ".googlesyndication.com",
+-      ".googleusercontent.com",
+-      ".googlevideo.com",
+-      ".gstatic.com",
+-      ".litepages.googlezip.net",
+-      ".ytimg.com",
+-  };
+-  const std::string host = url.host();
+-  for (size_t i = 0; i < base::size(kSuffixesToSetHeadersFor); ++i) {
+-    if (base::EndsWith(host, kSuffixesToSetHeadersFor[i],
+-                       base::CompareCase::INSENSITIVE_ASCII)) {
+-      return true;
+-    }
+-  }
+-
+-  // Exact hostnames in lowercase to set headers for.
+-  static const char* kHostsToSetHeadersFor[] = {
+-      "googleweblight.com",
+-  };
+-  for (size_t i = 0; i < base::size(kHostsToSetHeadersFor); ++i) {
+-    if (base::LowerCaseEqualsASCII(host, kHostsToSetHeadersFor[i]))
+-      return true;
+-  }
+-
+   return false;
+ }
+ 
 --- a/chrome/common/page_load_metrics/page_load_metrics_util.cc
 +++ b/chrome/common/page_load_metrics/page_load_metrics_util.cc
 @@ -12,38 +12,7 @@
@@ -478,11 +487,11 @@
  void GoogleURLLoaderThrottle::WillStartRequest(
      network::ResourceRequest* request,
      bool* defer) {
--  if (!is_off_the_record_ &&
--      variations::ShouldAppendVariationHeaders(request->url) &&
--      !dynamic_params_.variation_ids_header.empty()) {
--    request->client_data_header = dynamic_params_.variation_ids_header;
--  }
+-  variations::AppendVariationsHeaderWithCustomValue(
+-      request->url,
+-      is_off_the_record_ ? variations::InIncognito::kYes
+-                         : variations::InIncognito::kNo,
+-      dynamic_params_.variation_ids_header, request);
 -
 -  if (dynamic_params_.force_safe_search) {
 -    GURL new_url;
@@ -515,8 +524,8 @@
      bool* /* defer */,
      std::vector<std::string>* to_be_removed_headers,
      net::HttpRequestHeaders* modified_headers) {
--  if (!variations::ShouldAppendVariationHeaders(redirect_info->new_url))
--    to_be_removed_headers->push_back(variations::kClientDataHeader);
+-  variations::RemoveVariationsHeaderIfNeeded(*redirect_info, response_head,
+-                                             to_be_removed_headers);
 -
 -  // URLLoaderThrottles can only change the redirect URL when the network
 -  // service is enabled. The non-network service path handles this in
@@ -563,14 +572,3 @@
 -  }
  }
  #endif
---- a/chrome/renderer/chrome_content_renderer_client.cc
-+++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -1547,7 +1547,7 @@ void ChromeContentRendererClient::WillDe
- 
- bool ChromeContentRendererClient::IsExcludedHeaderForServiceWorkerFetchEvent(
-     const std::string& header_name) {
--  return header_name == variations::kClientDataHeader;
-+  return false;
- }
- 
- // If we're in an extension, there is no need disabling multiple routes as

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

@@ -7,7 +7,7 @@
 
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -332,7 +332,6 @@ if (!is_android && !is_mac) {
+@@ -333,7 +333,6 @@ if (!is_android && !is_mac) {
        }
  
        data_deps += [
@@ -15,7 +15,7 @@
          "//third_party/widevine/cdm",
        ]
  
-@@ -1258,7 +1257,6 @@ if (is_win) {
+@@ -1257,7 +1256,6 @@ if (is_win) {
        ":swiftshader_library",
        ":widevine_cdm_library",
        "//chrome/app/nibs:chrome_xibs",

+ 3 - 14
patches/core/ungoogled-chromium/disable-signin.patch

@@ -2,7 +2,7 @@
 
 --- a/components/signin/core/browser/signin_manager_base.cc
 +++ b/components/signin/core/browser/signin_manager_base.cc
-@@ -158,7 +158,7 @@ void SigninManagerBase::FinalizeInitBefo
+@@ -157,7 +157,7 @@ void SigninManagerBase::FinalizeInitBefo
  bool SigninManagerBase::IsInitialized() const { return initialized_; }
  
  bool SigninManagerBase::IsSigninAllowed() const {
@@ -13,8 +13,8 @@
  AccountInfo SigninManagerBase::GetAuthenticatedAccountInfo() const {
 --- a/chrome/browser/ui/chrome_pages.cc
 +++ b/chrome/browser/ui/chrome_pages.cc
-@@ -379,34 +379,6 @@ void ShowSearchEngineSettings(Browser* b
- #if !defined(OS_ANDROID)
+@@ -379,23 +379,6 @@ void ShowSearchEngineSettings(Browser* b
+ #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
  void ShowBrowserSignin(Browser* browser,
                         signin_metrics::AccessPoint access_point) {
 -  Profile* original_profile = browser->profile()->GetOriginalProfile();
@@ -27,16 +27,6 @@
 -      std::make_unique<ScopedTabbedBrowserDisplayer>(original_profile);
 -  browser = displayer->browser();
 -
--#if defined(OS_CHROMEOS)
--  // ChromeOS always loads the chrome://chrome-signin in a tab.
--  GURL url = signin::GetEmbeddedPromoURLForTab(
--      access_point, signin_metrics::Reason::REASON_SIGNIN_PRIMARY_ACCOUNT,
--      false);
--  NavigateParams params(GetSingletonTabNavigateParams(browser, url));
--  params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
--  ShowSingletonTabOverwritingNTP(browser, std::move(params));
--  DCHECK_GT(browser->tab_strip_model()->count(), 0);
--#else
 -  profiles::BubbleViewMode bubble_view_mode =
 -      IdentityManagerFactory::GetForProfile(original_profile)
 -              ->HasPrimaryAccount()
@@ -44,7 +34,6 @@
 -          : profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN;
 -  browser->signin_view_controller()->ShowSignin(bubble_view_mode, browser,
 -                                                access_point);
--#endif
  }
  
  void ShowBrowserSigninOrSettings(Browser* browser,

+ 3 - 3
patches/core/ungoogled-chromium/disable-translate.patch

@@ -2,9 +2,9 @@
 
 --- a/components/translate/core/browser/translate_manager.cc
 +++ b/components/translate/core/browser/translate_manager.cc
-@@ -664,8 +664,7 @@ void TranslateManager::FilterIsTranslate
-   if (net::NetworkChangeNotifier::IsOffline())
-     decision->PreventAllTriggering();
+@@ -704,8 +704,7 @@ void TranslateManager::FilterIsTranslate
+         TranslateBrowserMetrics::INITIATION_STATUS_NO_NETWORK);
+   }
  
 -  if (!ignore_missing_key_for_testing_ &&
 -      !::google_apis::HasAPIKeyConfigured()) {

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc
 +++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -129,29 +129,11 @@ void WebRtcLogUploader::LoggingStoppedDo
+@@ -131,29 +131,11 @@ void WebRtcLogUploader::LoggingStoppedDo
    DCHECK(meta_data.get());
    DCHECK(!upload_done_data.log_path.empty());
  
@@ -33,7 +33,7 @@
  }
  
  void WebRtcLogUploader::PrepareMultipartPostData(
-@@ -162,27 +144,7 @@ void WebRtcLogUploader::PrepareMultipart
+@@ -164,27 +146,7 @@ void WebRtcLogUploader::PrepareMultipart
    DCHECK(!compressed_log.empty());
    DCHECK(meta_data.get());
  
@@ -62,7 +62,7 @@
  }
  
  void WebRtcLogUploader::UploadStoredLog(
-@@ -253,47 +215,6 @@ void WebRtcLogUploader::LoggingStoppedDo
+@@ -255,47 +217,6 @@ void WebRtcLogUploader::LoggingStoppedDo
  
    webrtc_logging::DeleteOldWebRtcLogFiles(log_paths.log_path);
  

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

@@ -116,7 +116,7 @@
        const auto& extension_ids =
            manifests_queue_.active_request()->extension_ids();
        for (auto it = extension_ids.begin(); it != extension_ids.end(); ++it) {
-@@ -683,20 +657,6 @@ void ExtensionDownloader::HandleManifest
+@@ -680,20 +654,6 @@ void ExtensionDownloader::HandleManifest
          fetch_data->request_ids()));
    }
  
@@ -137,7 +137,7 @@
    NotifyExtensionsDownloadFailed(
        no_updates, fetch_data->request_ids(),
        ExtensionDownloaderDelegate::NO_UPDATE_AVAILABLE);
-@@ -1111,11 +1071,7 @@ bool ExtensionDownloader::IterateFetchCr
+@@ -1108,11 +1068,7 @@ bool ExtensionDownloader::IterateFetchCr
    // fetch.
    switch (fetch->credentials) {
      case ExtensionFetch::CREDENTIALS_NONE:

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

@@ -2,18 +2,18 @@
 
 --- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
 +++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
-@@ -271,6 +271,7 @@ void InlineSigninHelper::OnClientOAuthSu
+@@ -330,6 +330,7 @@ void InlineSigninHelper::OnClientOAuthSu
      const ClientOAuthResult& result,
-     Profile* profile,
-     Profile::CreateStatus status) {
+     Profile* /*profile*/,
+     Profile::CreateStatus /*status*/) {
 +#if BUILDFLAG(ENABLE_ONE_CLICK_SIGNIN)
-   Browser* browser = nullptr;
-   if (handler_)
-     browser = handler_->GetDesktopBrowser();
-@@ -381,6 +382,7 @@ void InlineSigninHelper::OnClientOAuthSu
-                       OneClickSigninSyncStarter::CURRENT_PROFILE);
-     base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
+   HandlerSigninReason reason = GetHandlerSigninReason(current_url_);
+   if (reason == HandlerSigninReason::FETCH_LST_ONLY) {
+     // Constants are only available on Windows for the Google Credential
+@@ -425,6 +426,7 @@ void InlineSigninHelper::OnClientOAuthSu
+     CreateSyncStarter(result.refresh_token);
    }
+   base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
 +#endif
  }
  
@@ -34,10 +34,10 @@
  void OneClickSigninLinksDelegateImpl::OnAdvancedLinkClicked() {
 --- a/chrome/browser/ui/BUILD.gn
 +++ b/chrome/browser/ui/BUILD.gn
-@@ -3023,8 +3023,6 @@ jumbo_split_static_library("ui") {
-         "views/relaunch_notification/relaunch_required_dialog_view.cc",
-         "views/relaunch_notification/relaunch_required_dialog_view.h",
-         "views/screen_capture_notification_ui_views.cc",
+@@ -3029,8 +3029,6 @@ jumbo_split_static_library("ui") {
+         "views/sync/dice_bubble_sync_promo_view.h",
+         "views/sync/dice_signin_button_view.cc",
+         "views/sync/dice_signin_button_view.h",
 -        "views/sync/one_click_signin_dialog_view.cc",
 -        "views/sync/one_click_signin_dialog_view.h",
          "views/tabs/window_finder.cc",

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -5124,20 +5124,7 @@ safe_browsing::UrlCheckerDelegate*
+@@ -5186,20 +5186,7 @@ safe_browsing::UrlCheckerDelegate*
  ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
      content::ResourceContext* resource_context) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);

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

@@ -5,7 +5,7 @@
 
 --- a/third_party/blink/renderer/devtools/BUILD.gn
 +++ b/third_party/blink/renderer/devtools/BUILD.gn
-@@ -1258,10 +1258,8 @@ action("generate_devtools_grd") {
+@@ -1265,10 +1265,8 @@ action("generate_devtools_grd") {
        devtools_embedder_scripts +
        [ "$resources_out_dir/devtools_extension_api.js" ]
  

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

@@ -9,7 +9,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -132,6 +132,7 @@
+@@ -130,6 +130,7 @@
  #include "third_party/blink/public/common/experiments/memory_ablation_experiment.h"
  #include "third_party/blink/public/common/features.h"
  #include "third_party/leveldatabase/leveldb_features.h"
@@ -17,7 +17,7 @@
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/base/ui_base_switches.h"
-@@ -1217,6 +1218,14 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1118,6 +1119,14 @@ const FeatureEntry kFeatureEntries[] = {
       "Force punycode hostnames",
       "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs).",
       kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")},
@@ -42,7 +42,7 @@
  #include "ui/events/blink/blink_features.h"
  #include "ui/gfx/switches.h"
  #include "ui/gl/gl_switches.h"
-@@ -477,6 +478,11 @@ void SetRuntimeFeaturesDefaultsAndUpdate
+@@ -442,6 +443,11 @@ void SetIndividualRuntimeFeatures(
      WebRuntimeFeatures::EnableForbidSyncXHRInPageDismissal(true);
    }
  
@@ -51,8 +51,8 @@
 +  WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(
 +      command_line.HasSwitch(switches::kFingerprintingCanvasMeasureTextNoise));
 +
-   // End individual features.
-   // Do not add individual features below this line.
+   WebRuntimeFeatures::EnableAutoplayIgnoresWebAudio(
+       base::FeatureList::IsEnabled(media::kAutoplayIgnoreWebAudio));
  
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
@@ -61,10 +61,10 @@
  #include "base/macros.h"
  #include "base/optional.h"
 +#include "base/rand_util.h"
+ #include "cc/input/overscroll_behavior.h"
+ #include "cc/input/scroll_snap_data.h"
  #include "services/metrics/public/cpp/mojo_ukm_recorder.h"
- #include "services/metrics/public/cpp/ukm_builders.h"
- #include "services/metrics/public/cpp/ukm_source_id.h"
-@@ -770,6 +771,15 @@ Document::Document(const DocumentInit& i
+@@ -774,6 +775,15 @@ Document::Document(const DocumentInit& i
  #ifndef NDEBUG
    liveDocumentSet().insert(this);
  #endif
@@ -80,7 +80,7 @@
  }
  
  Document::~Document() {
-@@ -796,6 +806,14 @@ Range* Document::CreateRangeAdjustedToTr
+@@ -800,6 +810,14 @@ Range* Document::CreateRangeAdjustedToTr
                         Position::BeforeNode(*shadow_host));
  }
  
@@ -97,7 +97,7 @@
      selector_query_cache_ = std::make_unique<SelectorQueryCache>();
 --- a/third_party/blink/renderer/core/dom/document.h
 +++ b/third_party/blink/renderer/core/dom/document.h
-@@ -389,6 +389,10 @@ class CORE_EXPORT Document : public Cont
+@@ -393,6 +393,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -108,7 +108,7 @@
    String visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -1798,6 +1802,9 @@ class CORE_EXPORT Document : public Cont
+@@ -1815,6 +1819,9 @@ class CORE_EXPORT Document : public Cont
  
    double start_time_;
  
@@ -120,7 +120,7 @@
    HeapVector<Member<ScriptElementBase>> current_script_stack_;
 --- a/third_party/blink/renderer/core/dom/element.cc
 +++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -1202,6 +1202,11 @@ DOMRectList* Element::getClientRects() {
+@@ -1222,6 +1222,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
        quads, *element_layout_object);
@@ -132,7 +132,7 @@
    return DOMRectList::Create(quads);
  }
  
-@@ -1219,6 +1224,9 @@ DOMRect* Element::getBoundingClientRect(
+@@ -1239,6 +1244,9 @@ DOMRect* Element::getBoundingClientRect(
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
                                                          *element_layout_object);
@@ -144,7 +144,7 @@
  
 --- a/third_party/blink/renderer/core/dom/range.cc
 +++ b/third_party/blink/renderer/core/dom/range.cc
-@@ -1646,11 +1646,21 @@ DOMRectList* Range::getClientRects() con
+@@ -1642,11 +1642,21 @@ DOMRectList* Range::getClientRects() con
    Vector<FloatQuad> quads;
    GetBorderAndTextQuads(quads);
  
@@ -169,7 +169,7 @@
  // TODO(editing-dev): We should make
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -510,6 +510,12 @@
+@@ -549,6 +549,12 @@
        settable_from_internals: true,
      },
      {
@@ -184,8 +184,8 @@
      },
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -608,4 +608,12 @@ void WebRuntimeFeatures::EnableForbidSyn
-   RuntimeEnabledFeatures::SetForbidSyncXHRInPageDismissalEnabled(enable);
+@@ -651,4 +651,12 @@ void WebRuntimeFeatures::EnableHTMLImpor
+   RuntimeEnabledFeatures::SetHTMLImportsOnlyChromeEnabled(enable);
  }
  
 +void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@@ -199,18 +199,18 @@
  }  // namespace blink
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -219,6 +219,8 @@ class WebRuntimeFeatures {
+@@ -230,6 +230,8 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableMergeBlockingNonBlockingPools(bool);
    BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
    BLINK_PLATFORM_EXPORT static void EnableForbidSyncXHRInPageDismissal(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
- 
-  private:
-   WebRuntimeFeatures();
+   BLINK_PLATFORM_EXPORT static void EnableShadowDOMV0(bool);
+   BLINK_PLATFORM_EXPORT static void EnableCustomElementsV0(bool);
+   BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -1989,6 +1989,7 @@ jumbo_split_static_library("browser") {
+@@ -2073,6 +2073,7 @@ jumbo_split_static_library("browser") {
      "//third_party/metrics_proto",
      "//third_party/re2",
      "//third_party/smhasher:cityhash",
@@ -220,7 +220,7 @@
      "//third_party/widevine/cdm:buildflags",
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -190,6 +190,7 @@ jumbo_source_set("browser") {
+@@ -188,6 +188,7 @@ jumbo_source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -230,15 +230,15 @@
      "//third_party/zlib",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -216,6 +216,7 @@
- #include "storage/browser/fileapi/sandbox_file_system_backend.h"
+@@ -215,6 +215,7 @@
  #include "third_party/blink/public/common/page/launching_process_state.h"
+ #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
  #include "third_party/blink/public/public_buildflags.h"
 +#include "third_party/ungoogled/ungoogled_switches.h"
  #include "third_party/skia/include/core/SkBitmap.h"
  #include "ui/base/ui_base_features.h"
  #include "ui/base/ui_base_switches.h"
-@@ -3135,6 +3136,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3020,6 +3021,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLImageChromium,
      switches::kEnableWebVR,
      switches::kFileUrlPathAlias,
@@ -249,7 +249,7 @@
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/BUILD.gn
 +++ b/content/child/BUILD.gn
-@@ -120,6 +120,7 @@ target(link_target_type, "child") {
+@@ -119,6 +119,7 @@ target(link_target_type, "child") {
      "//third_party/blink/public:scaled_resources",
      "//third_party/blink/public/common",
      "//third_party/ced",
@@ -259,9 +259,9 @@
      "//ui/events/blink",
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1462,6 +1462,7 @@ jumbo_component("platform") {
-     "//third_party/blink/public/common",
+@@ -1454,6 +1454,7 @@ jumbo_component("platform") {
      "//third_party/ced",
+     "//third_party/emoji-segmenter",
      "//third_party/icu",
 +    "//third_party/ungoogled:switches",
      "//third_party/webrtc/p2p:rtc_p2p",
@@ -269,7 +269,7 @@
      "//third_party/zlib/google:compression_utils",
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
-@@ -784,8 +784,15 @@ TextMetrics* CanvasRenderingContext2D::m
+@@ -793,8 +793,15 @@ TextMetrics* CanvasRenderingContext2D::m
    else
      direction = ToTextDirection(GetState().GetDirection(), canvas());
  

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

@@ -32,7 +32,7 @@ approach to change color components.
  #include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
  #include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
  #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
-@@ -128,6 +130,11 @@ bool ImageDataBuffer::EncodeImageInterna
+@@ -127,6 +129,11 @@ bool ImageDataBuffer::EncodeImageInterna
                                            const SkPixmap& pixmap) const {
    DCHECK(is_valid_);
  
@@ -70,7 +70,7 @@ approach to change color components.
  
  namespace blink {
  
-@@ -171,10 +175,165 @@ bool StaticBitmapImage::ConvertToArrayBu
+@@ -151,10 +155,165 @@ bool StaticBitmapImage::ConvertToArrayBu
    DCHECK(read_pixels_successful ||
           !sk_image->bounds().intersect(SkIRect::MakeXYWH(
               rect.X(), rect.Y(), info.width(), info.height())));
@@ -249,7 +249,7 @@ approach to change color components.
    // Methods overridden by all sub-classes
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -1231,6 +1231,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1132,6 +1132,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Enable Canvas::measureText() fingerprint deception",
       "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
       kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
@@ -262,18 +262,18 @@ approach to change color components.
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -482,6 +482,8 @@ void SetRuntimeFeaturesDefaultsAndUpdate
+@@ -447,6 +447,8 @@ void SetIndividualRuntimeFeatures(
        command_line.HasSwitch(switches::kFingerprintingClientRectsNoise));
    WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(
        command_line.HasSwitch(switches::kFingerprintingCanvasMeasureTextNoise));
 +  WebRuntimeFeatures::EnableFingerprintingCanvasImageDataNoise(
 +      command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise));
  
-   // End individual features.
-   // Do not add individual features below this line.
+   WebRuntimeFeatures::EnableAutoplayIgnoresWebAudio(
+       base::FeatureList::IsEnabled(media::kAutoplayIgnoreWebAudio));
 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -516,6 +516,9 @@
+@@ -555,6 +555,9 @@
        name: "FingerprintingCanvasMeasureTextNoise",
      },
      {
@@ -285,7 +285,7 @@ approach to change color components.
      },
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -616,4 +616,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -659,4 +659,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -296,17 +296,17 @@ approach to change color components.
  }  // namespace blink
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -221,6 +221,7 @@ class WebRuntimeFeatures {
+@@ -232,6 +232,7 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableForbidSyncXHRInPageDismissal(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
 +  BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool);
- 
-  private:
-   WebRuntimeFeatures();
+   BLINK_PLATFORM_EXPORT static void EnableShadowDOMV0(bool);
+   BLINK_PLATFORM_EXPORT static void EnableCustomElementsV0(bool);
+   BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3138,6 +3138,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3023,6 +3023,7 @@ void RenderProcessHostImpl::PropagateBro
      switches::kFileUrlPathAlias,
      switches::kFingerprintingClientRectsNoise,
      switches::kFingerprintingCanvasMeasureTextNoise,
@@ -316,7 +316,7 @@ approach to change color components.
      switches::kForceGpuMemAvailableMb,
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1432,7 +1432,9 @@ jumbo_component("platform") {
+@@ -1423,7 +1423,9 @@ jumbo_component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  

+ 12 - 12
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/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -825,6 +825,11 @@ const FeatureEntry::Choice kForceEffecti
+@@ -756,6 +756,11 @@ const FeatureEntry::Choice kForceEffecti
       net::kEffectiveConnectionType4G},
  };
  
@@ -29,10 +29,10 @@ with limited CPU/memory resources and it is disabled by default.
  // Ensure that all effective connection types returned by Network Quality
  // Estimator (NQE) are also exposed via flags.
  static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
-@@ -2400,6 +2405,9 @@ const FeatureEntry kFeatureEntries[] = {
-      flag_descriptions::kMaterialDesignIncognitoNTPName,
-      flag_descriptions::kMaterialDesignIncognitoNTPDescription, kOsAndroid,
-      FEATURE_VALUE_TYPE(features::kMaterialDesignIncognitoNTP)},
+@@ -2166,6 +2171,9 @@ const FeatureEntry kFeatureEntries[] = {
+      flag_descriptions::kAutofillCreditCardUploadDescription, kOsAll,
+      FEATURE_VALUE_TYPE(autofill::features::kAutofillUpstream)},
+ #endif  // TOOLKIT_VIEWS || OS_ANDROID
 +    {"max-connections-per-host", flag_descriptions::kMaxConnectionsPerHostName,
 +     flag_descriptions::kMaxConnectionsPerHostDescription, kOsAll,
 +     MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
@@ -41,9 +41,9 @@ with limited CPU/memory resources and it is disabled by default.
       flag_descriptions::kSafeSearchUrlReportingDescription, kOsAll,
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1251,6 +1251,10 @@ const char kMaterialDesignIncognitoNTPDe
-     "If enabled, the Incognito New Tab page uses the new material design with "
-     "a better readable text.";
+@@ -1232,6 +1232,10 @@ const char kLookalikeUrlNavigationSugges
+ const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
+ const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
  
 +const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
 +const char kMaxConnectionsPerHostDescription[] =
@@ -54,9 +54,9 @@ 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
-@@ -757,6 +757,9 @@ extern const char kMarkHttpAsWarningAndD
- extern const char kMaterialDesignIncognitoNTPName[];
- extern const char kMaterialDesignIncognitoNTPDescription[];
+@@ -739,6 +739,9 @@ extern const char kMarkHttpAsWarning[];
+ extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
+ extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
  
 +extern const char kMaxConnectionsPerHostName[];
 +extern const char kMaxConnectionsPerHostDescription[];
@@ -148,7 +148,7 @@ with limited CPU/memory resources and it is disabled by default.
        net::HttpNetworkSession::NORMAL_SOCKET_POOL,
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -1831,6 +1831,7 @@ jumbo_split_static_library("browser") {
+@@ -1914,6 +1914,7 @@ jumbo_split_static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common",
      "//components/network_session_configurator/browser",

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

@@ -13,7 +13,7 @@ author: Michael Gilbert <mgilbert@debian.org>
    enable_gvr_services = is_android && !is_chromecast &&
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -367,7 +367,7 @@ group("gn_all") {
+@@ -373,7 +373,7 @@ group("gn_all") {
    #       seems currently broken for this platform at the moment, and the
    #       corresponding code build and works on Linux unmodified.
    #       See instructions in the corresponding BUILD.gn.

+ 3 - 3
patches/extra/debian_buster/disable/fuzzers.patch

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -717,8 +717,7 @@ group("gn_all") {
+@@ -722,8 +722,7 @@ group("gn_all") {
      }
    }
  
@@ -11,11 +11,11 @@ author: Michael Gilbert <mgilbert@debian.org>
 -      (is_win && (use_drfuzz || use_libfuzzer)) || (use_libfuzzer && is_mac)) {
 +  if (false) {
      deps += [
+       "//chrome/services/cups_ipp_parser/public/cpp:fuzzers",
        "//testing/libfuzzer/fuzzers",
-       "//third_party/icu/fuzzers",
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
-@@ -2270,9 +2270,3 @@ test("content_perftests") {
+@@ -2287,9 +2287,3 @@ test("content_perftests") {
      deps += [ "//testing/android/native_test:native_test_native_code" ]
    }
  }

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

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

+ 0 - 14
patches/extra/debian_buster/fixes/chromedriver-revision.patch

@@ -1,14 +0,0 @@
-description: set chromedriver version as undefined
-author: Michael Gilbert <mgilbert@debian.org>
-
---- a/chrome/test/chromedriver/embed_version_in_cpp.py
-+++ b/chrome/test/chromedriver/embed_version_in_cpp.py
-@@ -39,7 +39,7 @@ def get_release_version(chrome_version_f
-                      version_info.revision)
-     if not match:
-       # revision is not the expected format, probably not in a release branch.
--      return None
-+      return "undefined"
- 
-     # Result is based on Chrome version number, e.g.,
-     # '70.0.3516.0 (26c10db8bff36a8b6fc073c0f38b1e9493cabb04)'.

+ 1 - 1
patches/extra/debian_buster/fixes/connection-message.patch

@@ -4,7 +4,7 @@ bug-debian: http://bugs.debian.org/864539
 
 --- a/components/error_page_strings.grdp
 +++ b/components/error_page_strings.grdp
-@@ -73,7 +73,7 @@
+@@ -63,7 +63,7 @@
    </message>
    <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections.  This contains details below the suggestion.">
      Check any cables and reboot any routers, modems, or other network

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

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

+ 0 - 40
patches/extra/debian_buster/system/fontconfig.patch

@@ -1,40 +0,0 @@
-# CHANGES MADE for ungoogled-chromium: The import of
-# //buildtools/deps_revision.gni
-# in file build/config/posix/BUILD.gn
-# was reverted since it
-# - breaks linux_portable.
-# - has no clear side-effects (the include only defines constants).
-description: disable build commands for embedded fontconfig
-author: Michael Gilbert <mgilbert@debian.org>
-
---- a/base/test/BUILD.gn
-+++ b/base/test/BUILD.gn
-@@ -207,7 +207,7 @@ static_library("test_support") {
-     deps += [ "//third_party/fuchsia-sdk/sdk:zx" ]
-   }
- 
--  if (is_linux) {
-+  if (false) {
-     public_deps += [ ":fontconfig_util_linux" ]
-     data_deps = [
-       "//third_party/test_fonts",
-@@ -381,7 +381,7 @@ if (is_linux) {
-     ]
-   }
- 
--  if (current_toolchain == host_toolchain) {
-+  if (false) {
-     executable("generate_fontconfig_caches") {
-       testonly = true
-       sources = [
---- a/content/shell/test_runner/BUILD.gn
-+++ b/content/shell/test_runner/BUILD.gn
-@@ -175,7 +175,7 @@ group("resources") {
-   if (is_mac) {
-     deps += [ ":test_runner_bundle_data" ]
-     data_deps += [ ":test_runner_bundle_data" ]
--  } else {
-+  } else if (false) {
-     deps += [ "//third_party/test_fonts" ]
-     data_deps += [ "//third_party/test_fonts" ]
-   }

+ 0 - 30
patches/extra/google/prevent-vsyncparameters-log-flooding.patch

@@ -1,30 +0,0 @@
-From 1fb4edaf534c278a0b7a3150efff8e712c1efe91 Mon Sep 17 00:00:00 2001
-From: Peng Huang <penghuang@chromium.org>
-Date: Tue, 19 Feb 2019 22:01:52 +0000
-Subject: [PATCH] Avoid log flooding in GLSurfacePresentationHelper
-
-Bug: 879929
-Change-Id: Ifb452736573e65791ed5e3f143778f576854a167
-Reviewed-on: https://chromium-review.googlesource.com/c/1477918
-Commit-Queue: Peng Huang <penghuang@chromium.org>
-Reviewed-by: Antoine Labour <piman@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#633415}
----
-
---- a/ui/gl/gl_surface_presentation_helper.cc
-+++ b/ui/gl/gl_surface_presentation_helper.cc
-@@ -234,7 +234,13 @@ void GLSurfacePresentationHelper::CheckP
-                                                         &vsync_interval_)) {
-       vsync_timebase_ = base::TimeTicks();
-       vsync_interval_ = base::TimeDelta();
--      LOG(ERROR) << "GetVSyncParametersIfAvailable() failed!";
-+      static unsigned int count = 0;
-+      ++count;
-+      // GetVSyncParametersIfAvailable() could be called and failed frequently,
-+      // so we have to limit the LOG to avoid flooding the log.
-+      LOG_IF(ERROR, count < 20 || !(count & 0xff))
-+          << "GetVSyncParametersIfAvailable() failed for " << count
-+          << " times!";
-     }
-   }
- 

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/chrome_content_browser_client.cc
 +++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1074,7 +1074,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1097,7 +1097,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -49,7 +49,7 @@
  enum class NetworkPredictionStatus {
 --- a/chrome/browser/background/background_mode_manager.cc
 +++ b/chrome/browser/background/background_mode_manager.cc
-@@ -351,7 +351,7 @@ void BackgroundModeManager::RegisterPref
+@@ -352,7 +352,7 @@ void BackgroundModeManager::RegisterPref
    registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
    registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
  #endif
@@ -71,7 +71,7 @@
  
 --- a/chrome/browser/ui/navigation_correction_tab_observer.cc
 +++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
-@@ -56,7 +56,7 @@ NavigationCorrectionTabObserver::~Naviga
+@@ -57,7 +57,7 @@ NavigationCorrectionTabObserver::~Naviga
  void NavigationCorrectionTabObserver::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* prefs) {
    prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled,
@@ -117,13 +117,11 @@
      </cr-dialog>
 --- a/chrome/browser/signin/signin_promo.cc
 +++ b/chrome/browser/signin/signin_promo.cc
-@@ -291,8 +291,8 @@ void ForceWebBasedSigninFlowForTesting(b
+@@ -171,7 +171,7 @@ bool IsAutoCloseEnabledInEmbeddedURL(con
+ 
  void RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
-   registry->RegisterIntegerPref(prefs::kSignInPromoStartupCount, 0);
--  registry->RegisterBooleanPref(prefs::kSignInPromoUserSkipped, false);
 -  registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, true);
-+  registry->RegisterBooleanPref(prefs::kSignInPromoUserSkipped, true);
 +  registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, false);
    registry->RegisterBooleanPref(prefs::kSignInPromoShowNTPBubble, false);
    registry->RegisterIntegerPref(prefs::kDiceSigninUserMenuPromoCount, 0);
@@ -147,7 +145,7 @@
        prefs::kShowManagedBookmarksInBookmarkBar,
 --- a/chrome/browser/profiles/profile.cc
 +++ b/chrome/browser/profiles/profile.cc
-@@ -138,7 +138,7 @@ const char Profile::kProfileKey[] = "__P
+@@ -139,7 +139,7 @@ const char Profile::kProfileKey[] = "__P
  void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
        prefs::kSearchSuggestEnabled,

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

@@ -33,7 +33,7 @@
    const GURL url;
 --- a/components/ntp_snippets/features.cc
 +++ b/components/ntp_snippets/features.cc
-@@ -35,13 +35,13 @@ const base::Feature* const kAllFeatures[
+@@ -34,13 +34,13 @@ const base::Feature* const kAllFeatures[
      &kRemoteSuggestionsBackendFeature};
  
  const base::Feature kArticleSuggestionsFeature{

+ 5 - 4
patches/extra/inox-patchset/0019-disable-battery-status-service.patch

@@ -11,7 +11,7 @@
  }
  
  BatteryStatusService::~BatteryStatusService() {}
-@@ -38,57 +35,16 @@ BatteryStatusService::AddCallback(const
+@@ -38,58 +35,16 @@ BatteryStatusService::AddCallback(const
    DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
    DCHECK(!is_shutdown_);
  
@@ -49,8 +49,9 @@
 -  DCHECK(!is_shutdown_);
 -
 -  main_thread_task_runner_->PostTask(
--      FROM_HERE, base::Bind(&BatteryStatusService::NotifyConsumersOnMainThread,
--                            base::Unretained(this), status));
+-      FROM_HERE,
+-      base::BindOnce(&BatteryStatusService::NotifyConsumersOnMainThread,
+-                     base::Unretained(this), status));
 -}
 -
 -void BatteryStatusService::NotifyConsumersOnMainThread(
@@ -71,7 +72,7 @@
    is_shutdown_ = true;
  }
  
-@@ -99,9 +55,6 @@ BatteryStatusService::GetUpdateCallbackF
+@@ -100,9 +55,6 @@ BatteryStatusService::GetUpdateCallbackF
  
  void BatteryStatusService::SetBatteryManagerForTesting(
      std::unique_ptr<BatteryStatusManager> test_battery_manager) {

+ 1 - 1
patches/extra/inox-patchset/chromium-widevine.patch

@@ -1,6 +1,6 @@
 --- a/chrome/common/chrome_content_client.cc
 +++ b/chrome/common/chrome_content_client.cc
-@@ -97,7 +97,7 @@
+@@ -98,7 +98,7 @@
  // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
  // bundled and not a component. When the Widevine CDM is a component, it is
  // registered in widevine_cdm_component_installer.cc.

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

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

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -1196,6 +1196,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1097,6 +1097,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Enable stacking in tab strip",
       "Forces tabs to be stacked in the tab strip. Otherwise, they follow default behavior.",
       kOsAll, SINGLE_VALUE_TYPE("enable-stacked-tab-strip")},
@@ -15,7 +15,7 @@
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
 --- a/chrome/renderer/chrome_render_frame_observer.cc
 +++ b/chrome/renderer/chrome_render_frame_observer.cc
-@@ -147,9 +147,10 @@ ChromeRenderFrameObserver::ChromeRenderF
+@@ -148,9 +148,10 @@ ChromeRenderFrameObserver::ChromeRenderF
    if (!render_frame->IsMainFrame())
      return;
  
@@ -27,7 +27,7 @@
    if (!command_line.HasSwitch(switches::kDisableClientSidePhishingDetection))
      SetClientSidePhishingDetection(true);
  #endif
-@@ -337,14 +338,16 @@ void ChromeRenderFrameObserver::DidFinis
+@@ -338,14 +339,16 @@ void ChromeRenderFrameObserver::DidFinis
    if (frame->Parent())
      return;
  
@@ -64,15 +64,15 @@
  #if !defined(OS_ANDROID)
 --- a/components/search_engines/template_url_service.cc
 +++ b/components/search_engines/template_url_service.cc
-@@ -8,6 +8,7 @@
- 
+@@ -9,6 +9,7 @@
  #include "base/auto_reset.h"
+ #include "base/bind.h"
  #include "base/callback.h"
 +#include "base/command_line.h"
  #include "base/debug/crash_logging.h"
  #include "base/format_macros.h"
  #include "base/guid.h"
-@@ -196,6 +197,12 @@ bool IsCreatedByExtension(const Template
+@@ -197,6 +198,12 @@ bool IsCreatedByExtension(const Template
           template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION;
  }
  
@@ -85,7 +85,7 @@
  }  // namespace
  
  // TemplateURLService::LessWithPrefix -----------------------------------------
-@@ -282,6 +289,7 @@ TemplateURLService::TemplateURLService(
+@@ -283,6 +290,7 @@ TemplateURLService::TemplateURLService(
      rappor::RapporServiceImpl* rappor_service,
      const base::Closure& dsp_change_callback)
      : prefs_(prefs),
@@ -93,7 +93,7 @@
        search_terms_data_(std::move(search_terms_data)),
        web_data_service_(web_data_service),
        client_(std::move(client)),
-@@ -337,7 +345,7 @@ bool TemplateURLService::CanAddAutogener
+@@ -338,7 +346,7 @@ bool TemplateURLService::CanAddAutogener
    if (existing_url) {
      // We already have a TemplateURL for this keyword. Only allow it to be
      // replaced if the TemplateURL can be replaced.
@@ -102,7 +102,7 @@
    }
  
    // We don't have a TemplateURL with keyword.  We still may not allow this
-@@ -346,8 +354,8 @@ bool TemplateURLService::CanAddAutogener
+@@ -347,8 +355,8 @@ bool TemplateURLService::CanAddAutogener
    // that may interfere with search queries).  An easy heuristic for this is
    // whether the user has a TemplateURL that has been manually modified (e.g.,
    // renamed) connected to the same host.
@@ -113,7 +113,7 @@
  }
  
  bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
-@@ -1356,6 +1364,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1357,6 +1365,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -122,7 +122,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1588,6 +1598,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1589,6 +1599,9 @@ void TemplateURLService::ChangeToLoadedS
  
  bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
      const std::string& host) const {
@@ -132,7 +132,7 @@
    const TemplateURLSet* urls = provider_map_->GetURLsForHost(host);
    if (!urls)
      return true;
-@@ -1598,7 +1611,8 @@ bool TemplateURLService::CanAddAutogener
+@@ -1599,7 +1612,8 @@ bool TemplateURLService::CanAddAutogener
  }
  
  bool TemplateURLService::CanReplace(const TemplateURL* t_url) const {

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

@@ -3,9 +3,9 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -212,6 +212,16 @@ const unsigned kOsDesktop = kOsMac | kOs
+@@ -211,6 +211,16 @@ const unsigned kOsDesktop = kOsMac | kOs
  const unsigned kOsAura = kOsWin | kOsLinux | kOsCrOS;
- #endif  // USE_AURA
+ #endif  // USE_AURA || OS_ANDROID
  
 +const FeatureEntry::Choice kExtensionHandlingChoices[] = {
 +    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
@@ -20,7 +20,7 @@
  const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
      {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
      {flags_ui::kGenericExperimentChoiceEnabled,
-@@ -1178,6 +1188,10 @@ const FeatureEntry::FeatureVariation kTa
+@@ -1079,6 +1089,10 @@ const FeatureEntry::FeatureVariation kTa
  //
  // When adding a new choice, add it to the end of the list.
  const FeatureEntry kFeatureEntries[] = {
@@ -104,7 +104,7 @@
  bool IsExtensionDownload(const download::DownloadItem& download_item);
 --- a/chrome/browser/download/download_target_determiner.cc
 +++ b/chrome/browser/download/download_target_determiner.cc
-@@ -935,10 +935,12 @@ DownloadConfirmationReason DownloadTarge
+@@ -973,10 +973,12 @@ DownloadConfirmationReason DownloadTarge
      return DownloadConfirmationReason::SAVE_AS;
  
  #if BUILDFLAG(ENABLE_EXTENSIONS)

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

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

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -222,6 +222,19 @@ const FeatureEntry::Choice kExtensionHan
+@@ -221,6 +221,19 @@ const FeatureEntry::Choice kExtensionHan
       "always-prompt-for-install"},
  };
  
@@ -20,7 +20,7 @@
  const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
      {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
      {flags_ui::kGenericExperimentChoiceEnabled,
-@@ -4178,6 +4191,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3840,6 +3853,11 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(arc::kEnableUnifiedAudioFocusFeature)},
  #endif  // defined(OS_CHROMEOS)
  
@@ -34,9 +34,9 @@
       flag_descriptions::kUseAngleDescription, kOsWin,
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -230,12 +230,27 @@ void ToolbarView::Init() {
+@@ -229,12 +229,27 @@ void ToolbarView::Init() {
+   if (media_router::MediaRouterEnabled(browser_->profile()))
      cast_ = media_router::CastToolbarButton::Create(browser_).release();
-   }
  
 +  const base::CommandLine& command_line =
 +      *base::CommandLine::ForCurrentProcess();

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

@@ -2,7 +2,7 @@
 
 --- a/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
 +++ b/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
-@@ -63,14 +63,13 @@ using content::WebContents;
+@@ -64,14 +64,13 @@ using content::WebContents;
  namespace {
  
  bool DetermineTabStripLayoutStacked(PrefService* prefs, bool* adjust_layout) {
@@ -22,7 +22,7 @@
  
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -1178,6 +1178,10 @@ const FeatureEntry::FeatureVariation kTa
+@@ -1079,6 +1079,10 @@ const FeatureEntry::FeatureVariation kTa
  //
  // When adding a new choice, add it to the end of the list.
  const FeatureEntry kFeatureEntries[] = {

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

@@ -11,7 +11,7 @@
  #include "base/compiler_specific.h"
  #include "base/containers/linked_list.h"
  #include "base/debug/debugger.h"
-@@ -122,11 +123,6 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -117,11 +118,6 @@ const unsigned kMinimumTTLSeconds = kCac
  // cached.
  const int kIPv6ProbePeriodMs = 1000;
  
@@ -23,7 +23,7 @@
  enum DnsResolveStatus {
    RESOLVE_STATUS_DNS_SUCCESS = 0,
    RESOLVE_STATUS_PROC_SUCCESS,
-@@ -2875,7 +2871,7 @@ bool HostResolverImpl::IsIPv6Reachable(c
+@@ -2752,7 +2748,7 @@ bool HostResolverImpl::IsIPv6Reachable(c
    if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
        kIPv6ProbePeriodMs) {
      last_ipv6_probe_result_ =

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

@@ -417,7 +417,7 @@
    void ReloadIcon(int index);
 --- a/components/search_engines/template_url_service.cc
 +++ b/components/search_engines/template_url_service.cc
-@@ -595,7 +595,8 @@ void TemplateURLService::IncrementUsageC
+@@ -596,7 +596,8 @@ void TemplateURLService::IncrementUsageC
  void TemplateURLService::ResetTemplateURL(TemplateURL* url,
                                            const base::string16& title,
                                            const base::string16& keyword,
@@ -427,7 +427,7 @@
    DCHECK(!IsCreatedByExtension(url));
    DCHECK(!keyword.empty());
    DCHECK(!search_url.empty());
-@@ -609,6 +610,7 @@ void TemplateURLService::ResetTemplateUR
+@@ -610,6 +611,7 @@ void TemplateURLService::ResetTemplateUR
    }
    data.safe_for_autoreplace = false;
    data.last_modified = clock_->Now();
@@ -435,7 +435,7 @@
    Update(url, TemplateURL(data));
  }
  
-@@ -2008,7 +2010,7 @@ TemplateURL* TemplateURLService::Add(std
+@@ -2009,7 +2011,7 @@ TemplateURL* TemplateURLService::Add(std
          // Neither engine can be replaced. Uniquify the existing keyword.
          base::string16 new_keyword = UniquifyKeyword(*existing_turl, false);
          ResetTemplateURL(existing_turl, existing_turl->short_name(),

+ 10 - 10
patches/extra/ungoogled-chromium/clear-http-auth-cache-menu-item.patch

@@ -2,7 +2,7 @@
 
 --- a/chrome/app/chrome_command_ids.h
 +++ b/chrome/app/chrome_command_ids.h
-@@ -149,6 +149,7 @@
+@@ -150,6 +150,7 @@
  #define IDC_MANAGE_EXTENSIONS           40022
  #define IDC_DEV_TOOLS_INSPECT           40023
  #define IDC_UPGRADE_DIALOG              40024
@@ -12,7 +12,7 @@
  #define IDC_SHOW_SIGNIN                 40030
 --- a/chrome/app/generated_resources.grd
 +++ b/chrome/app/generated_resources.grd
-@@ -1118,6 +1118,9 @@ are declared in tools/grit/grit_rule.gni
+@@ -1130,6 +1130,9 @@ are declared in tools/grit/grit_rule.gni
          <message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
            &amp;Clear browsing data...
          </message>
@@ -22,7 +22,7 @@
          <message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
            &amp;Downloads
          </message>
-@@ -1156,6 +1159,9 @@ are declared in tools/grit/grit_rule.gni
+@@ -1168,6 +1171,9 @@ are declared in tools/grit/grit_rule.gni
          <message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
            &amp;Clear Browsing Data...
          </message>
@@ -34,7 +34,7 @@
          </message>
 --- a/chrome/browser/ui/toolbar/app_menu_model.cc
 +++ b/chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -213,6 +213,7 @@ void ToolsMenuModel::Build(Browser* brow
+@@ -212,6 +212,7 @@ void ToolsMenuModel::Build(Browser* brow
  
    AddSeparator(ui::NORMAL_SEPARATOR);
    AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
@@ -68,7 +68,7 @@
  
 --- a/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
 +++ b/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
-@@ -228,6 +228,7 @@ GlobalMenuBarCommand tools_menu[] = {
+@@ -229,6 +229,7 @@ GlobalMenuBarCommand tools_menu[] = {
  
      {IDS_TASK_MANAGER, IDC_TASK_MANAGER},
      {IDS_CLEAR_BROWSING_DATA, IDC_CLEAR_BROWSING_DATA},
@@ -78,7 +78,7 @@
  
 --- a/chrome/browser/ui/browser_command_controller.cc
 +++ b/chrome/browser/ui/browser_command_controller.cc
-@@ -63,6 +63,9 @@
+@@ -66,6 +66,9 @@
  #include "extensions/browser/extension_system.h"
  #include "printing/buildflags/buildflags.h"
  #include "ui/events/keycodes/keyboard_codes.h"
@@ -88,7 +88,7 @@
  
  #if defined(OS_MACOSX)
  #include "chrome/browser/ui/browser_commands_mac.h"
-@@ -645,6 +648,9 @@ bool BrowserCommandController::ExecuteCo
+@@ -658,6 +661,9 @@ bool BrowserCommandController::ExecuteCo
      case IDC_CLEAR_BROWSING_DATA:
        ShowClearBrowsingDataDialog(browser_);
        break;
@@ -98,7 +98,7 @@
      case IDC_IMPORT_SETTINGS:
        ShowImportDialog(browser_);
        break;
-@@ -907,6 +913,7 @@ void BrowserCommandController::InitComma
+@@ -926,6 +932,7 @@ void BrowserCommandController::InitComma
                                          !profile()->IsOffTheRecord());
    command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA,
                                          !guest_session);
@@ -108,7 +108,7 @@
  #else
 --- a/tools/metrics/histograms/histograms.xml
 +++ b/tools/metrics/histograms/histograms.xml
-@@ -144010,6 +144010,7 @@ uploading your change for review.
+@@ -148992,6 +148992,7 @@ uploading your change for review.
    <suffix name="Cast"/>
    <suffix name="ChromeOSRestart"/>
    <suffix name="ClearBrowsingData"/>
@@ -142,7 +142,7 @@
    void ClearEntriesAddedSince(base::Time begin_time);
 --- a/tools/metrics/histograms/enums.xml
 +++ b/tools/metrics/histograms/enums.xml
-@@ -57122,6 +57122,7 @@ Full version information for the fingerp
+@@ -58638,6 +58638,7 @@ Full version information for the fingerp
    <int value="48" label="Open in Chrome"/>
    <int value="49" label="Site Settings"/>
    <int value="50" label="App Info"/>

+ 1 - 1
patches/extra/ungoogled-chromium/default-to-https-scheme.patch

@@ -51,7 +51,7 @@
  void AutocompleteInput::UpdateText(const base::string16& text,
 --- a/components/omnibox/browser/autocomplete_provider.cc
 +++ b/components/omnibox/browser/autocomplete_provider.cc
-@@ -349,11 +349,11 @@ size_t AutocompleteProvider::TrimHttpPre
+@@ -351,11 +351,11 @@ size_t AutocompleteProvider::TrimHttpPre
    if (!AutocompleteInput::HasHTTPScheme(*url))
      return 0;
    size_t scheme_pos =

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

@@ -50,17 +50,17 @@
 -#include "components/download/quarantine/quarantine.h"
  #include "crypto/secure_hash.h"
  
- #define CONDITIONAL_TRACE(trace)                  \
-@@ -446,7 +445,7 @@ DownloadInterruptReason BaseFile::LogInt
-   return reason;
+ #if defined(OS_ANDROID)
+@@ -494,7 +493,7 @@ DownloadInterruptReason BaseFile::Publis
  }
+ #endif  // defined(OS_ANDROID)
  
 -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
 +#if 0
  
  namespace {
  
-@@ -530,7 +529,7 @@ DownloadInterruptReason BaseFile::Annota
+@@ -578,7 +577,7 @@ DownloadInterruptReason BaseFile::Annota
    }
    return DOWNLOAD_INTERRUPT_REASON_FILE_FAILED;
  }
@@ -75,7 +75,7 @@
  
  #include "build/build_config.h"
  
--#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
+-#if !defined(OS_WIN) && !defined(OS_MACOSX)
 -
  namespace download {
  
@@ -85,10 +85,10 @@
  
  }  // namespace download
 -
--#endif  // !WIN && !MAC && !LINUX
+-#endif  // !WIN && !MAC
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -50,7 +50,6 @@ jumbo_source_set("browser") {
+@@ -51,7 +51,6 @@ jumbo_source_set("browser") {
      "//components/discardable_memory/service",
      "//components/download/database",
      "//components/download/public/common:public",

+ 1 - 1
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
-@@ -3298,16 +3298,14 @@ ScriptValue WebGLRenderingContextBase::g
+@@ -3316,16 +3316,14 @@ ScriptValue WebGLRenderingContextBase::g
        return ScriptValue::CreateNull(script_state);
      case WebGLDebugRendererInfo::kUnmaskedRendererWebgl:
        if (ExtensionEnabled(kWebGLDebugRendererInfoName))

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

@@ -17,7 +17,7 @@
  bool IsURLHandledByNetworkStack(const GURL& url) {
 --- a/chrome/browser/ui/browser_commands.cc
 +++ b/chrome/browser/ui/browser_commands.cc
-@@ -378,12 +378,6 @@ int GetContentRestrictions(const Browser
+@@ -377,12 +377,6 @@ int GetContentRestrictions(const Browser
      CoreTabHelper* core_tab_helper =
          CoreTabHelper::FromWebContents(current_tab);
      content_restrictions = core_tab_helper->content_restrictions();
@@ -30,7 +30,7 @@
      if (current_tab->ShowingInterstitialPage())
        content_restrictions |= CONTENT_RESTRICTION_PRINT;
    }
-@@ -949,8 +943,7 @@ bool CanSavePage(const Browser* browser)
+@@ -956,8 +950,7 @@ bool CanSavePage(const Browser* browser)
        prefs::kAllowFileSelectionDialogs)) {
      return false;
    }

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

@@ -2,7 +2,7 @@
 
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
-@@ -289,7 +289,7 @@ WindowOpenDisposition RenderViewImpl::Na
+@@ -288,7 +288,7 @@ WindowOpenDisposition RenderViewImpl::Na
      case blink::kWebNavigationPolicyNewWindow:
        return WindowOpenDisposition::NEW_WINDOW;
      case blink::kWebNavigationPolicyNewPopup:

+ 0 - 4
patches/series

@@ -15,7 +15,6 @@ core/debian_buster/disable/perfetto.patch
 core/iridium-browser/safe_browsing-disable-incident-reporting.patch
 core/iridium-browser/safe_browsing-disable-reporting-of-safebrowsing-over.patch
 core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
-core/iridium-browser/promo-disable-Google-promotion-fetching.patch
 core/ungoogled-chromium/disable-crash-reporter.patch
 core/ungoogled-chromium/disable-google-host-detection.patch
 core/ungoogled-chromium/replace-google-search-engine-with-nosearch.patch
@@ -50,14 +49,12 @@ extra/debian_buster/gn/parallel.patch
 extra/debian_buster/fixes/ps-print.patch
 extra/debian_buster/fixes/inspector.patch
 extra/debian_buster/fixes/connection-message.patch
-extra/debian_buster/fixes/chromedriver-revision.patch
 extra/debian_buster/disable/android.patch
 extra/debian_buster/disable/fuzzers.patch
 extra/debian_buster/disable/welcome-page.patch
 extra/debian_buster/disable/google-api-warning.patch
 extra/debian_buster/disable/device-notifications.patch
 extra/debian_buster/warnings/initialization.patch
-extra/debian_buster/system/fontconfig.patch
 extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch
 extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
 extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
@@ -89,4 +86,3 @@ extra/ungoogled-chromium/default-to-https-scheme.patch
 extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
 extra/bromite/flag-max-connections-per-host.patch
 extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
-extra/google/prevent-vsyncparameters-log-flooding.patch

File diff suppressed because it is too large
+ 159 - 203
pruning.list


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