Browse Source

patches/extra: Update for 77.0.3865.75

xsmile 4 years ago
parent
commit
f03c0be177
36 changed files with 308 additions and 180 deletions
  1. 30 35
      patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
  2. 9 9
      patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
  3. 11 11
      patches/extra/bromite/flag-max-connections-per-host.patch
  4. 1 1
      patches/extra/debian_buster/disable/android.patch
  5. 1 1
      patches/extra/debian_buster/disable/device-notifications.patch
  6. 2 2
      patches/extra/debian_buster/disable/fuzzers.patch
  7. 1 1
      patches/extra/debian_buster/disable/google-api-warning.patch
  8. 1 1
      patches/extra/debian_buster/disable/welcome-page.patch
  9. 0 14
      patches/extra/debian_buster/fixes/inspector.patch
  10. 13 13
      patches/extra/inox-patchset/0006-modify-default-prefs.patch
  11. 5 5
      patches/extra/inox-patchset/0008-restore-classic-ntp.patch
  12. 1 1
      patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
  13. 5 5
      patches/extra/inox-patchset/0019-disable-battery-status-service.patch
  14. 1 1
      patches/extra/inox-patchset/chromium-widevine.patch
  15. 1 1
      patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
  16. 1 1
      patches/extra/iridium-browser/updater-disable-auto-update.patch
  17. 9 9
      patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
  18. 5 5
      patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
  19. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch
  20. 2 2
      patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
  21. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
  22. 10 10
      patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
  23. 4 4
      patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
  24. 1 1
      patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch
  25. 2 2
      patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
  26. 5 5
      patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
  27. 2 2
      patches/extra/ungoogled-chromium/default-to-https-scheme.patch
  28. 169 23
      patches/extra/ungoogled-chromium/disable-download-quarantine.patch
  29. 1 1
      patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch
  30. 1 1
      patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch
  31. 1 1
      patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
  32. 3 3
      patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
  33. 4 4
      patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
  34. 3 1
      patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch
  35. 1 1
      patches/extra/ungoogled-chromium/popups-to-tabs.patch
  36. 0 1
      patches/series

+ 30 - 35
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 @@
+@@ -137,6 +137,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"
-@@ -1148,6 +1149,14 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1242,6 +1243,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")},
@@ -34,7 +34,7 @@
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -23,6 +23,7 @@
+@@ -22,6 +22,7 @@
  #include "services/network/public/cpp/features.h"
  #include "third_party/blink/public/common/features.h"
  #include "third_party/blink/public/platform/web_runtime_features.h"
@@ -42,7 +42,7 @@
  #include "ui/base/ui_base_features.h"
  #include "ui/events/blink/blink_features.h"
  #include "ui/gfx/switches.h"
-@@ -454,6 +455,11 @@ void SetIndividualRuntimeFeatures(
+@@ -462,6 +463,11 @@ void SetIndividualRuntimeFeatures(
      WebRuntimeFeatures::EnableForbidSyncXHRInPageDismissal(true);
    }
  
@@ -64,7 +64,7 @@
  #include "cc/input/overscroll_behavior.h"
  #include "cc/input/scroll_snap_data.h"
  #include "services/metrics/public/cpp/mojo_ukm_recorder.h"
-@@ -767,6 +768,15 @@ Document::Document(const DocumentInit& i
+@@ -1131,6 +1132,15 @@ Document::Document(const DocumentInit& i
  #ifndef NDEBUG
    liveDocumentSet().insert(this);
  #endif
@@ -80,7 +80,7 @@
  }
  
  Document::~Document() {
-@@ -795,6 +805,14 @@ Range* Document::CreateRangeAdjustedToTr
+@@ -1159,6 +1169,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
-@@ -395,6 +395,10 @@ class CORE_EXPORT Document : public Cont
+@@ -398,6 +398,10 @@ class CORE_EXPORT Document : public Cont
      has_xml_declaration_ = has_xml_declaration ? 1 : 0;
    }
  
@@ -108,9 +108,9 @@
    String visibilityState() const;
    bool IsPageVisible() const;
    bool hidden() const;
-@@ -1879,6 +1883,9 @@ class CORE_EXPORT Document : public Cont
+@@ -1884,6 +1888,9 @@ class CORE_EXPORT Document : public Cont
  
-   double start_time_;
+   base::ElapsedTimer start_time_;
  
 +  double noise_factor_x_;
 +  double noise_factor_y_;
@@ -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
-@@ -1346,6 +1346,11 @@ DOMRectList* Element::getClientRects() {
+@@ -1370,6 +1370,11 @@ DOMRectList* Element::getClientRects() {
    DCHECK(element_layout_object);
    GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
        quads, *element_layout_object);
@@ -132,7 +132,7 @@
    return DOMRectList::Create(quads);
  }
  
-@@ -1363,6 +1368,9 @@ DOMRect* Element::getBoundingClientRect(
+@@ -1387,6 +1392,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
-@@ -1632,11 +1632,21 @@ DOMRectList* Range::getClientRects() con
+@@ -1631,11 +1631,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
-@@ -595,6 +595,12 @@
+@@ -637,6 +637,12 @@
        name: "FileSystem",
        status: "stable",
      },
@@ -184,8 +184,8 @@
      // metric. See also: http://bit.ly/fcp_plus_plus
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -703,4 +703,12 @@ void WebRuntimeFeatures::EnablePauseExec
-       enable);
+@@ -699,4 +699,12 @@ void WebRuntimeFeatures::EnableMouseSubf
+   RuntimeEnabledFeatures::SetMouseSubframeNoImplicitCaptureEnabled(enable);
  }
  
 +void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@@ -199,7 +199,7 @@
  }  // namespace blink
 --- a/third_party/blink/public/platform/web_runtime_features.h
 +++ b/third_party/blink/public/platform/web_runtime_features.h
-@@ -236,6 +236,8 @@ class WebRuntimeFeatures {
+@@ -228,6 +228,8 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableMergeBlockingNonBlockingPools(bool);
    BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
    BLINK_PLATFORM_EXPORT static void EnableForbidSyncXHRInPageDismissal(bool);
@@ -210,7 +210,7 @@
    BLINK_PLATFORM_EXPORT static void EnableHTMLImports(bool);
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2118,6 +2118,7 @@ jumbo_split_static_library("browser") {
+@@ -2156,6 +2156,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
-@@ -206,6 +206,7 @@ jumbo_source_set("browser") {
+@@ -207,6 +207,7 @@ jumbo_source_set("browser") {
      "//third_party/libyuv",
      "//third_party/re2",
      "//third_party/sqlite",
@@ -230,7 +230,7 @@
      "//third_party/zlib",
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -213,6 +213,7 @@
+@@ -214,6 +214,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"
@@ -238,7 +238,7 @@
  #include "third_party/skia/include/core/SkBitmap.h"
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_switches.h"
-@@ -3005,6 +3006,8 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3001,6 +3002,8 @@ void RenderProcessHostImpl::PropagateBro
      switches::kEnableWebGLSwapChain,
      switches::kEnableWebVR,
      switches::kFileUrlPathAlias,
@@ -249,7 +249,7 @@
      switches::kForceGpuMemAvailableMb,
 --- a/content/child/BUILD.gn
 +++ b/content/child/BUILD.gn
-@@ -116,6 +116,7 @@ target(link_target_type, "child") {
+@@ -117,6 +117,7 @@ target(link_target_type, "child") {
      "//third_party/blink/public:scaled_resources",
      "//third_party/blink/public/common",
      "//third_party/ced",
@@ -259,7 +259,7 @@
      "//ui/events/blink",
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1434,6 +1434,7 @@ jumbo_component("platform") {
+@@ -1426,6 +1426,7 @@ jumbo_component("platform") {
      "//third_party/ced",
      "//third_party/emoji-segmenter",
      "//third_party/icu",
@@ -269,24 +269,19 @@
      "//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
-@@ -804,9 +804,16 @@ TextMetrics* CanvasRenderingContext2D::m
-   else
-     direction = ToTextDirection(GetState().GetDirection(), canvas());
- 
--  return MakeGarbageCollected<TextMetrics>(font, direction,
-+  TextMetrics* textMetrics = MakeGarbageCollected<TextMetrics>(font, direction,
-                                            GetState().GetTextBaseline(),
-                                            GetState().GetTextAlign(), text);
+@@ -811,6 +811,12 @@ TextMetrics* CanvasRenderingContext2D::m
+   TextMetrics* text_metrics = MakeGarbageCollected<TextMetrics>(
+       font, direction, GetState().GetTextBaseline(), GetState().GetTextAlign(),
+       text);
 +
 +  // Scale text metrics if enabled
 +  if (RuntimeEnabledFeatures::FingerprintingCanvasMeasureTextNoiseEnabled()) {
-+    textMetrics->Shuffle(canvas()->GetDocument().GetNoiseFactorX());
++    text_metrics->Shuffle(canvas()->GetDocument().GetNoiseFactorX());
 +  }
 +
-+  return textMetrics;
- }
- 
- void CanvasRenderingContext2D::DrawTextInternal(
+   base::TimeDelta elapsed = base::TimeTicks::Now() - start_time;
+   base::UmaHistogramMicrosecondsTimesUnderTenMilliseconds(
+       "Canvas.TextMetrics.MeasureText", elapsed);
 --- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
 +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
 @@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : pu

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

@@ -70,7 +70,7 @@ approach to change color components.
  #include "v8/include/v8.h"
  
  namespace blink {
-@@ -152,10 +156,165 @@ bool StaticBitmapImage::ConvertToArrayBu
+@@ -154,10 +158,165 @@ bool StaticBitmapImage::ConvertToArrayBu
    DCHECK(read_pixels_successful ||
           !sk_image->bounds().intersect(SkIRect::MakeXYWH(
               rect.X(), rect.Y(), info.width(), info.height())));
@@ -238,7 +238,7 @@ approach to change color components.
    return sync_token;
 --- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
 +++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
-@@ -46,6 +46,8 @@ class PLATFORM_EXPORT StaticBitmapImage 
+@@ -46,6 +46,8 @@ class PLATFORM_EXPORT StaticBitmapImage
    static scoped_refptr<StaticBitmapImage> Create(WTF::ArrayBufferContents&,
                                                   const SkImageInfo&);
  
@@ -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
-@@ -1162,6 +1162,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1256,6 +1256,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,7 +262,7 @@ approach to change color components.
       SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
 --- a/content/child/runtime_features.cc
 +++ b/content/child/runtime_features.cc
-@@ -459,6 +459,8 @@ void SetIndividualRuntimeFeatures(
+@@ -467,6 +467,8 @@ void SetIndividualRuntimeFeatures(
        command_line.HasSwitch(switches::kFingerprintingClientRectsNoise));
    WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(
        command_line.HasSwitch(switches::kFingerprintingCanvasMeasureTextNoise));
@@ -273,7 +273,7 @@ approach to change color components.
        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
-@@ -601,6 +601,9 @@
+@@ -643,6 +643,9 @@
      {
        name: "FingerprintingCanvasMeasureTextNoise",
      },
@@ -285,7 +285,7 @@ approach to change color components.
      // metric. See also: http://bit.ly/fcp_plus_plus
 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
 +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -711,4 +711,8 @@ void WebRuntimeFeatures::EnableFingerpri
+@@ -707,4 +707,8 @@ void WebRuntimeFeatures::EnableFingerpri
    RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
  }
  
@@ -296,7 +296,7 @@ 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
-@@ -238,6 +238,7 @@ class WebRuntimeFeatures {
+@@ -230,6 +230,7 @@ class WebRuntimeFeatures {
    BLINK_PLATFORM_EXPORT static void EnableForbidSyncXHRInPageDismissal(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
    BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -306,7 +306,7 @@ approach to change color components.
    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
-@@ -3008,6 +3008,7 @@ void RenderProcessHostImpl::PropagateBro
+@@ -3004,6 +3004,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
-@@ -1402,7 +1402,9 @@ jumbo_component("platform") {
+@@ -1394,7 +1394,9 @@ jumbo_component("platform") {
      "//third_party/blink/renderer:non_test_config",
    ]
  

+ 11 - 11
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
-@@ -607,6 +607,11 @@ const FeatureEntry::Choice kForceEffecti
+@@ -619,6 +619,11 @@ const FeatureEntry::Choice kForceEffecti
       net::kEffectiveConnectionType4G},
  };
  
@@ -29,7 +29,7 @@ with limited CPU/memory resources and it is disabled by default.
  // Ensure that all effective connection types returned by Network Quality
  // Estimator (NQE) are also exposed via flags.
  static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
-@@ -2053,6 +2058,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2217,6 +2222,9 @@ const FeatureEntry kFeatureEntries[] = {
       flag_descriptions::kAutofillCreditCardUploadDescription, kOsAll,
       FEATURE_VALUE_TYPE(autofill::features::kAutofillUpstream)},
  #endif  // TOOLKIT_VIEWS || OS_ANDROID
@@ -41,7 +41,7 @@ with limited CPU/memory resources and it is disabled by default.
       MULTI_VALUE_TYPE(kForceUIDirectionChoices)},
 --- a/chrome/browser/flag_descriptions.cc
 +++ b/chrome/browser/flag_descriptions.cc
-@@ -1150,6 +1150,10 @@ const char kLookalikeUrlNavigationSugges
+@@ -1206,6 +1206,10 @@ const char kLookalikeUrlNavigationSugges
  const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
  const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
  
@@ -54,7 +54,7 @@ with limited CPU/memory resources and it is disabled by default.
  const char kMediaRouterCastAllowAllIPsDescription[] =
 --- a/chrome/browser/flag_descriptions.h
 +++ b/chrome/browser/flag_descriptions.h
-@@ -705,6 +705,9 @@ extern const char kMarkHttpAsWarning[];
+@@ -733,6 +733,9 @@ extern const char kMarkHttpAsWarning[];
  extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
  extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
  
@@ -119,15 +119,15 @@ with limited CPU/memory resources and it is disabled by default.
  #include "base/synchronization/waitable_event.h"
  #include "base/task/post_task.h"
  #include "base/task/task_traits.h"
-@@ -100,6 +102,7 @@
+@@ -95,6 +97,7 @@
+ #include "components/metrics/metrics_service.h"
  #include "components/metrics_services_manager/metrics_services_manager.h"
  #include "components/metrics_services_manager/metrics_services_manager_client.h"
- #include "components/net_log/chrome_net_log.h"
 +#include "components/network_session_configurator/common/network_switches.h"
  #include "components/network_time/network_time_tracker.h"
+ #include "components/optimization_guide/optimization_guide_features.h"
  #include "components/optimization_guide/optimization_guide_service.h"
- #include "components/policy/core/common/policy_service.h"
-@@ -137,6 +140,7 @@
+@@ -130,6 +133,7 @@
  #include "extensions/buildflags/buildflags.h"
  #include "extensions/common/constants.h"
  #include "media/media_buildflags.h"
@@ -135,7 +135,7 @@ with limited CPU/memory resources and it is disabled by default.
  #include "ppapi/buildflags/buildflags.h"
  #include "printing/buildflags/buildflags.h"
  #include "services/network/public/cpp/features.h"
-@@ -323,6 +327,18 @@ void BrowserProcessImpl::Init() {
+@@ -315,6 +319,18 @@ void BrowserProcessImpl::Init() {
                               base::Bind(&ApplyMetricsReportingPolicy));
  #endif
  
@@ -156,11 +156,11 @@ with limited CPU/memory resources and it is disabled by default.
  
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -1954,6 +1954,7 @@ jumbo_split_static_library("browser") {
+@@ -1991,6 +1991,7 @@ jumbo_split_static_library("browser") {
      "//components/net_log",
      "//components/network_hints/common",
      "//components/network_session_configurator/browser",
 +    "//components/network_session_configurator/common",
      "//components/network_time",
-     "//components/ntp_snippets",
      "//components/ntp_tiles",
+     "//components/offline_items_collection/core",

+ 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
-@@ -372,7 +372,7 @@ group("gn_all") {
+@@ -384,7 +384,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.

+ 1 - 1
patches/extra/debian_buster/disable/device-notifications.patch

@@ -4,7 +4,7 @@ bug-debian: http://bugs.debian.org/856571
 
 --- a/chrome/browser/printing/cloud_print/privet_notifications.cc
 +++ b/chrome/browser/printing/cloud_print/privet_notifications.cc
-@@ -229,8 +229,7 @@ void PrivetNotificationService::DeviceCa
+@@ -209,8 +209,7 @@ void PrivetNotificationService::DeviceCa
  // static
  bool PrivetNotificationService::IsEnabled() {
    base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();

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

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -723,8 +723,7 @@ group("gn_all") {
+@@ -734,8 +734,7 @@ group("gn_all") {
      }
    }
  
@@ -15,7 +15,7 @@ author: Michael Gilbert <mgilbert@debian.org>
        "//testing/libfuzzer/fuzzers",
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
-@@ -2333,12 +2333,6 @@ test("content_perftests") {
+@@ -2402,12 +2402,6 @@ test("content_perftests") {
    }
  }
  

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

@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
 
 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
 +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -849,10 +849,6 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -856,10 +856,6 @@ void StartupBrowserCreatorImpl::AddInfoB
  
      InfoBarService* infobar_service =
          InfoBarService::FromWebContents(web_contents);

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

+ 0 - 14
patches/extra/debian_buster/fixes/inspector.patch

@@ -1,14 +0,0 @@
-description: use inspector_protocol from top level third_party dir
-author: Michael Gilbert <mgilbert@debian.org>
-
---- a/v8/src/inspector/BUILD.gn
-+++ b/v8/src/inspector/BUILD.gn
-@@ -4,7 +4,7 @@
- 
- import("../../gni/v8.gni")
- 
--_inspector_protocol = v8_path_prefix + "/third_party/inspector_protocol"
-+_inspector_protocol = "../../../third_party/inspector_protocol"
- import("$_inspector_protocol/inspector_protocol.gni")
- 
- _protocol_generated = [

+ 13 - 13
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
-@@ -1175,7 +1175,7 @@ void ChromeContentBrowserClient::Registe
+@@ -1153,7 +1153,7 @@ void ChromeContentBrowserClient::Registe
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -27,7 +27,7 @@
    registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
 --- a/chrome/browser/net/prediction_options.cc
 +++ b/chrome/browser/net/prediction_options.cc
-@@ -32,7 +32,7 @@ NetworkPredictionStatus CanPrefetchAndPr
+@@ -31,7 +31,7 @@ NetworkPredictionStatus CanPrefetchAndPr
        }
        return NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK;
      default:
@@ -38,7 +38,7 @@
  }
 --- a/chrome/browser/net/prediction_options.h
 +++ b/chrome/browser/net/prediction_options.h
-@@ -23,7 +23,7 @@ enum NetworkPredictionOptions {
+@@ -22,7 +22,7 @@ enum NetworkPredictionOptions {
    NETWORK_PREDICTION_ALWAYS,
    NETWORK_PREDICTION_WIFI_ONLY,
    NETWORK_PREDICTION_NEVER,
@@ -49,7 +49,7 @@
  enum class NetworkPredictionStatus {
 --- a/chrome/browser/background/background_mode_manager.cc
 +++ b/chrome/browser/background/background_mode_manager.cc
-@@ -303,7 +303,7 @@ void BackgroundModeManager::RegisterPref
+@@ -301,7 +301,7 @@ void BackgroundModeManager::RegisterPref
    registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
    registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
  #endif
@@ -60,15 +60,15 @@
  void BackgroundModeManager::RegisterProfile(Profile* profile) {
 --- a/components/content_settings/core/browser/cookie_settings.cc
 +++ b/components/content_settings/core/browser/cookie_settings.cc
-@@ -50,7 +50,7 @@ void CookieSettings::GetCookieSettings(
+@@ -57,7 +57,7 @@ void CookieSettings::GetCookieSettings(
  void CookieSettings::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
 -      prefs::kBlockThirdPartyCookies, false,
 +      prefs::kBlockThirdPartyCookies, true,
        user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
- }
- 
+   registry->RegisterBooleanPref(
+       prefs::kCookieControlsEnabled, false,
 --- a/chrome/browser/ui/navigation_correction_tab_observer.cc
 +++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
 @@ -55,7 +55,7 @@ NavigationCorrectionTabObserver::~Naviga
@@ -106,8 +106,8 @@
        prefs::kAutofillProfileValidity, "",
 --- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
 +++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
-@@ -52,7 +52,7 @@
-         </paper-button>
+@@ -50,7 +50,7 @@
+         </cr-button>
        </div>
        <div slot="footer">
 -        <cr-checkbox id="sendSettings" checked>
@@ -117,7 +117,7 @@
      </cr-dialog>
 --- a/components/bookmarks/browser/bookmark_utils.cc
 +++ b/components/bookmarks/browser/bookmark_utils.cc
-@@ -440,12 +440,12 @@ void GetBookmarksMatchingProperties(Book
+@@ -433,12 +433,12 @@ void GetBookmarksMatchingProperties(Book
  void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(
        prefs::kShowBookmarkBar,
@@ -186,7 +186,7 @@
    // functionality that are only available in chrome://extensions/ but which
 --- a/components/safe_browsing/common/safe_browsing_prefs.cc
 +++ b/components/safe_browsing/common/safe_browsing_prefs.cc
-@@ -149,9 +149,9 @@ void RegisterProfilePrefs(PrefRegistrySi
+@@ -153,9 +153,9 @@ void RegisterProfilePrefs(PrefRegistrySi
    registry->RegisterBooleanPref(
        prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
    registry->RegisterBooleanPref(
@@ -200,7 +200,7 @@
                                  false);
 --- a/components/password_manager/core/browser/password_manager.cc
 +++ b/components/password_manager/core/browser/password_manager.cc
-@@ -357,10 +357,10 @@ void PasswordManager::RegisterProfilePre
+@@ -359,10 +359,10 @@ void PasswordManager::RegisterProfilePre
    registry->RegisterBooleanPref(prefs::kBlacklistedCredentialsNormalized,
                                  false);
    registry->RegisterBooleanPref(
@@ -226,7 +226,7 @@
  
 --- a/chrome/browser/signin/account_consistency_mode_manager.cc
 +++ b/chrome/browser/signin/account_consistency_mode_manager.cc
-@@ -126,7 +126,7 @@ void AccountConsistencyModeManager::Regi
+@@ -145,7 +145,7 @@ void AccountConsistencyModeManager::Regi
    registry->RegisterBooleanPref(prefs::kAccountConsistencyMirrorRequired,
                                  false);
  #endif

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

@@ -30,8 +30,8 @@
    const GURL url;
 --- a/components/ntp_snippets/features.cc
 +++ b/components/ntp_snippets/features.cc
-@@ -40,7 +40,7 @@ const base::Feature* const kAllFeatures[
-     &kRemoteSuggestionsBackendFeature};
+@@ -39,7 +39,7 @@ const base::Feature* const kAllFeatures[
+     &kOptionalImagesEnabledFeature};
  
  const base::Feature kArticleSuggestionsFeature{
 -    "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -39,12 +39,12 @@
  
  const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
      "RemoteSuggestionsEmulateM58FetchingSchedule",
-@@ -70,7 +70,7 @@ const char kNotificationsDailyLimit[] = 
+@@ -69,7 +69,7 @@ const char kNotificationsDailyLimit[] =
  const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
  
  const base::Feature kKeepPrefetchedContentSuggestions{
 -    "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
 +    "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
  
- std::vector<const base::Feature*> GetAllFeatures() {
-   // Skip the last feature as it's a nullptr.
+ const base::Feature kOptionalImagesEnabledFeature{
+     "NTPRemoteSuggestionsOptionalImages", base::FEATURE_DISABLED_BY_DEFAULT};

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/startup/startup_tab_provider.cc
 +++ b/chrome/browser/ui/startup/startup_tab_provider.cc
-@@ -62,7 +62,7 @@ bool ProfileHasOtherTabbedBrowser(Profil
+@@ -49,7 +49,7 @@ bool ProfileHasOtherTabbedBrowser(Profil
  
  StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const {
  // Onboarding content has not been launched on Chrome OS.

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

@@ -1,6 +1,6 @@
 --- a/services/device/battery/battery_status_service.cc
 +++ b/services/device/battery/battery_status_service.cc
-@@ -19,10 +19,7 @@ BatteryStatusService::BatteryStatusServi
+@@ -21,10 +21,7 @@ BatteryStatusService::BatteryStatusServi
      : main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()),
        update_callback_(base::Bind(&BatteryStatusService::NotifyConsumers,
                                    base::Unretained(this))),
@@ -10,8 +10,8 @@
 -      &BatteryStatusService::ConsumersChanged, base::Unretained(this)));
  }
  
- BatteryStatusService::~BatteryStatusService() {}
-@@ -38,58 +35,16 @@ BatteryStatusService::AddCallback(const 
+ BatteryStatusService::~BatteryStatusService() {
+@@ -67,58 +64,16 @@ BatteryStatusService::AddCallback(const
    DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
    DCHECK(!is_shutdown_);
  
@@ -72,7 +72,7 @@
    is_shutdown_ = true;
  }
  
-@@ -100,9 +55,6 @@ BatteryStatusService::GetUpdateCallbackF
+@@ -129,9 +84,6 @@ BatteryStatusService::GetUpdateCallbackF
  
  void BatteryStatusService::SetBatteryManagerForTesting(
      std::unique_ptr<BatteryStatusManager> test_battery_manager) {
@@ -84,7 +84,7 @@
  }
 --- a/services/device/battery/battery_status_service.h
 +++ b/services/device/battery/battery_status_service.h
-@@ -56,15 +56,10 @@ class BatteryStatusService {
+@@ -57,15 +57,10 @@ class BatteryStatusService {
    // Updates current battery status and sends new status to interested
    // render processes. Can be called on any thread via a callback.
    void NotifyConsumers(const mojom::BatteryStatus& status);

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

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

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

+ 9 - 9
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
-@@ -1117,6 +1117,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1211,6 +1211,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")},
@@ -72,7 +72,7 @@
  #include "base/debug/crash_logging.h"
  #include "base/format_macros.h"
  #include "base/metrics/histogram_macros.h"
-@@ -196,6 +197,12 @@ bool IsCreatedByExtension(const Template
+@@ -200,6 +201,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(
+@@ -286,6 +293,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
+@@ -351,7 +359,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
+@@ -360,8 +368,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(
-@@ -1369,6 +1377,8 @@ SyncDataMap TemplateURLService::CreateGU
+@@ -1383,6 +1391,8 @@ SyncDataMap TemplateURLService::CreateGU
  
  void TemplateURLService::Init(const Initializer* initializers,
                                int num_initializers) {
@@ -122,7 +122,7 @@
    if (client_)
      client_->SetOwner(this);
  
-@@ -1604,6 +1614,9 @@ void TemplateURLService::ChangeToLoadedS
+@@ -1618,6 +1628,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;
-@@ -1614,7 +1627,8 @@ bool TemplateURLService::CanAddAutogener
+@@ -1628,7 +1641,8 @@ bool TemplateURLService::CanAddAutogener
  }
  
  bool TemplateURLService::CanReplace(const TemplateURL* t_url) const {
@@ -144,7 +144,7 @@
  TemplateURL* TemplateURLService::FindNonExtensionTemplateURLForKeyword(
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -722,6 +722,8 @@ class TemplateURLService : public WebDat
+@@ -733,6 +733,8 @@ class TemplateURLService : public WebDat
    // ---------- Browser state related members ---------------------------------
    PrefService* prefs_ = nullptr;
  

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

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -213,6 +213,16 @@ const unsigned kOsDesktop = kOsMac | kOs
+@@ -225,6 +225,16 @@ const unsigned kOsDesktop = kOsMac | kOs
  const unsigned kOsAura = kOsWin | kOsLinux | kOsCrOS;
  #endif  // USE_AURA || OS_ANDROID
  
@@ -20,7 +20,7 @@
  const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
      {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
      {flags_ui::kGenericExperimentChoiceEnabled,
-@@ -1099,6 +1109,10 @@ const FeatureEntry::FeatureVariation kLa
+@@ -1193,6 +1203,10 @@ const FeatureEntry::Choice kNotification
  //
  // When adding a new choice, add it to the end of the list.
  const FeatureEntry kFeatureEntries[] = {
@@ -41,7 +41,7 @@
  #include "chrome/browser/chrome_notification_types.h"
  #include "chrome/browser/extensions/crx_installer.h"
  #include "chrome/browser/extensions/extension_install_prompt.h"
-@@ -120,6 +121,14 @@ scoped_refptr<extensions::CrxInstaller> 
+@@ -120,6 +121,14 @@ scoped_refptr<extensions::CrxInstaller>
    return installer;
  }
  
@@ -91,7 +91,7 @@
      return false;
 --- a/chrome/browser/download/download_crx_util.h
 +++ b/chrome/browser/download/download_crx_util.h
-@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller> 
+@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller>
      Profile* profile,
      const download::DownloadItem& download_item);
  
@@ -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
-@@ -1005,10 +1005,12 @@ DownloadConfirmationReason DownloadTarge
+@@ -1001,10 +1001,12 @@ DownloadConfirmationReason DownloadTarge
      return DownloadConfirmationReason::SAVE_AS;
  
  #if BUILDFLAG(ENABLE_EXTENSIONS)

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

@@ -10,7 +10,7 @@
  #include "base/i18n/rtl.h"
  #include "base/macros.h"
  #include "base/metrics/histogram_macros.h"
-@@ -235,7 +236,8 @@ void JavaScriptDialogManager::RunBeforeU
+@@ -201,7 +202,8 @@ void JavaScriptDialogManager::RunBeforeU
    ChromeJavaScriptDialogExtraData* extra_data =
        &javascript_dialog_extra_data_[web_contents];
  

+ 2 - 2
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
-@@ -1121,6 +1121,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1215,6 +1215,10 @@ const FeatureEntry kFeatureEntries[] = {
       "Disable search engine collection",
       "Prevents search engines from being added automatically.",
       kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")},
@@ -23,7 +23,7 @@
  #include "base/lazy_instance.h"
  #include "base/numerics/safe_conversions.h"
  #include "base/stl_util.h"
-@@ -239,6 +240,13 @@ IDNConversionResult IDNToUnicodeWithAdju
+@@ -245,6 +246,13 @@ IDNConversionResult IDNToUnicodeWithAdju
    input16.reserve(host.length());
    input16.insert(input16.end(), host.begin(), host.end());
  

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

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
 +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -820,7 +820,8 @@ void StartupBrowserCreatorImpl::AddInfoB
+@@ -827,7 +827,8 @@ void StartupBrowserCreatorImpl::AddInfoB
    if (!browser || !profile_ || browser->tab_strip_model()->count() == 0)
      return;
  

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -236,6 +236,16 @@ const FeatureEntry::Choice kShowAvatarBu
+@@ -248,6 +248,16 @@ const FeatureEntry::Choice kShowAvatarBu
       "never"}
  };
  
@@ -17,7 +17,7 @@
  const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
      {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
      {flags_ui::kGenericExperimentChoiceEnabled,
-@@ -3443,6 +3453,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3601,6 +3611,11 @@ const FeatureEntry kFeatureEntries[] = {
       kOsAndroid, FEATURE_VALUE_TYPE(safe_browsing::kUseLocalBlacklistsV2)},
  #endif  // defined(OS_ANDROID)
  
@@ -58,18 +58,18 @@
  }  // namespace
  
  BrowserRootView::DropInfo::DropInfo() = default;
-@@ -108,7 +121,9 @@ BrowserRootView::BrowserRootView(Browser
+@@ -105,7 +118,9 @@ const char BrowserRootView::kViewClassNa
+ 
+ BrowserRootView::BrowserRootView(BrowserView* browser_view,
                                   views::Widget* widget)
-     : views::internal::RootView(widget),
-       browser_view_(browser_view),
--      weak_ptr_factory_(this) {}
-+      weak_ptr_factory_(this) {
-+        scroll_event_changes_tab_ = ShouldScrollChangesTab();
+-    : views::internal::RootView(widget), browser_view_(browser_view) {}
++    : views::internal::RootView(widget), browser_view_(browser_view) {
++  scroll_event_changes_tab_ = ShouldScrollChangesTab();
 +}
  
  BrowserRootView::~BrowserRootView() = default;
  
-@@ -241,7 +256,7 @@ const char* BrowserRootView::GetClassNam
+@@ -238,7 +253,7 @@ const char* BrowserRootView::GetClassNam
  }
  
  bool BrowserRootView::OnMouseWheel(const ui::MouseWheelEvent& event) {
@@ -88,4 +88,4 @@
 +
    std::unique_ptr<DropInfo> drop_info_;
  
-   base::WeakPtrFactory<BrowserRootView> weak_ptr_factory_;
+   base::WeakPtrFactory<BrowserRootView> weak_ptr_factory_{this};

+ 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
-@@ -223,6 +223,19 @@ const FeatureEntry::Choice kExtensionHan
+@@ -235,6 +235,19 @@ const FeatureEntry::Choice kExtensionHan
       "always-prompt-for-install"},
  };
  
@@ -20,7 +20,7 @@
  const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
      {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
      {flags_ui::kGenericExperimentChoiceEnabled,
-@@ -3386,6 +3399,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3548,6 +3561,11 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(arc::kEnableUnifiedAudioFocusFeature)},
  #endif  // defined(OS_CHROMEOS)
  
@@ -34,7 +34,7 @@
       flag_descriptions::kUseAngleDescription, kOsWin,
 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
 +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -237,6 +237,15 @@ void ToolbarView::Init() {
+@@ -248,6 +248,15 @@ void ToolbarView::Init() {
  
    std::unique_ptr<ToolbarPageActionIconContainerView>
        toolbar_page_action_container;
@@ -50,7 +50,7 @@
    bool show_avatar_toolbar_button = true;
    if (base::FeatureList::IsEnabled(
            autofill::features::kAutofillEnableToolbarStatusChip)) {
-@@ -248,11 +257,17 @@ void ToolbarView::Init() {
+@@ -259,11 +268,17 @@ void ToolbarView::Init() {
    } else {
  #if defined(OS_CHROMEOS)
      // ChromeOS only badges Incognito and Guest icons in the browser window.

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

@@ -22,7 +22,7 @@
  
 --- a/chrome/browser/about_flags.cc
 +++ b/chrome/browser/about_flags.cc
-@@ -1099,6 +1099,10 @@ const FeatureEntry::FeatureVariation kLa
+@@ -1193,6 +1193,10 @@ const FeatureEntry::Choice kNotification
  //
  // 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"
-@@ -123,11 +124,6 @@ const unsigned kMinimumTTLSeconds = kCac
+@@ -122,11 +123,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,
-@@ -2953,7 +2949,7 @@ bool HostResolverManager::IsIPv6Reachabl
+@@ -3179,7 +3175,7 @@ bool HostResolverManager::IsIPv6Reachabl
    if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
        kIPv6ProbePeriodMs) {
      last_ipv6_probe_result_ =

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

@@ -16,7 +16,7 @@
 +        </cr-input>
        </div>
        <div slot="button-container">
-         <paper-button class="cancel-button" on-click="cancel_" id="cancel">
+         <cr-button class="cancel-button" on-click="cancel_" id="cancel">
 --- a/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.js
 +++ b/chrome/browser/resources/settings/search_engines_page/search_engine_dialog.js
 @@ -29,6 +29,9 @@ Polymer({
@@ -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
+@@ -609,7 +609,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
+@@ -623,6 +624,7 @@ void TemplateURLService::ResetTemplateUR
    }
    data.safe_for_autoreplace = false;
    data.last_modified = clock_->Now();
@@ -435,7 +435,7 @@
    Update(url, TemplateURL(data));
  }
  
-@@ -2030,7 +2032,7 @@ TemplateURL* TemplateURLService::Add(std
+@@ -2044,7 +2046,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(),
@@ -446,7 +446,7 @@
      }
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -243,7 +243,8 @@ class TemplateURLService : public WebDat
+@@ -254,7 +254,8 @@ class TemplateURLService : public WebDat
    void ResetTemplateURL(TemplateURL* url,
                          const base::string16& title,
                          const base::string16& keyword,

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

@@ -40,7 +40,7 @@
                base::UTF16ToUTF8(http_scheme));
  
      if ((http_type == metrics::OmniboxInputType::URL) &&
-@@ -574,7 +574,7 @@ bool AutocompleteInput::HasHTTPScheme(co
+@@ -575,7 +575,7 @@ bool AutocompleteInput::HasHTTPScheme(co
    } else if (url::FindAndCompareScheme(utf8_input, kViewSourceScheme, &scheme)) {
      utf8_input.erase(0, scheme.end() + 1);
    }
@@ -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
-@@ -235,11 +235,11 @@ size_t AutocompleteProvider::TrimHttpPre
+@@ -233,11 +233,11 @@ size_t AutocompleteProvider::TrimHttpPre
    if (!AutocompleteInput::HasHTTPScheme(*url))
      return 0;
    size_t scheme_pos =

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

@@ -41,41 +41,187 @@
    void SendFileOpenReply(ppapi::host::ReplyMessageContext reply_context,
                           base::File::Error error_code);
  
+--- a/content/browser/BUILD.gn
++++ b/content/browser/BUILD.gn
+@@ -52,7 +52,6 @@ jumbo_source_set("browser") {
+     "//components/discardable_memory/service",
+     "//components/download/database",
+     "//components/download/public/common:public",
+-    "//components/download/quarantine",
+     "//components/filename_generation",
+     "//components/link_header_util",
+     "//components/metrics",
 --- a/components/download/internal/common/base_file.cc
 +++ b/components/download/internal/common/base_file.cc
-@@ -22,7 +22,6 @@
+@@ -23,7 +23,6 @@
  #include "components/download/public/common/download_interrupt_reasons_utils.h"
  #include "components/download/public/common/download_item.h"
  #include "components/download/public/common/download_stats.h"
 -#include "components/download/quarantine/quarantine.h"
  #include "crypto/secure_hash.h"
+ #include "services/service_manager/public/cpp/connector.h"
  
- #if defined(OS_ANDROID)
-@@ -516,7 +515,7 @@ DownloadInterruptReason BaseFile::Publis
+@@ -523,129 +522,12 @@ DownloadInterruptReason BaseFile::Publis
  }
  #endif  // defined(OS_ANDROID)
  
+-namespace {
+-
+-DownloadInterruptReason QuarantineFileResultToReason(
+-    quarantine::mojom::QuarantineFileResult result) {
+-  switch (result) {
+-    case quarantine::mojom::QuarantineFileResult::OK:
+-      return DOWNLOAD_INTERRUPT_REASON_NONE;
+-    case quarantine::mojom::QuarantineFileResult::VIRUS_INFECTED:
+-      return DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED;
+-    case quarantine::mojom::QuarantineFileResult::SECURITY_CHECK_FAILED:
+-      return DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED;
+-    case quarantine::mojom::QuarantineFileResult::BLOCKED_BY_POLICY:
+-      return DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED;
+-    case quarantine::mojom::QuarantineFileResult::ACCESS_DENIED:
+-      return DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED;
+-
+-    case quarantine::mojom::QuarantineFileResult::FILE_MISSING:
+-      // Don't have a good interrupt reason here. This return code means that
+-      // the file at |full_path_| went missing before QuarantineFile got to
+-      // look at it. Not expected to happen, but we've seen instances where a
+-      // file goes missing immediately after BaseFile closes the handle.
+-      //
+-      // Intentionally using a different error message than
+-      // SECURITY_CHECK_FAILED in order to distinguish the two.
+-      return DOWNLOAD_INTERRUPT_REASON_FILE_FAILED;
+-
+-    case quarantine::mojom::QuarantineFileResult::ANNOTATION_FAILED:
+-      // This means that the mark-of-the-web couldn't be applied. The file is
+-      // already on the file system under its final target name.
+-      //
+-      // Causes of failed annotations typically aren't transient. E.g. the
+-      // target file system may not support extended attributes or alternate
+-      // streams. We are going to allow these downloads to progress on the
+-      // assumption that failures to apply MOTW can't reliably be introduced
+-      // remotely.
+-      return DOWNLOAD_INTERRUPT_REASON_NONE;
+-  }
+-  return DOWNLOAD_INTERRUPT_REASON_FILE_FAILED;
+-}
+-
+-// Given a source and a referrer, determines the "safest" URL that can be used
+-// to determine the authority of the download source. Returns an empty URL if no
+-// HTTP/S URL can be determined for the <|source_url|, |referrer_url|> pair.
+-GURL GetEffectiveAuthorityURL(const GURL& source_url,
+-                              const GURL& referrer_url) {
+-  if (source_url.is_valid()) {
+-    // http{,s} has an authority and are supported.
+-    if (source_url.SchemeIsHTTPOrHTTPS())
+-      return source_url;
+-
+-    // If the download source is file:// ideally we should copy the MOTW from
+-    // the original file, but given that Chrome/Chromium places strict
+-    // restrictions on which schemes can reference file:// URLs, this code is
+-    // going to assume that at this point it's okay to treat this download as
+-    // being from the local system.
+-    if (source_url.SchemeIsFile())
+-      return source_url;
+-
+-    // ftp:// has an authority.
+-    if (source_url.SchemeIs(url::kFtpScheme))
+-      return source_url;
+-  }
+-
+-  if (referrer_url.is_valid() && referrer_url.SchemeIsHTTPOrHTTPS())
+-    return referrer_url;
+-
+-  return GURL();
+-}
+-
+-}  // namespace
+-
 -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if 0
- 
- namespace {
- 
-@@ -600,7 +599,7 @@ DownloadInterruptReason BaseFile::Annota
-   }
-   return DOWNLOAD_INTERRUPT_REASON_FILE_FAILED;
- }
+-
+-DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
+-    const std::string& client_guid,
+-    const GURL& source_url,
+-    const GURL& referrer_url) {
+-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+-  DCHECK(!detached_);
+-  DCHECK(!full_path_.empty());
+-
+-  CONDITIONAL_TRACE(BEGIN0("download", "DownloadFileAnnotate"));
+-  QuarantineFileResult result = QuarantineFile(
+-      full_path_, GetEffectiveAuthorityURL(source_url, referrer_url),
+-      referrer_url, client_guid);
+-  CONDITIONAL_TRACE(END0("download", "DownloadFileAnnotate"));
+-
+-  return QuarantineFileResultToReason(result);
+-}
 -#else  // !OS_WIN && !OS_MACOSX && !OS_LINUX
-+#else  // 1
- DownloadInterruptReason BaseFile::AnnotateWithSourceInformation(
+ DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
      const std::string& client_guid,
      const GURL& source_url,
---- a/content/browser/BUILD.gn
-+++ b/content/browser/BUILD.gn
-@@ -52,7 +52,6 @@ jumbo_source_set("browser") {
-     "//components/discardable_memory/service",
-     "//components/download/database",
-     "//components/download/public/common:public",
--    "//components/download/quarantine",
-     "//components/filename_generation",
-     "//components/link_header_util",
-     "//components/metrics",
+     const GURL& referrer_url) {
+   return DOWNLOAD_INTERRUPT_REASON_NONE;
+ }
+-#endif
+-
+-void BaseFile::OnFileQuarantined(
+-    bool connection_error,
+-    quarantine::mojom::QuarantineFileResult result) {
+-  base::UmaHistogramBoolean("Download.QuarantineService.ConnectionError",
+-                            connection_error);
+-
+-  DCHECK(on_annotation_done_callback_);
+-  quarantine_service_.reset();
+-  std::move(on_annotation_done_callback_)
+-      .Run(QuarantineFileResultToReason(result));
+-}
+-
+-void BaseFile::OnQuarantineServiceError(const GURL& source_url,
+-                                        const GURL& referrer_url) {
+-#if defined(OS_WIN)
+-  if (base::FeatureList::IsEnabled(quarantine::kOutOfProcessQuarantine)) {
+-    OnFileQuarantined(/*connection_error=*/true,
+-                      quarantine::SetInternetZoneIdentifierDirectly(
+-                          full_path_, source_url, referrer_url));
+-    return;
+-  }
+-#endif  // defined(OS_WIN)
+-
+-  CHECK(false) << "In-process quarantine service should not have failed.";
+-}
+ 
+ void BaseFile::AnnotateWithSourceInformation(
+     const std::string& client_guid,
+@@ -653,31 +535,8 @@ void BaseFile::AnnotateWithSourceInforma
+     const GURL& referrer_url,
+     std::unique_ptr<service_manager::Connector> connector,
+     OnAnnotationDoneCallback on_annotation_done_callback) {
+-  GURL authority_url = GetEffectiveAuthorityURL(source_url, referrer_url);
+-  if (!connector) {
+-#if defined(OS_WIN)
+-    QuarantineFileResult result = quarantine::SetInternetZoneIdentifierDirectly(
+-        full_path_, authority_url, referrer_url);
+-#else
+-    QuarantineFileResult result = QuarantineFileResult::ANNOTATION_FAILED;
+-#endif
+-    std::move(on_annotation_done_callback)
+-        .Run(QuarantineFileResultToReason(result));
+-  } else {
+-    connector->BindInterface(quarantine::mojom::kServiceName,
+-                             mojo::MakeRequest(&quarantine_service_));
+-
+-    on_annotation_done_callback_ = std::move(on_annotation_done_callback);
+-
+-    quarantine_service_.set_connection_error_handler(base::BindOnce(
+-        &BaseFile::OnQuarantineServiceError, weak_factory_.GetWeakPtr(),
+-        authority_url, referrer_url));
+-
+-    quarantine_service_->QuarantineFile(
+-        full_path_, authority_url, referrer_url, client_guid,
+-        base::BindOnce(&BaseFile::OnFileQuarantined, weak_factory_.GetWeakPtr(),
+-                       false));
+-  }
++  std::move(on_annotation_done_callback)
++      .Run(DOWNLOAD_INTERRUPT_REASON_NONE);
+ }
+ 
+ }  // namespace download

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

@@ -2,7 +2,7 @@
 
 --- a/components/url_formatter/url_formatter.cc
 +++ b/components/url_formatter/url_formatter.cc
-@@ -424,14 +424,14 @@ bool IDNToUnicodeOneComponent(const base
+@@ -434,14 +434,14 @@ bool IDNToUnicodeOneComponent(const base
  }  // namespace
  
  const FormatUrlType kFormatUrlOmitNothing = 0;

+ 1 - 1
patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch

@@ -3,7 +3,7 @@
 
 --- a/chrome/browser/intranet_redirect_detector.cc
 +++ b/chrome/browser/intranet_redirect_detector.cc
-@@ -76,9 +76,7 @@ void IntranetRedirectDetector::FinishSle
+@@ -75,9 +75,7 @@ void IntranetRedirectDetector::FinishSle
    simple_loaders_.clear();
    resulting_origins_.clear();
  

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

+ 3 - 3
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
-@@ -379,12 +379,6 @@ int GetContentRestrictions(const Browser
+@@ -381,12 +381,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;
    }
-@@ -976,8 +970,7 @@ bool CanSavePage(const Browser* browser)
+@@ -979,8 +973,7 @@ bool CanSavePage(const Browser* browser)
            prefs::kAllowFileSelectionDialogs)) {
      return false;
    }
@@ -42,7 +42,7 @@
  void ShowFindBar(Browser* browser) {
 --- a/components/offline_pages/core/offline_page_model.cc
 +++ b/components/offline_pages/core/offline_page_model.cc
-@@ -21,7 +21,7 @@ OfflinePageModel::SavePageParams::~SaveP
+@@ -22,7 +22,7 @@ OfflinePageModel::SavePageParams::~SaveP
  
  // static
  bool OfflinePageModel::CanSaveURL(const GURL& url) {

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

@@ -1,6 +1,6 @@
 --- a/chrome/browser/ui/views/tabs/new_tab_button.cc
 +++ b/chrome/browser/ui/views/tabs/new_tab_button.cc
-@@ -69,10 +69,8 @@ const gfx::Size NewTabButton::kButtonSiz
+@@ -68,10 +68,8 @@ const gfx::Size NewTabButton::kButtonSiz
  NewTabButton::NewTabButton(TabStrip* tab_strip, views::ButtonListener* listener)
      : views::ImageButton(listener), tab_strip_(tab_strip) {
    set_animate_on_state_change(true);
@@ -13,16 +13,16 @@
        AddChildView(std::make_unique<views::InkDropContainerView>());
 --- a/chrome/browser/ui/views/tabs/tab_strip.cc
 +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -2816,15 +2816,12 @@ void TabStrip::ButtonPressed(views::Butt
+@@ -2906,15 +2906,12 @@ void TabStrip::ButtonPressed(views::Butt
      if (event.IsMouseEvent()) {
        const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
        if (mouse.IsOnlyMiddleMouseButton()) {
 -        if (ui::Clipboard::IsSupportedClipboardType(
--                ui::CLIPBOARD_TYPE_SELECTION)) {
+-                ui::ClipboardType::kSelection)) {
            ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
            CHECK(clipboard);
            base::string16 clipboard_text;
-           clipboard->ReadText(ui::CLIPBOARD_TYPE_SELECTION, &clipboard_text);
+           clipboard->ReadText(ui::ClipboardType::kSelection, &clipboard_text);
            if (!clipboard_text.empty())
              controller_->CreateNewTabWithLocation(clipboard_text);
 -        }

+ 3 - 1
patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch

@@ -2,10 +2,11 @@
 
 --- a/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc
 +++ b/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc
-@@ -37,48 +37,22 @@ DnsSdDeviceLister::DnsSdDeviceLister(
+@@ -44,50 +44,22 @@ DnsSdDeviceLister::DnsSdDeviceLister(
  DnsSdDeviceLister::~DnsSdDeviceLister() {}
  
  void DnsSdDeviceLister::Discover() {
+-#if BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
 -  if (!device_lister_) {
 -    device_lister_ = local_discovery::ServiceDiscoveryDeviceLister::Create(
 -        this, service_discovery_client_, service_type_);
@@ -16,6 +17,7 @@
 -  device_lister_->DiscoverNewDevices();
 -  VLOG(1) << "Discovery new devices for service type "
 -          << device_lister_->service_type();
+-#endif
  }
  
  void DnsSdDeviceLister::Reset() {

+ 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
-@@ -285,7 +285,7 @@ WindowOpenDisposition RenderViewImpl::Na
+@@ -283,7 +283,7 @@ WindowOpenDisposition RenderViewImpl::Na
      case blink::kWebNavigationPolicyNewWindow:
        return WindowOpenDisposition::NEW_WINDOW;
      case blink::kWebNavigationPolicyNewPopup:

+ 0 - 1
patches/series

@@ -47,7 +47,6 @@ extra/inox-patchset/0018-disable-first-run-behaviour.patch
 extra/inox-patchset/0019-disable-battery-status-service.patch
 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/disable/android.patch
 extra/debian_buster/disable/fuzzers.patch