From a24d45551865efeffab1330cfb28e55080988a30 Mon Sep 17 00:00:00 2001
From: Peter Bui <pbui@github.bx612.space>
Date: Tue, 2 Jul 2019 22:15:06 -0400
Subject: [PATCH] chromium: update to 75.0.3770.100.

[ci skip]
---
 .../chromium-i686-vaapi-fpermissive.patch     |  28 +--
 .../files/musl-patches/musl-fixes.patch       |  24 ++-
 .../files/musl-patches/musl-hacks.patch       |  11 ++
 .../files/musl-patches/musl-sandbox.patch     |  31 ++--
 .../files/musl-patches/resolver.patch         |   6 +-
 .../patches/chromium-enable-vaapi.patch       | 165 +++++++++---------
 ...romium-fix-window-flash-for-some-WMs.patch |  98 +++++++++++
 .../patches/chromium-non-const-deltas.patch   |  21 +++
 ...-swaps-for-linux-based-on-gl_version.patch |  34 ++++
 srcpkgs/chromium/patches/gcc8-alignof.patch   |  17 --
 ...sume-unique_ptr-has-ostream-operator.patch |  36 ++++
 .../patches/musl-v8-fix-deadlock.patch        |  21 ---
 srcpkgs/chromium/patches/no-execinfo.patch    |  39 ++---
 srcpkgs/chromium/template                     |   8 +-
 14 files changed, 353 insertions(+), 186 deletions(-)
 create mode 100644 srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-non-const-deltas.patch
 create mode 100644 srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch
 delete mode 100644 srcpkgs/chromium/patches/gcc8-alignof.patch
 create mode 100644 srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch
 delete mode 100644 srcpkgs/chromium/patches/musl-v8-fix-deadlock.patch

diff --git a/srcpkgs/chromium/files/i686-patches/chromium-i686-vaapi-fpermissive.patch b/srcpkgs/chromium/files/i686-patches/chromium-i686-vaapi-fpermissive.patch
index 15f1399a1ef..b4d8787c479 100644
--- a/srcpkgs/chromium/files/i686-patches/chromium-i686-vaapi-fpermissive.patch
+++ b/srcpkgs/chromium/files/i686-patches/chromium-i686-vaapi-fpermissive.patch
@@ -1,6 +1,6 @@
---- media/gpu/vaapi/BUILD.gn.i686permissive	2018-11-29 09:27:02.405909871 -0500
-+++ media/gpu/vaapi/BUILD.gn	2018-11-29 09:29:50.648259696 -0500
-@@ -10,6 +10,11 @@ import("//ui/ozone/ozone.gni")
+--- media/gpu/vaapi/BUILD.gn.orig	2019-06-18 11:48:14.000000000 -0400
++++ media/gpu/vaapi/BUILD.gn	2019-07-02 18:34:00.607864854 -0400
+@@ -11,6 +11,10 @@
  
  assert(use_vaapi)
  
@@ -8,27 +8,15 @@
 +  cflags = [ "-fpermissive" ]
 +}
 +
-+
- action("libva_generate_stubs") {
+ generate_stubs("libva_stubs") {
    extra_header = "va_stub_header.fragment"
- 
-@@ -98,6 +103,8 @@ source_set("vaapi") {
-     "//third_party/libyuv",
-   ]
+   sigs = [ "va.sigs" ]
+@@ -89,6 +93,8 @@
+     deps += [ "//media/gpu/linux" ]
+   }
  
 +  configs += [ ":vaapi_permissive" ]
 +
    if (use_x11) {
      configs += [ "//build/config/linux:x11" ]
      deps += [ "//ui/gfx/x" ]
---- media/gpu/vaapi/vaapi_wrapper.cc    2019-02-01 20:00:10.825233133 +0100
-+++ media/gpu/vaapi/vaapi_wrapper.cc	2019-02-01 20:01:04.955228978 +0100
-@@ -1009,7 +1009,7 @@
-     }
-     fds[i] = dmabuf_fd;
-   }
--  va_attrib_extbuf.buffers = fds.data();
-+  va_attrib_extbuf.buffers = (unsigned int *) fds.data();
-   va_attrib_extbuf.num_buffers = fds.size();
- 
-   va_attrib_extbuf.flags = 0;
\ No newline at end of file
diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
index 46a0eb10d89..2ced673b63f 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
@@ -119,16 +119,16 @@ diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b
    base::Version version(gnu_get_libc_version());
  
    UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
---- ./device/serial/serial_io_handler_posix.cc.orig
-+++ ./device/serial/serial_io_handler_posix.cc
+--- services/device/serial/serial_io_handler_posix.cc.orig	2019-07-03 10:57:32.568171835 -0400
++++ services/device/serial/serial_io_handler_posix.cc	2019-07-03 10:57:16.867983031 -0400
 @@ -6,6 +6,7 @@
  
  #include <sys/ioctl.h>
  #include <termios.h>
 +#include <asm-generic/ioctls.h>
  
- #include "base/posix/eintr_wrapper.h"
- 
+ #include <algorithm>
+ #include <utility>
 diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h
 --- third_party/ots/include/opentype-sanitiser.h
 +++ third_party/ots/include/opentype-sanitiser.h
@@ -183,8 +183,8 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
    // Note: res_ninit in glibc always returns 0 and sets RES_INIT.
    // res_init behaves the same way.
    memset(&_res, 0, sizeof(_res));
---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig	2018-09-16 00:54:49.995170492 +0200
-+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc	2018-09-16 00:56:47.436161476 +0200
+--- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig	2019-06-18 11:51:17.000000000 -0400
++++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc	2019-07-03 12:32:50.938758186 -0400
 @@ -25,7 +25,7 @@
  #include "llvm/Support/raw_ostream.h"
  #include <algorithm>
@@ -201,3 +201,15 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
 +#undef HAVE_BACKTRACE
  #endif
  #endif
+ 
+--- third_party/nasm/nasmlib/realpath.c.orig	2019-07-03 12:23:05.021949895 -0400
++++ third_party/nasm/nasmlib/realpath.c	2019-07-03 12:24:24.246862665 -0400
+@@ -49,7 +49,7 @@
+ 
+ #include "nasmlib.h"
+ 
+-#ifdef HAVE_CANONICALIZE_FILE_NAME
++#if defined(__GLIBC__)
+ 
+ /*
+  * GNU-specific, but avoids the realpath(..., NULL)
diff --git a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
index eff59ae5bcc..edc1b060dfb 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
@@ -9,3 +9,14 @@
    OutputToStreamWithPrefix(&stream, prefix_string);
  #endif
    return stream.str();
+--- net/socket/udp_socket_posix.cc.orig	2019-07-03 13:13:46.034342649 -0400
++++ net/socket/udp_socket_posix.cc	2019-07-03 13:23:53.117081909 -0400
+@@ -1194,7 +1194,7 @@
+     msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
+   msgvec->reserve(buffers.size());
+   for (size_t j = 0; j < buffers.size(); j++)
+-    msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
++    msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0});
+   int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
+   SendResult send_result(0, 0, std::move(buffers));
+   if (result < 0) {
diff --git a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
index 5c4674f3c02..c770e76d868 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
@@ -1,21 +1,20 @@
---- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-@@ -114,23 +114,13 @@
- // CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations.
+--- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig	2019-07-03 11:53:21.213479736 -0400
++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc	2019-07-03 11:57:01.304998253 -0400
+@@ -140,31 +140,14 @@
  ResultExpr RestrictCloneToThreadsAndEPERMFork() {
    const Arg<unsigned long> flags(0);
-+  const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
-+                       CLONE_THREAD | CLONE_SYSVSEM;
-+  const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
-+                   CLONE_DETACHED;
-+  const BoolExpr thread_clone_ok = (flags&~safe)==required;
  
 -  // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
 -  const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
 -                                     CLONE_SIGHAND | CLONE_THREAD |
 -                                     CLONE_SYSVSEM;
 -  const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED;
--
++  const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
++                       CLONE_THREAD | CLONE_SYSVSEM;
++  const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | 
++                   CLONE_DETACHED;
++  const BoolExpr thread_clone_ok = (flags&~safe)==required;
+ 
 -  const uint64_t kGlibcPthreadFlags =
 -      CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD |
 -      CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
@@ -25,11 +24,21 @@
 -      AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask,
 -            flags == kGlibcPthreadFlags);
 -
+-  // The following two flags are the two important flags in any vfork-emulating
+-  // clone call. EPERM any clone call that contains both of them.
+-  const uint64_t kImportantCloneVforkFlags = CLONE_VFORK | CLONE_VM;
+-
+-  const BoolExpr is_fork_or_clone_vfork =
+-      AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0,
+-            (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags);
+-
 -  return If(IsAndroid() ? android_test : glibc_test, Allow())
+-      .ElseIf(is_fork_or_clone_vfork, Error(EPERM))
 +  return If(thread_clone_ok, Allow())
-       .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
++      .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
        .Else(CrashSIGSYSClone());
  }
+ 
 --- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig
 +++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 @@ -494,6 +494,7 @@
diff --git a/srcpkgs/chromium/files/musl-patches/resolver.patch b/srcpkgs/chromium/files/musl-patches/resolver.patch
index 42fd7d2a3a4..a115bb39fef 100644
--- a/srcpkgs/chromium/files/musl-patches/resolver.patch
+++ b/srcpkgs/chromium/files/musl-patches/resolver.patch
@@ -1,6 +1,6 @@
---- ./net/dns/host_resolver_impl.cc.orig
-+++ ./net/dns/host_resolver_impl.cc
-@@ -2039,8 +2039,7 @@
+--- net/dns/host_resolver_manager.cc.orig	2019-07-03 11:19:00.047692874 -0400
++++ net/dns/host_resolver_manager.cc	2019-07-03 11:20:24.438679210 -0400
+@@ -2266,8 +2266,7 @@
    NetworkChangeNotifier::AddIPAddressObserver(this);
    NetworkChangeNotifier::AddConnectionTypeObserver(this);
    NetworkChangeNotifier::AddDNSObserver(this);
diff --git a/srcpkgs/chromium/patches/chromium-enable-vaapi.patch b/srcpkgs/chromium/patches/chromium-enable-vaapi.patch
index 6a553e18bd7..881208a3065 100644
--- a/srcpkgs/chromium/patches/chromium-enable-vaapi.patch
+++ b/srcpkgs/chromium/patches/chromium-enable-vaapi.patch
@@ -1,7 +1,7 @@
 diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/about_flags.cc
---- chrome/browser/about_flags.cc	2018-09-12 00:39:23.000000000 +0530
-+++ chrome/browser/about_flags.cc	2018-09-13 22:10:33.938016199 +0530
-@@ -1238,12 +1238,14 @@
+--- chrome/browser/about_flags.cc.orig	2019-06-18 11:47:49.000000000 -0400
++++ chrome/browser/about_flags.cc	2019-07-02 12:25:40.601434149 -0400
+@@ -1053,12 +1053,14 @@
      {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
       flag_descriptions::kUiPartialSwapDescription, kOsAll,
       SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -13,12 +13,12 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou
       flag_descriptions::kWebrtcHwEncodingDescription, kOsAndroid | kOsCrOS,
       SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWEncoding)},
 +#endif
-     {"enable-webrtc-hw-h264-encoding",
-      flag_descriptions::kWebrtcHwH264EncodingName,
-      flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS,
-@@ -1612,6 +1614,13 @@
-      flag_descriptions::kShowTouchHudDescription, kOsCrOS,
-      SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud)},
+ #if !defined(OS_ANDROID)
+     {"enable-reader-mode", flag_descriptions::kEnableReaderModeName,
+      flag_descriptions::kEnableReaderModeDescription, kOsDesktop,
+@@ -1386,6 +1388,13 @@
+      flag_descriptions::kMojoImfDescription, kOsCrOS,
+      FEATURE_VALUE_TYPE(features::kMojoIMF)},
  #endif  // OS_CHROMEOS
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
 +    {
@@ -30,7 +30,7 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou
      {
          "disable-accelerated-video-decode",
          flag_descriptions::kAcceleratedVideoDecodeName,
-@@ -1619,6 +1628,7 @@
+@@ -1393,6 +1402,7 @@
          kOsMac | kOsWin | kOsCrOS | kOsAndroid,
          SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
      },
@@ -38,9 +38,9 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou
  #if defined(OS_WIN)
      {"enable-hdr", flag_descriptions::kEnableHDRName,
       flag_descriptions::kEnableHDRDescription, kOsWin,
-@@ -2291,12 +2301,17 @@
-      FEATURE_VALUE_TYPE(features::kOpenVR)},
- #endif  // ENABLE_OPENVR
+@@ -1882,12 +1892,17 @@
+      FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
+ #endif  // ENABLE_ISOLATED_XR_SERVICE
  #endif  // ENABLE_VR
 -#if defined(OS_CHROMEOS)
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
@@ -97,9 +97,9 @@ diff -ur chrome/browser/chromeos/login/chrome_restart_request.cc chromium-69.0.3
      ash::switches::kAshEnableTabletMode,
      ash::switches::kAshEnableWaylandServer,
 diff -ur chrome/browser/flag_descriptions.cc chromium-69.0.3497.92/chrome/browser/flag_descriptions.cc
---- chrome/browser/flag_descriptions.cc	2018-09-12 00:39:24.000000000 +0530
-+++ chrome/browser/flag_descriptions.cc	2018-09-13 22:10:34.007014085 +0530
-@@ -14,6+14,13 @@
+--- chrome/browser/flag_descriptions.cc.orig	2019-06-18 11:47:50.000000000 -0400
++++ chrome/browser/flag_descriptions.cc	2019-07-02 12:27:47.137866754 -0400
+@@ -14,6 +14,13 @@
      "Enables the use of the GPU to perform 2d canvas rendering instead of "
      "using software rendering.";
  
@@ -113,15 +113,15 @@ diff -ur chrome/browser/flag_descriptions.cc chromium-69.0.3497.92/chrome/browse
  const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
  const char kAcceleratedVideoDecodeDescription[] =
      "Hardware-accelerated video decode where available.";
-@@ -1986,6 +1993,7 @@
- const char kWebrtcEchoCanceller3Description[] =
-     "Experimental WebRTC echo canceller (AEC3).";
+@@ -2081,6 +2088,7 @@
+ const char kWebrtcHybridAgcDescription[] =
+     "WebRTC Agc2 digital adaptation with Agc1 analog adaptation.";
  
 +#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
  const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
  const char kWebrtcHwDecodingDescription[] =
      "Support in WebRTC for decoding video streams using platform hardware.";
-@@ -1993,6 +2001,7 @@
+@@ -2088,6 +2096,7 @@
  const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
  const char kWebrtcHwEncodingDescription[] =
      "Support in WebRTC for encoding video streams using platform hardware.";
@@ -129,7 +129,7 @@ diff -ur chrome/browser/flag_descriptions.cc chromium-69.0.3497.92/chrome/browse
  
  const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
  const char kWebrtcHwH264EncodingDescription[] =
-@@ -2892,14 +2901,16 @@
+@@ -2943,14 +2952,16 @@
  
  // Chrome OS -------------------------------------------------------------------
  
@@ -144,13 +144,13 @@ diff -ur chrome/browser/flag_descriptions.cc chromium-69.0.3497.92/chrome/browse
 +#endif
  
 +#if defined(OS_CHROMEOS)
- const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
- const char kAllowTouchpadThreeFingerClickDescription[] =
-     "Enables touchpad three-finger-click as middle button.";
+ const char kAppServiceAshName[] = "App Service Ash";
+ const char kAppServiceAshDescription[] =
+     "Use the App Service to provide data to the Ash UI, such as the shelf and "
 diff -ur chrome/browser/flag_descriptions.h chromium-69.0.3497.92/chrome/browser/flag_descriptions.h
---- chrome/browser/flag_descriptions.h	2018-09-12 00:39:24.000000000 +0530
-+++ chrome/browser/flag_descriptions.h	2018-09-13 22:10:34.030013380 +0530
-@@ -37,6 +37,10 @@
+--- chrome/browser/flag_descriptions.h.orig	2019-06-18 11:47:50.000000000 -0400
++++ chrome/browser/flag_descriptions.h	2019-07-02 12:29:46.200214795 -0400
+@@ -43,6 +43,10 @@
  extern const char kAccelerated2dCanvasName[];
  extern const char kAccelerated2dCanvasDescription[];
  
@@ -161,7 +161,7 @@ diff -ur chrome/browser/flag_descriptions.h chromium-69.0.3497.92/chrome/browser
  extern const char kAcceleratedVideoDecodeName[];
  extern const char kAcceleratedVideoDecodeDescription[];
  
-@@ -1762,13 +1766,17 @@
+@@ -1765,13 +1769,17 @@
  
  #endif  // defined(OS_MACOSX)
  
@@ -179,8 +179,8 @@ diff -ur chrome/browser/flag_descriptions.h chromium-69.0.3497.92/chrome/browser
 +
 +#if defined(OS_CHROMEOS)
 +
- extern const char kAllowTouchpadThreeFingerClickName[];
- extern const char kAllowTouchpadThreeFingerClickDescription[];
+ extern const char kAppServiceAshName[];
+ extern const char kAppServiceAshDescription[];
  
 diff -ur content/browser/gpu/compositor_util.cc chromium-69.0.3497.92/content/browser/gpu/compositor_util.cc
 --- content/browser/gpu/compositor_util.cc	2018-09-12 00:39:41.000000000 +0530
@@ -228,9 +228,9 @@ diff -ur content/browser/renderer_host/media/video_capture_browsertest.cc chromi
    }
  
 diff -ur content/browser/renderer_host/render_process_host_impl.cc chromium-69.0.3497.92/content/browser/renderer_host/render_process_host_impl.cc
---- content/browser/renderer_host/render_process_host_impl.cc	2018-09-12 00:39:41.000000000 +0530
-+++ content/browser/renderer_host/render_process_host_impl.cc	2018-09-13 22:10:34.133010223 +0530
-@@ -2798,7 +2798,11 @@
+--- content/browser/renderer_host/render_process_host_impl.cc	2019-05-14 14:50:24.000000000 -0400
++++ content/browser/renderer_host/render_process_host_impl.cc	2019-07-02 09:42:59.280570734 -0400
+@@ -2953,7 +2953,11 @@
      switches::kDefaultTileHeight,
      switches::kDisable2dCanvasImageChromium,
      switches::kDisableAcceleratedJpegDecoding,
@@ -239,12 +239,12 @@ diff -ur content/browser/renderer_host/render_process_host_impl.cc chromium-69.0
 +#else
      switches::kDisableAcceleratedVideoDecode,
 +#endif
-     switches::kDisableBackgroundTasks,
      switches::kDisableBackgroundTimerThrottling,
+     switches::kDisableBestEffortTasks,
      switches::kDisableBreakpad,
-@@ -2933,8 +2937,10 @@
- #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION)
-     switches::kDisableMojoRenderer,
+@@ -3091,8 +3095,10 @@
+ #if BUILDFLAG(ENABLE_PLUGINS)
+     switches::kEnablePepperTesting,
  #endif
 +#if !defined(OS_LINUX) || defined(OS_CHROMEOS)
      switches::kDisableWebRtcHWDecoding,
@@ -299,22 +299,22 @@ diff -ur content/gpu/BUILD.gn chromium-69.0.3497.92/content/gpu/BUILD.gn
 +  }
  }
 diff -ur content/gpu/gpu_main.cc chromium-69.0.3497.92/content/gpu/gpu_main.cc
---- content/gpu/gpu_main.cc	2018-09-12 00:39:41.000000000 +0530
-+++ content/gpu/gpu_main.cc	2018-09-13 22:10:34.153009610 +0530
-@@ -284,7 +284,7 @@
+--- content/gpu/gpu_main.cc	2019-07-02 09:50:13.403486804 -0400
++++ content/gpu/gpu_main.cc	2019-07-02 09:55:07.256818723 -0400
+@@ -288,7 +288,7 @@
  
    base::PlatformThread::SetName("CrGpuMain");
  
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+-#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE)
 +#if defined(OS_LINUX)
    // Set thread priority before sandbox initialization.
    base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
  #endif
-@@ -317,7 +317,7 @@
+@@ -321,7 +321,7 @@
    GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
  
    base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+-#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE)
 +#if defined(OS_LINUX)
    io_thread_priority = base::ThreadPriority::DISPLAY;
  #endif
@@ -393,28 +393,6 @@ diff -ur content/public/common/content_switches.h chromium-69.0.3497.92/content/
  CONTENT_EXPORT extern const char kEnableWebRtcSrtpAesGcm[];
  CONTENT_EXPORT extern const char kEnableWebRtcSrtpEncryptedHeaders[];
  CONTENT_EXPORT extern const char kEnableWebRtcStunOrigin[];
-diff -ur content/renderer/media/webrtc/peer_connection_dependency_factory.cc chromium-69.0.3497.92/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
---- content/renderer/media/webrtc/peer_connection_dependency_factory.cc	2018-09-12 00:39:42.000000000 +0530
-+++ content/renderer/media/webrtc/peer_connection_dependency_factory.cc	2018-09-13 22:10:34.181008752 +0530
-@@ -276,10 +276,18 @@
- 
-   const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
-   if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) {
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+    if (cmd_line->HasSwitch(switches::kEnableAcceleratedVideo))
-+#else
-     if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding))
-+#endif
-       decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories));
- 
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+    if (cmd_line->HasSwitch(switches::kEnableAcceleratedVideo))
-+#else
-     if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding))
-+#endif
-       encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories));
-   }
- 
 diff -ur content/renderer/render_thread_impl.cc chromium-69.0.3497.92/content/renderer/render_thread_impl.cc
 --- content/renderer/render_thread_impl.cc	2018-09-12 00:39:42.000000000 +0530
 +++ content/renderer/render_thread_impl.cc	2018-09-13 22:10:34.192008415 +0530
@@ -453,11 +431,11 @@ diff -ur gpu/config/software_rendering_list.json chromium-69.0.3497.92/gpu/confi
        "description": "Disable VMware software renderer on older Mesa",
        "cr_bugs": [145531, 332596, 571899, 629434],
 diff -ur media/base/media_switches.cc chromium-69.0.3497.92/media/base/media_switches.cc
---- media/base/media_switches.cc	2018-09-12 00:39:48.000000000 +0530
-+++ media/base/media_switches.cc	2018-09-13 22:10:34.214007740 +0530
-@@ -117,10 +117,15 @@
- // accelerator hardware to be present.
- const char kUseFakeJpegDecodeAccelerator[] = "use-fake-jpeg-decode-accelerator";
+--- media/base/media_switches.cc.orig	2019-06-18 11:48:14.000000000 -0400
++++ media/base/media_switches.cc	2019-07-02 12:32:22.370983036 -0400
+@@ -103,10 +103,15 @@
+ const char kUseFakeMjpegDecodeAccelerator[] =
+     "use-fake-mjpeg-decode-accelerator";
  
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +// Enable hardware accelerated mjpeg decode on linux
@@ -471,14 +449,13 @@ diff -ur media/base/media_switches.cc chromium-69.0.3497.92/media/base/media_swi
  
  // When running tests on a system without the required hardware or libraries,
  // this flag will cause the tests to fail. Otherwise, they silently succeed.
-@@ -462,15 +467,22 @@
- #endif
+@@ -503,15 +508,21 @@
+ };
  
  bool IsVideoCaptureAcceleratedJpegDecodingEnabled() {
-+
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
 +  if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
-+          switches::kEnableAcceleratedMjpegDecode)
++  	  switches::kEnableAcceleratedMjpegDecode)
 +#else
    if (base::CommandLine::ForCurrentProcess()->HasSwitch(
 -          switches::kDisableAcceleratedMjpegDecode)) {
@@ -488,7 +465,7 @@ diff -ur media/base/media_switches.cc chromium-69.0.3497.92/media/base/media_swi
      return false;
    }
    if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-           switches::kUseFakeJpegDecodeAccelerator)) {
+           switches::kUseFakeMjpegDecodeAccelerator)) {
      return true;
    }
 -#if defined(OS_CHROMEOS)
@@ -497,12 +474,12 @@ diff -ur media/base/media_switches.cc chromium-69.0.3497.92/media/base/media_swi
  #endif
    return false;
 diff -ur media/base/media_switches.h chromium-69.0.3497.92/media/base/media_switches.h
---- media/base/media_switches.h	2018-09-12 00:39:48.000000000 +0530
-+++ media/base/media_switches.h	2018-09-13 22:10:34.283005625 +0530
-@@ -66,7 +66,11 @@
+--- media/base/media_switches.h.orig	2019-07-02 12:20:39.902984488 -0400
++++ media/base/media_switches.h	2019-07-02 12:33:45.441923602 -0400
+@@ -60,7 +60,11 @@
  MEDIA_EXPORT extern const char kUseFileForFakeVideoCapture[];
  MEDIA_EXPORT extern const char kUseFileForFakeAudioCapture[];
- MEDIA_EXPORT extern const char kUseFakeJpegDecodeAccelerator[];
+ MEDIA_EXPORT extern const char kUseFakeMjpegDecodeAccelerator[];
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +MEDIA_EXPORT extern const char kEnableAcceleratedMjpegDecode[];
 +#else
@@ -540,3 +517,33 @@ diff -ur media/gpu/BUILD.gn chromium-69.0.3497.92/media/gpu/BUILD.gn
    }
  }
  
+--- content/renderer/media/webrtc/video_codec_factory.cc.orig	2019-07-02 16:39:57.973241977 -0400
++++ content/renderer/media/webrtc/video_codec_factory.cc	2019-07-02 17:00:00.656342711 -0400
+@@ -187,8 +187,11 @@
+   std::unique_ptr<webrtc::VideoEncoderFactory> encoder_factory;
+ 
+   const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
+-  if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled() &&
+-      !cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) {
++  if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()
++#if defined(OS_CHROMEOS)
++      && !cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)
++#endif
++      ) {
+     encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories));
+   }
+ 
+@@ -205,8 +208,11 @@
+   std::unique_ptr<webrtc::VideoDecoderFactory> decoder_factory;
+ 
+   const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
+-  if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled() &&
+-      !cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) {
++  if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled() 
++#if defined(OS_CHROMEOS)
++      && !cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)
++#endif
++      ) {
+     decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories));
+   }
+ 
diff --git a/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch b/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch
new file mode 100644
index 00000000000..d4b5d4815be
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch
@@ -0,0 +1,98 @@
+From 90e226ba50c98b5e60f74f9dce998b17117f9051 Mon Sep 17 00:00:00 2001
+From: Peng Huang <penghuang@chromium.org>
+Date: Tue, 7 May 2019 13:16:21 +0000
+Subject: [PATCH] Fix window flash for some WMs
+
+Bug: 956061
+Change-Id: I0d8d196395e70006a8fdc770f1e4a5ba6f93dd57
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597388
+Commit-Queue: Peng Huang <penghuang@chromium.org>
+Reviewed-by: Antoine Labour <piman@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#657215}
+---
+ ui/gl/BUILD.gn          |  5 ++++-
+ ui/gl/gl_surface_glx.cc | 41 ++++++++++++++++++++++++++++-------------
+ 2 files changed, 32 insertions(+), 14 deletions(-)
+
+diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
+index 50df0e4085..1753dd480b 100644
+--- ui/gl/BUILD.gn
++++ ui/gl/BUILD.gn
+@@ -274,7 +274,10 @@ jumbo_component("gl") {
+       "//build/config/linux:xext",
+     ]
+ 
+-    deps += [ "//ui/gfx/x" ]
++    deps += [
++      "//ui/base/x",
++      "//ui/gfx/x",
++    ]
+   }
+   if (is_win) {
+     sources += [
+diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc
+index f4c13bed18..777bf767cb 100644
+--- ui/gl/gl_surface_glx.cc
++++ ui/gl/gl_surface_glx.cc
+@@ -21,6 +21,7 @@
+ #include "base/time/time.h"
+ #include "base/trace_event/trace_event.h"
+ #include "build/build_config.h"
++#include "ui/base/x/x11_util.h"
+ #include "ui/events/platform/platform_event_source.h"
+ #include "ui/gfx/x/x11.h"
+ #include "ui/gfx/x/x11_connection.h"
+@@ -431,7 +432,9 @@ bool GLSurfaceGLX::InitializeOneOff() {
+   }
+ 
+   const XVisualInfo& visual_info =
+-      gl::GLVisualPickerGLX::GetInstance()->rgba_visual();
++      ui::IsCompositingManagerPresent()
++          ? gl::GLVisualPickerGLX::GetInstance()->rgba_visual()
++          : gl::GLVisualPickerGLX::GetInstance()->system_visual();
+   g_visual = visual_info.visual;
+   g_depth = visual_info.depth;
+   g_colormap =
+@@ -581,18 +584,30 @@ bool NativeViewGLSurfaceGLX::Initialize(GLSurfaceFormat format) {
+   }
+   size_ = gfx::Size(attributes.width, attributes.height);
+ 
+-  XSetWindowAttributes swa;
+-  memset(&swa, 0, sizeof(swa));
+-  swa.background_pixmap = 0;
+-  swa.bit_gravity = NorthWestGravity;
+-  swa.colormap = g_colormap;
+-  swa.background_pixel = 0;
+-  swa.border_pixel = 0;
+-  window_ = XCreateWindow(
+-      gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, size_.width(),
+-      size_.height(), 0 /* border_width */, g_depth, InputOutput, g_visual,
+-      CWBackPixmap | CWBitGravity | CWColormap | CWBackPixel | CWBorderPixel,
+-      &swa);
++  XSetWindowAttributes swa = {
++      .background_pixmap = 0,
++      .bit_gravity = NorthWestGravity,
++      .colormap = g_colormap,
++      .background_pixel = 0,  // ARGB(0,0,0,0) for compositing WM
++      .border_pixel = 0,
++  };
++  auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel;
++  if (ui::IsCompositingManagerPresent() &&
++      XVisualIDFromVisual(attributes.visual) == XVisualIDFromVisual(g_visual)) {
++    // When parent and child are using the same visual, the back buffer will be
++    // shared between parent and child. If WM compositing is enabled, we set
++    // child's background pixel to ARGB(0,0,0,0), so ARGB(0,0,0,0) will be
++    // filled to the shared buffer, when the child window is mapped. It can
++    // avoid an annoying flash when the child window is mapped below.
++    // If WM compositing is disabled, we don't set the background pixel, so
++    // nothing will be draw when the child window is mapped.
++    value_mask |= CWBackPixel;
++  }
++
++  window_ =
++      XCreateWindow(gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */,
++                    size_.width(), size_.height(), 0 /* border_width */,
++                    g_depth, InputOutput, g_visual, value_mask, &swa);
+   if (!window_) {
+     LOG(ERROR) << "XCreateWindow failed";
+     return false;
diff --git a/srcpkgs/chromium/patches/chromium-non-const-deltas.patch b/srcpkgs/chromium/patches/chromium-non-const-deltas.patch
new file mode 100644
index 00000000000..58bfc8994ad
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-non-const-deltas.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/686982
+
+TabStripModelChange has a defaulted default constructor and a const data member
+without a user-defined default constructor.  This leads to a bug:
+
+error: defaulting this default constructor would delete it after
+its first declaration
+
+We declare the data member as non-const instead.
+
+--- chrome/browser/ui/tabs/tab_strip_model_observer.h
++++ chrome/browser/ui/tabs/tab_strip_model_observer.h
+@@ -103,7 +103,7 @@ class TabStripModelChange {
+ 
+  private:
+   const Type type_ = kSelectionOnly;
+-  const std::vector<Delta> deltas_;
++  std::vector<Delta> deltas_;
+ 
+   DISALLOW_COPY_AND_ASSIGN(TabStripModelChange);
+ };
diff --git a/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch b/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch
new file mode 100644
index 00000000000..2fca45361a2
--- /dev/null
+++ b/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch
@@ -0,0 +1,34 @@
+From e6a0cdf0b7045e7f9029cce287bcc539052ef79a Mon Sep 17 00:00:00 2001
+From: Jonathan Backer <backer@chromium.org>
+Date: Mon, 17 Jun 2019 16:46:37 +0000
+Subject: [PATCH] Disallow partial swaps for linux based on gl_version_string
+
+This was missed in https://chromium-review.googlesource.com/c/chromium/src/+/1601182
+
+Bug: 973216,941670,957541,948640
+Change-Id: I3d2002c38fe09d87c9a3db951dfc2ab112319caf
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1662528
+Reviewed-by: Peng Huang <penghuang@chromium.org>
+Commit-Queue: Peng Huang <penghuang@chromium.org>
+Commit-Queue: Jonathan Backer <backer@chromium.org>
+Auto-Submit: Jonathan Backer <backer@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#669701}
+---
+ gpu/config/gpu_driver_bug_list.json | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
+index 591a0642e8..e4a123ccd0 100644
+--- gpu/config/gpu_driver_bug_list.json
++++ gpu/config/gpu_driver_bug_list.json
+@@ -1865,10 +1865,6 @@
+       },
+       "gl_type": "gl",
+       "gl_version_string": ".*Mesa.*",
+-      "direct_rendering_version": {
+-        "op" : "<",
+-        "value": "2.3"
+-      },
+       "features": [
+         "disable_post_sub_buffers_for_onscreen_surfaces"
+       ]
diff --git a/srcpkgs/chromium/patches/gcc8-alignof.patch b/srcpkgs/chromium/patches/gcc8-alignof.patch
deleted file mode 100644
index 90aa32872c3..00000000000
--- a/srcpkgs/chromium/patches/gcc8-alignof.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- mojo/public/c/system/macros.h.orig	2018-09-06 10:11:54.336432699 -0400
-+++ mojo/public/c/system/macros.h	2018-09-06 10:13:56.555727572 -0400
-@@ -27,7 +27,13 @@
-   (sizeof(void*) == 4 ? 32 : 0)
- 
- // Like the C++11 |alignof| operator.
--#if __cplusplus >= 201103L
-+#if defined(__GNUC__) && __GNUC__ >= 8
-+// GCC 8 has changed the alignof operator to return the minimal alignment
-+// required by the target ABI, instead of the preferred alignment.
-+// This means that on 32-bit x86, it will return 4 instead of 8.
-+// Use __alignof__ instead to avoid this.
-+#define MOJO_ALIGNOF(type) __alignof__(type)
-+#elif __cplusplus >= 201103L
- #define MOJO_ALIGNOF(type) alignof(type)
- #elif defined(__GNUC__)
- #define MOJO_ALIGNOF(type) __alignof__(type)
diff --git a/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch b/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch
new file mode 100644
index 00000000000..0750b71f00b
--- /dev/null
+++ b/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch
@@ -0,0 +1,36 @@
+From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Fri, 26 Apr 2019 20:07:05 +0000
+Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+CompositorFrameReportingController is using DCHECK_NE to compare
+several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr
+does not have an ostream operator.
+
+Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292
+Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
+Cr-Commit-Position: refs/heads/master@{#654570}
+---
+ cc/scheduler/compositor_frame_reporting_controller.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc
+index f1587ed158..1b17021fd2 100644
+--- cc/scheduler/compositor_frame_reporting_controller.cc
++++ cc/scheduler/compositor_frame_reporting_controller.cc
+@@ -31,8 +31,8 @@ void CompositorFrameReportingController::WillBeginImplFrame() {
+ 
+ void CompositorFrameReportingController::WillBeginMainFrame() {
+   DCHECK(reporters_[PipelineStage::kBeginImplFrame]);
+-  DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame],
+-            reporters_[PipelineStage::kBeginImplFrame]);
++  DCHECK(reporters_[PipelineStage::kBeginMainFrame] !=
++         reporters_[PipelineStage::kBeginImplFrame]);
+   reporters_[PipelineStage::kBeginImplFrame]->StartStage(
+       "SendBeginMainFrameToCommit");
+   AdvanceReporterStage(PipelineStage::kBeginImplFrame,
diff --git a/srcpkgs/chromium/patches/musl-v8-fix-deadlock.patch b/srcpkgs/chromium/patches/musl-v8-fix-deadlock.patch
deleted file mode 100644
index dff0d88d2c6..00000000000
--- a/srcpkgs/chromium/patches/musl-v8-fix-deadlock.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Release the mutex before mess with the stack guard
-
-Upstream report: https://bugs.chromium.org/p/v8/issues/detail?id=8881
-
-diff --git a/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc b/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
-index 09226e1..29a1871 100644
---- ./v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
-+++ ./v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
-@@ -132,8 +132,10 @@ void OptimizingCompileDispatcher::CompileNext(OptimizedCompilationJob* job) {
-   // The function may have already been optimized by OSR.  Simply continue.
-   // Use a mutex to make sure that functions marked for install
-   // are always also queued.
--  base::MutexGuard access_output_queue_(&output_queue_mutex_);
--  output_queue_.push(job);
-+  {
-+    base::MutexGuard access_output_queue_(&output_queue_mutex_);
-+    output_queue_.push(job);
-+  }
-   isolate_->stack_guard()->RequestInstallCode();
- }
- 
diff --git a/srcpkgs/chromium/patches/no-execinfo.patch b/srcpkgs/chromium/patches/no-execinfo.patch
index 95451f256bf..386997e8ed1 100644
--- a/srcpkgs/chromium/patches/no-execinfo.patch
+++ b/srcpkgs/chromium/patches/no-execinfo.patch
@@ -1,6 +1,6 @@
---- base/debug/stack_trace_posix.cc.orig	2017-07-27 14:05:05.534241443 +0000
-+++ base/debug/stack_trace_posix.cc	2017-07-27 14:07:54.669231362 +0000
-@@ -26,7 +26,7 @@
+--- base/debug/stack_trace_posix.cc.orig	2019-05-14 14:49:44.000000000 -0400
++++ base/debug/stack_trace_posix.cc	2019-07-02 10:43:43.490045013 -0400
+@@ -27,7 +27,7 @@
  #if !defined(USE_SYMBOLIZE)
  #include <cxxabi.h>
  #endif
@@ -9,7 +9,7 @@
  #include <execinfo.h>
  #endif
  
-@@ -80,7 +80,7 @@
+@@ -86,7 +86,7 @@
    // Note: code in this function is NOT async-signal safe (std::string uses
    // malloc internally).
  
@@ -18,7 +18,7 @@
    std::string::size_type search_from = 0;
    while (search_from < text->size()) {
      // Look for the start of a mangled symbol, from search_from.
-@@ -115,7 +115,7 @@
+@@ -121,7 +121,7 @@
        search_from = mangled_start + 2;
      }
    }
@@ -27,8 +27,8 @@
  }
  #endif  // !defined(USE_SYMBOLIZE)
  
-@@ -127,7 +127,7 @@
-   virtual ~BacktraceOutputHandler() {}
+@@ -133,7 +133,7 @@
+   virtual ~BacktraceOutputHandler() = default;
  };
  
 -#if !defined(__UCLIBC__) && !defined(_AIX)
@@ -36,7 +36,7 @@
  void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
    // This should be more than enough to store a 64-bit number in hex:
    // 16 hex digits + 1 for null-terminator.
-@@ -204,7 +204,7 @@
+@@ -216,7 +216,7 @@
    }
  #endif  // defined(USE_SYMBOLIZE)
  }
@@ -45,16 +45,16 @@
  
  void PrintToStderr(const char* output) {
    // NOTE: This code MUST be async-signal safe (it's used by in-process
-@@ -721,7 +721,7 @@
- // NOTE: This code MUST be async-signal safe (it's used by in-process
- // stack dumping signal handler). NO malloc or stdio is allowed here.
+@@ -812,7 +812,7 @@
+   // NOTE: This code MUST be async-signal safe (it's used by in-process
+   // stack dumping signal handler). NO malloc or stdio is allowed here.
  
 -#if !defined(__UCLIBC__) && !defined(_AIX)
 +#if defined(__GLIBC__) && !defined(_AIX)
-   count = std::min(arraysize(trace_), count);
- 
    // Though the backtrace API man page does not list any possible negative
-@@ -827,13 +827,13 @@
+   // return values, we take no chance.
+   return base::saturated_cast<size_t>(backtrace(trace, count));
+@@ -825,13 +825,13 @@
  // NOTE: This code MUST be async-signal safe (it's used by in-process
  // stack dumping signal handler). NO malloc or stdio is allowed here.
  
@@ -70,14 +70,3 @@
  void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
                                            const char* prefix_string) const {
    StreamBacktraceOutputHandler handler(os);
---- third_party/blink/renderer/platform/wtf/assertions.cc.orig	2017-09-11 12:27:06.948854813 +0000
-+++ third_party/blink/renderer/platform/wtf/assertions.cc	2017-09-11 12:29:34.639862433 +0000
-@@ -56,7 +56,7 @@
- #include <windows.h>
- #endif
- 
--#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__))
-+#if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(__GLIBC__))
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 6b35c768174..8e615212322 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,15 +1,15 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See http://www.chromium.org/developers/calendar for the latest version
-version=72.0.3626.121
-revision=2
+version=75.0.3770.100
+revision=1
 archs="i686 x86_64*"
 short_desc="Google's attempt at creating a safer, faster, and more stable browser"
 maintainer="Rasmus Thomsen <rasmus.thomsen@protonmail.com>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=4c1e554ab606eab328e77f5a92d8244b26a10ffd15d7986d30eab95f37adbc1f
+checksum=9e1360101b6d9f9635e540db77626e3e15b452f413d8750518244ac37b73fca0
 
 lib32disabled=yes
 nodebug=yes
@@ -147,7 +147,7 @@ do_configure() {
 		'clang_use_chrome_plugins=false'
 		'custom_toolchain="//build/toolchain/linux/unbundle:default"'
 		'host_toolchain="//build/toolchain/linux/unbundle:default"'
-		'remove_webcore_debug_symbols=true'
+		'blink_symbol_level=0'
 		'symbol_level=0'
 		'icu_use_data_file=true'
 		'use_allocator="none"'
