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 #include +#include - #include "base/posix/eintr_wrapper.h" - + #include + #include 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 @@ -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(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 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 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 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 +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 +Reviewed-by: Antoine Labour +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 deltas_; ++ std::vector 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 +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 +Commit-Queue: Peng Huang +Commit-Queue: Jonathan Backer +Auto-Submit: Jonathan Backer +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 +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 +Commit-Queue: José Dapena Paz +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 #endif @@ -9,7 +9,7 @@ #include #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(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 - #endif - --#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__)) -+#if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(__GLIBC__)) - #include - #include - #include 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 " 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"'