From 65364d0d3edc0a33785cd3683dcdcedafa9f3d34 Mon Sep 17 00:00:00 2001 From: "Sascha Kuehndel (InuSasha)" Date: Thu, 14 Dec 2017 16:48:20 +0100 Subject: [PATCH] chromium: update to 63.0.3239.84 --- packages/addons/addon-depends/node/package.mk | 38 +++ packages/addons/browser/chromium/package.mk | 48 +--- .../chromium-0004-vaapi-on-linux.patch | 265 ++++++------------ .../chromium-0006-exclude_unwind_tables.patch | 44 +++ .../patches/chromium-0006-gn_fix.patch | 70 ----- ...hromium-0008-fix-ucontext-from-glibc.patch | 227 --------------- .../patches/chromium-0008-fix-webrtc.patch | 10 + ...romium-0012-crc32c-string-view-check.patch | 74 ----- 8 files changed, 184 insertions(+), 592 deletions(-) create mode 100644 packages/addons/addon-depends/node/package.mk create mode 100644 packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0006-gn_fix.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0008-fix-ucontext-from-glibc.patch create mode 100644 packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0012-crc32c-string-view-check.patch diff --git a/packages/addons/addon-depends/node/package.mk b/packages/addons/addon-depends/node/package.mk new file mode 100644 index 0000000000..4e61840ff1 --- /dev/null +++ b/packages/addons/addon-depends/node/package.mk @@ -0,0 +1,38 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# +# OpenELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# OpenELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC. If not, see . +################################################################################ + +PKG_NAME="node" +PKG_VERSION="8.9.3" +PKG_SHA256="a5042d983f9815ee18a5c6fd75f8b3b2022ed96a2aaa8834300cd1ee81e8870c" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://nodejs.org" +PKG_URL="https://github.com/nodejs/node/archive/v$PKG_VERSION.tar.gz" +PKG_DEPENDS_HOST="toolchain" +PKG_SHORTDESC="Node.js JavaScript runtime" +PKG_LONGDESC="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world." + +HOST_CONFIGURE_OPTS="--prefix=$TOOLCHAIN \ + --fully-static \ + --with-intl=none \ + --without-npm \ + --without-ssl" + +pre_configure_host() { + cd .. +} diff --git a/packages/addons/browser/chromium/package.mk b/packages/addons/browser/chromium/package.mk index 6d3f9d8a04..9afccc7a4f 100644 --- a/packages/addons/browser/chromium/package.mk +++ b/packages/addons/browser/chromium/package.mk @@ -19,15 +19,15 @@ ################################################################################ PKG_NAME="chromium" -PKG_VERSION="62.0.3202.62" -PKG_SHA256="e8df3150386729ddcb4971636627e54815ad447be5f122201e310f5bb0bcc362" -PKG_REV="107.008" +PKG_VERSION="63.0.3239.84" +PKG_SHA256="6de2754dfc333675ae6a67ae13c95666009b35c84f847b058edbf312e42fa3af" +PKG_REV="107.009" PKG_ARCH="x86_64" PKG_LICENSE="Mixed" PKG_SITE="http://www.chromium.org/Home" PKG_URL="https://commondatastorage.googleapis.com/chromium-browser-official/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS_HOST="toolchain ninja:host Python2:host" -PKG_DEPENDS_TARGET="chromium:host pciutils dbus libXcomposite libXcursor libXtst alsa-lib bzip2 yasm nss libXScrnSaver libexif libpng harfbuzz atk gtk+ libva-vdpau-driver unclutter xdotool" +PKG_DEPENDS_TARGET="chromium:host node:host pciutils dbus libXcomposite libXcursor libXtst alsa-lib bzip2 yasm nss libXScrnSaver libexif libpng atk gtk+ libva-vdpau-driver unclutter xdotool" PKG_SECTION="browser" PKG_SHORTDESC="Chromium Browser: the open-source web browser from Google" PKG_LONGDESC="Chromium Browser ($PKG_VERSION): the open-source web browser from Google" @@ -52,10 +52,6 @@ make_host() { ./tools/gn/bootstrap/bootstrap.py --no-rebuild --no-clean --verbose } -makeinstall_host() { - : -} - make_target() { strip_lto export LDFLAGS="$LDFLAGS -ludev" @@ -65,9 +61,9 @@ make_target() { # Note: These are for OpenELEC use ONLY. For your own distribution, please # get your own set of keys. - _google_api_key=AIzaSyAQ6L9vt9cnN4nM0weaa6Y38K4eyPvtKgI - _google_default_client_id=740889307901-4bkm4e0udppnp1lradko85qsbnmkfq3b.apps.googleusercontent.com - _google_default_client_secret=9TJlhL661hvShQub4cWhANXa + local _google_api_key=AIzaSyAQ6L9vt9cnN4nM0weaa6Y38K4eyPvtKgI + local _google_default_client_id=740889307901-4bkm4e0udppnp1lradko85qsbnmkfq3b.apps.googleusercontent.com + local _google_default_client_secret=9TJlhL661hvShQub4cWhANXa local _flags=( "host_toolchain=\"//build/toolchain/linux:x64_host\"" @@ -93,45 +89,27 @@ make_target() { 'use_kerberos=false' 'use_pulseaudio=false' 'use_sysroot=true' - 'use_vulcanize=false' 'use_vaapi=true' - 'exclude_unwind_tables=true' + 'use_v8_context_snapshot=false' + 'enable_vulkan=false' "target_sysroot=\"${SYSROOT_PREFIX}\"" + 'exclude_unwind_tables=true' 'enable_hangout_services_extension=true' 'enable_widevine=true' 'enable_nacl=false' 'enable_nacl_nonsfi=false' 'enable_swiftshader=false' + 'enable_vulkan=false' "google_api_key=\"${_google_api_key}\"" "google_default_client_id=\"${_google_default_client_id}\"" "google_default_client_secret=\"${_google_default_client_secret}\"" ) - # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py - local _system_libs=( - harfbuzz-ng - libjpeg - libpng - libxslt - yasm - ) - - # Remove bundled libraries for which we will use the system copies; this - # *should* do what the remove_bundled_libraries.py script does, with the - # added benefit of not having to list all the remaining libraries - local _lib - for _lib in ${_system_libs}; do - find -type f -path "*third_party/$_lib/*" \ - \! -path "*third_party/$_lib/chromium/*" \ - \! -path "*third_party/$_lib/google/*" \ - \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ - -delete - done - - ./build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs}" ./third_party/libaddressinput/chromium/tools/update-strings.py ./out/Release/gn gen out/Release --args="${_flags[*]}" --script-executable=$TOOLCHAIN/bin/python + mkdir -p $PKG_BUILD/third_party/node/linux/node-linux-x64/bin + ln -fs $TOOLCHAIN/bin/node $PKG_BUILD/third_party/node/linux/node-linux-x64/bin/node ninja -j${CONCURRENCY_MAKE_LEVEL} -C out/Release chrome chrome_sandbox widevinecdmadapter } diff --git a/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch b/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch index adc7ac1e49..b8dff361a7 100644 --- a/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch +++ b/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch @@ -1,8 +1,6 @@ -Source: https://aur.archlinux.org/packages/chromium-vaapi/ - -From d60511c973e432b97d9929dcfbd77c9af25dbd51 Mon Sep 17 00:00:00 2001 +From 7f29b44224439377592be2b75da0b86d82d8ad6d Mon Sep 17 00:00:00 2001 From: Daniel Charles -Date: Fri, 01 Sep 2017 15:57:43 -0700 +Date: Wed, 18 Oct 2017 17:27:42 -0700 Subject: [PATCH] Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only This patch contains all the changes necessary to use VA-API along with @@ -38,23 +36,11 @@ Change-Id: Ifbbf5c9e5221a8b5733fc6d4d0cf984a1f103171 Signed-off-by: Daniel Charles --- -diff --git a/AUTHORS b/AUTHORS -index 9936ab9..db5e449 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -161,6 +161,7 @@ - Daniel Bevenius - Daniel Bomar - Daniel Carvalho Liedke -+Daniel Charles - Daniel Imms - Daniel Johnson - Daniel Lockyer diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index e4baad6..9e4a9f5 100644 +index 3555293..4c3115f 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -1227,12 +1227,14 @@ +@@ -1246,12 +1246,14 @@ flag_descriptions::kUiPartialSwapDescription, kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, #if BUILDFLAG(ENABLE_WEBRTC) @@ -69,9 +55,9 @@ index e4baad6..9e4a9f5 100644 {"enable-webrtc-hw-h264-encoding", flag_descriptions::kWebrtcHwH264EncodingName, flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS, -@@ -1547,6 +1549,13 @@ - flag_descriptions::kMultideviceDescription, kOsCrOS, - FEATURE_VALUE_TYPE(features::kMultidevice)}, +@@ -1557,6 +1559,13 @@ + flag_descriptions::kSpuriousPowerButtonLidAngleChangeDescription, kOsCrOS, + MULTI_VALUE_TYPE(kSpuriousPowerButtonLidAngleChangeChoices)}, #endif // OS_CHROMEOS +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) + { @@ -83,7 +69,7 @@ index e4baad6..9e4a9f5 100644 { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -1554,6 +1563,7 @@ +@@ -1564,6 +1573,7 @@ kOsMac | kOsWin | kOsCrOS | kOsAndroid, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, @@ -91,7 +77,7 @@ index e4baad6..9e4a9f5 100644 {"mojo-video-encode-accelerator", flag_descriptions::kMojoVideoEncodeAcceleratorName, flag_descriptions::kMojoVideoEncodeAcceleratorDescription, -@@ -2212,12 +2222,17 @@ +@@ -2229,12 +2239,17 @@ FEATURE_VALUE_TYPE(features::kWebVrVsyncAlign)}, #endif // OS_ANDROID #endif // ENABLE_VR @@ -112,10 +98,18 @@ index e4baad6..9e4a9f5 100644 flag_descriptions::kV8CacheOptionsDescription, kOsAll, MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, diff --git a/chrome/browser/chromeos/login/chrome_restart_request.cc b/chrome/browser/chromeos/login/chrome_restart_request.cc -index 761a240..c29be3d 100644 +index 3815e79..d5d3712 100644 --- a/chrome/browser/chromeos/login/chrome_restart_request.cc +++ b/chrome/browser/chromeos/login/chrome_restart_request.cc -@@ -80,8 +80,13 @@ +@@ -19,6 +19,7 @@ + #include "base/sys_info.h" + #include "base/timer/timer.h" + #include "base/values.h" ++#include "build/build_config.h" + #include "cc/base/switches.h" + #include "chrome/browser/browser_process.h" + #include "chrome/browser/chromeos/boot_times_recorder.h" +@@ -79,8 +80,13 @@ ::switches::kDisable2dCanvasImageChromium, ::switches::kDisableAccelerated2dCanvas, ::switches::kDisableAcceleratedJpegDecoding, @@ -129,7 +123,7 @@ index 761a240..c29be3d 100644 ::switches::kDisableBlinkFeatures, ::switches::kDisableCastStreamingHWEncoding, ::switches::kDisableDistanceFieldText, -@@ -168,7 +173,7 @@ +@@ -166,7 +172,7 @@ ::switches::kDisableWebGLImageChromium, ::switches::kEnableWebGLImageChromium, ::switches::kEnableWebVR, @@ -139,7 +133,7 @@ index 761a240..c29be3d 100644 ::switches::kDisableWebRtcHWEncoding, #endif diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 42fc3a2..a0700fe 100644 +index 74e6bc7..ab184a5 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc @@ -14,6 +14,13 @@ @@ -156,7 +150,7 @@ index 42fc3a2..a0700fe 100644 const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode"; const char kAcceleratedVideoDecodeDescription[] = "Hardware-accelerated video decode where available."; -@@ -1412,6 +1419,7 @@ +@@ -1478,6 +1485,7 @@ const char kWebrtcEchoCanceller3Description[] = "Experimental WebRTC echo canceller (AEC3)."; @@ -164,7 +158,7 @@ index 42fc3a2..a0700fe 100644 const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding"; const char kWebrtcHwDecodingDescription[] = "Support in WebRTC for decoding video streams using platform hardware."; -@@ -1419,6 +1427,7 @@ +@@ -1485,6 +1493,7 @@ const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding"; const char kWebrtcHwEncodingDescription[] = "Support in WebRTC for encoding video streams using platform hardware."; @@ -172,7 +166,7 @@ index 42fc3a2..a0700fe 100644 const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding"; const char kWebrtcHwH264EncodingDescription[] = -@@ -2205,14 +2214,16 @@ +@@ -2283,14 +2292,16 @@ // Chrome OS ------------------------------------------------------------------- @@ -191,10 +185,10 @@ index 42fc3a2..a0700fe 100644 const char kAllowTouchpadThreeFingerClickDescription[] = "Enables touchpad three-finger-click as middle button."; diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index d6fcf7d..3cbc7ad 100644 +index 54a4950..5ace5e0 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -36,6 +36,10 @@ +@@ -37,6 +37,10 @@ extern const char kAccelerated2dCanvasName[]; extern const char kAccelerated2dCanvasDescription[]; @@ -205,7 +199,7 @@ index d6fcf7d..3cbc7ad 100644 extern const char kAcceleratedVideoDecodeName[]; extern const char kAcceleratedVideoDecodeDescription[]; -@@ -1351,13 +1355,17 @@ +@@ -1401,13 +1405,17 @@ #endif // defined(OS_MACOSX) @@ -227,10 +221,10 @@ index d6fcf7d..3cbc7ad 100644 extern const char kAllowTouchpadThreeFingerClickDescription[]; diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc -index 0461556..3dc14164 100644 +index 122282d..bc102a3 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc -@@ -104,7 +104,11 @@ +@@ -105,7 +105,11 @@ {"video_decode", manager->IsFeatureBlacklisted( gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE), @@ -242,7 +236,7 @@ index 0461556..3dc14164 100644 "Accelerated video decode has been disabled, either via blacklist," " about:flags or the command line.", true}, -@@ -112,7 +116,11 @@ +@@ -113,7 +117,11 @@ {"video_encode", manager->IsFeatureBlacklisted( gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE), @@ -255,7 +249,7 @@ index 0461556..3dc14164 100644 " about:flags or the command line.", true}, diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index 4388cef..f3aa640 100644 +index 51aa672..963da85 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc @@ -717,7 +717,11 @@ @@ -270,7 +264,7 @@ index 4388cef..f3aa640 100644 #if defined(USE_AURA) if (!CanUseGpuBrowserCompositor()) -@@ -751,7 +755,11 @@ +@@ -748,7 +752,11 @@ } if (ShouldDisableAcceleratedVideoDecode(command_line)) { @@ -282,7 +276,7 @@ index 4388cef..f3aa640 100644 } #if defined(USE_OZONE) -@@ -844,7 +852,12 @@ +@@ -826,7 +834,12 @@ const base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (!ShouldDisableAcceleratedVideoDecode(command_line) && @@ -296,7 +290,7 @@ index 4388cef..f3aa640 100644 prefs->pepper_accelerated_video_decode_enabled = true; } } -@@ -1043,7 +1056,13 @@ +@@ -1016,7 +1029,13 @@ // to resolve crbug/442039 has been collected. const std::string group_name = base::FieldTrialList::FindFullName( "DisableAcceleratedVideoDecode"); @@ -312,10 +306,10 @@ index 4388cef..f3aa640 100644 return false; } diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index e1879c6..f29313f 100644 +index 95d4dff..9b26d3f 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -112,7 +112,11 @@ +@@ -111,7 +111,11 @@ // Command-line switches to propagate to the GPU process. static const char* const kSwitchNames[] = { @@ -327,7 +321,7 @@ index e1879c6..f29313f 100644 switches::kDisableBreakpad, switches::kDisableGpuRasterization, switches::kDisableGpuSandbox, -@@ -121,7 +125,7 @@ +@@ -120,7 +124,7 @@ switches::kDisableLogging, switches::kDisableSeccompFilterSandbox, switches::kDisableShaderNameHashing, @@ -355,7 +349,7 @@ index 8ca0ad0..8c489d0 100644 if (params_.use_mojo_service) { base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( diff --git a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc -index 22fbcb8..52b3337 100644 +index 34afec23..ad77490 100644 --- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc +++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc @@ -56,15 +56,21 @@ @@ -385,12 +379,12 @@ index 22fbcb8..52b3337 100644 RecordInitDecodeUMA_Locked(); return; diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 35cb294..c39c975 100644 +index fbe4d21..1be295e 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2488,7 +2488,11 @@ +@@ -2506,7 +2506,11 @@ + switches::kDefaultTileHeight, switches::kDisable2dCanvasImageChromium, - switches::kDisable3DAPIs, switches::kDisableAcceleratedJpegDecoding, +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) + switches::kEnableAcceleratedVideo, @@ -399,9 +393,9 @@ index 35cb294..c39c975 100644 +#endif switches::kDisableBackgroundTimerThrottling, switches::kDisableBreakpad, - switches::kDisablePreferCompositingToLCDText, -@@ -2641,8 +2645,10 @@ - switches::kEnablePepperTesting, + switches::kDisableBrowserSideNavigation, +@@ -2660,8 +2664,10 @@ + switches::kDisableMojoRenderer, #endif #if BUILDFLAG(ENABLE_WEBRTC) +#if !defined(OS_LINUX) || defined(OS_CHROMEOS) @@ -429,93 +423,6 @@ index 3d815a2..2c96048 100644 } private: -diff --git a/content/common/sandbox_linux/bpf_gpu_policy_linux.cc b/content/common/sandbox_linux/bpf_gpu_policy_linux.cc -index ac5dc5a..ed6196c 100644 ---- a/content/common/sandbox_linux/bpf_gpu_policy_linux.cc -+++ b/content/common/sandbox_linux/bpf_gpu_policy_linux.cc -@@ -57,22 +57,6 @@ - #endif - } - --inline bool IsArchitectureX86_64() { --#if defined(__x86_64__) -- return true; --#else -- return false; --#endif --} -- --inline bool IsArchitectureI386() { --#if defined(__i386__) -- return true; --#else -- return false; --#endif --} -- - inline bool IsArchitectureArm() { - #if defined(__arm__) || defined(__aarch64__) - return true; -@@ -97,21 +81,14 @@ - #endif - } - --bool IsAcceleratedVaapiVideoEncodeEnabled() { -- bool accelerated_encode_enabled = false; --#if defined(OS_CHROMEOS) -- const base::CommandLine& command_line = -- *base::CommandLine::ForCurrentProcess(); -- accelerated_encode_enabled = -- !command_line.HasSwitch(switches::kDisableVaapiAcceleratedVideoEncode); --#endif -- return accelerated_encode_enabled; --} -- - bool IsAcceleratedVideoDecodeEnabled() { - const base::CommandLine& command_line = - *base::CommandLine::ForCurrentProcess(); -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ return command_line.HasSwitch(switches::kEnableAcceleratedVideo); -+#else - return !command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode); -+#endif - } - - intptr_t GpuSIGSYS_Handler(const struct arch_seccomp_data& args, -@@ -295,33 +272,6 @@ - GpuBrokerProcessPolicy::Create, - std::vector()); // No extra files in whitelist. - -- if (IsArchitectureX86_64() || IsArchitectureI386()) { -- // Accelerated video dlopen()'s some shared objects -- // inside the sandbox, so preload them now. -- if (IsAcceleratedVaapiVideoEncodeEnabled() || -- IsAcceleratedVideoDecodeEnabled()) { -- const char* I965DrvVideoPath = NULL; -- const char* I965HybridDrvVideoPath = NULL; -- -- if (IsArchitectureX86_64()) { -- I965DrvVideoPath = "/usr/lib64/va/drivers/i965_drv_video.so"; -- I965HybridDrvVideoPath = "/usr/lib64/va/drivers/hybrid_drv_video.so"; -- } else if (IsArchitectureI386()) { -- I965DrvVideoPath = "/usr/lib/va/drivers/i965_drv_video.so"; -- } -- -- dlopen(I965DrvVideoPath, RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); -- if (I965HybridDrvVideoPath) -- dlopen(I965HybridDrvVideoPath, RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); -- dlopen("libva.so.1", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); --#if defined(USE_OZONE) -- dlopen("libva-drm.so.1", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); --#elif defined(USE_X11) -- dlopen("libva-x11.so.1", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); --#endif -- } -- } -- - return true; - } - diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn index a5424bb..b68b802 100644 --- a/content/gpu/BUILD.gn @@ -538,10 +445,10 @@ index a5424bb..b68b802 100644 + } } diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index 6a1de90..9a84e9e 100644 +index 556cf00..730f4ae 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -245,7 +245,7 @@ +@@ -254,7 +254,7 @@ // Initializes StatisticsRecorder which tracks UMA histograms. base::StatisticsRecorder::Initialize(); @@ -550,8 +457,8 @@ index 6a1de90..9a84e9e 100644 // Set thread priority before sandbox initialization. base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); #endif -@@ -275,7 +275,7 @@ - GetContentClient()->SetGpuInfo(gpu_init.gpu_info()); +@@ -283,7 +283,7 @@ + GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; -#if defined(OS_ANDROID) || defined(OS_CHROMEOS) @@ -560,10 +467,18 @@ index 6a1de90..9a84e9e 100644 #endif diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc -index 7d926da..70afc33 100644 +index 6aafb06..d4ddd8d 100644 --- a/content/public/browser/gpu_utils.cc +++ b/content/public/browser/gpu_utils.cc -@@ -57,12 +57,19 @@ +@@ -7,6 +7,7 @@ + #include "base/command_line.h" + #include "base/single_thread_task_runner.h" + #include "base/strings/string_number_conversions.h" ++#include "build/build_config.h" + #include "content/browser/gpu/gpu_process_host.h" + #include "content/public/common/content_features.h" + #include "content/public/common/content_switches.h" +@@ -57,12 +58,19 @@ gpu_preferences.ui_prioritize_in_gpu_process = command_line->HasSwitch(switches::kUIPrioritizeInGpuProcess); gpu_preferences.disable_accelerated_video_decode = @@ -586,10 +501,10 @@ index 7d926da..70afc33 100644 command_line->HasSwitch(switches::kDisableWebRtcHWEncoding); #endif diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc -index 78041e2..60f6597 100644 +index 4e699d1..3a7a2b7 100644 --- a/content/public/common/content_switches.cc +++ b/content/public/common/content_switches.cc -@@ -88,12 +88,21 @@ +@@ -89,12 +89,21 @@ // Disable gpu-accelerated 2d canvas. const char kDisableAccelerated2dCanvas[] = "disable-accelerated-2d-canvas"; @@ -612,7 +527,7 @@ index 78041e2..60f6597 100644 // Disables hardware acceleration of video decode, where available. const char kDisableAcceleratedVideoDecode[] = "disable-accelerated-video-decode"; -@@ -933,11 +942,13 @@ +@@ -932,11 +941,13 @@ // ignores this switch on its stable and beta channels. const char kDisableWebRtcEncryption[] = "disable-webrtc-encryption"; @@ -627,7 +542,7 @@ index 78041e2..60f6597 100644 // Enables negotiation of GCM cipher suites from RFC 7714 for SRTP in WebRTC. // See https://tools.ietf.org/html/rfc7714 for further information. diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h -index 9451a76..275b5ed 100644 +index 2704924..67d00bb 100644 --- a/content/public/common/content_switches.h +++ b/content/public/common/content_switches.h @@ -35,7 +35,11 @@ @@ -642,7 +557,7 @@ index 9451a76..275b5ed 100644 CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[]; CONTENT_EXPORT extern const char kDisableAudioSupportForDesktopShare[]; extern const char kDisableBackingStoreLimit[]; -@@ -107,6 +111,9 @@ +@@ -109,6 +113,9 @@ CONTENT_EXPORT extern const char kDomAutomationController[]; extern const char kDisable2dCanvasClipAntialiasing[]; CONTENT_EXPORT extern const char kDumpBlinkRuntimeCallStats[]; @@ -650,9 +565,9 @@ index 9451a76..275b5ed 100644 +CONTENT_EXPORT extern const char kEnableAcceleratedVideo[]; +#endif CONTENT_EXPORT extern const char kEnableAggressiveDOMStorageFlushing[]; + CONTENT_EXPORT extern const char kEnableAutomation[]; CONTENT_EXPORT extern const char kEnablePreferCompositingToLCDText[]; - CONTENT_EXPORT extern const char kEnableBlinkFeatures[]; -@@ -261,8 +268,10 @@ +@@ -256,8 +263,10 @@ #if BUILDFLAG(ENABLE_WEBRTC) CONTENT_EXPORT extern const char kDisableWebRtcEncryption[]; @@ -664,10 +579,10 @@ index 9451a76..275b5ed 100644 CONTENT_EXPORT extern const char kEnableWebRtcSrtpEncryptedHeaders[]; CONTENT_EXPORT extern const char kEnableWebRtcStunOrigin[]; diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -index 9d05ac0..69555fa 100644 +index 017056c..825bdce 100644 --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -@@ -240,10 +240,19 @@ +@@ -239,10 +239,19 @@ const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { @@ -689,10 +604,10 @@ index 9d05ac0..69555fa 100644 } } diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index 4bbfbf6..e85b5c6 100644 +index dc01117..2f9ee03 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1457,7 +1457,11 @@ +@@ -1456,7 +1456,11 @@ scoped_refptr media_task_runner = GetMediaThreadTaskRunner(); const bool enable_video_accelerator = @@ -705,7 +620,7 @@ index 4bbfbf6..e85b5c6 100644 #if defined(OS_MACOSX) || defined(OS_LINUX) !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames) && diff --git a/gpu/command_buffer/service/gpu_preferences.h b/gpu/command_buffer/service/gpu_preferences.h -index 8dd0ff1..d6e5c59 100644 +index b37c2cc..a721eb7 100644 --- a/gpu/command_buffer/service/gpu_preferences.h +++ b/gpu/command_buffer/service/gpu_preferences.h @@ -50,7 +50,7 @@ @@ -718,10 +633,10 @@ index 8dd0ff1..d6e5c59 100644 bool disable_vaapi_accelerated_video_encode = false; #endif diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 5edb5636..069ae95 100644 +index 1289a55..22e11e5 100644 --- a/gpu/config/software_rendering_list.json +++ b/gpu/config/software_rendering_list.json -@@ -371,17 +371,6 @@ +@@ -374,17 +374,6 @@ ] }, { @@ -740,10 +655,10 @@ index 5edb5636..069ae95 100644 "description": "Disable VMware software renderer on older Mesa", "cr_bugs": [145531, 332596, 571899, 629434], diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 0362601..ebed982 100644 +index 490722c..1cda2fb 100644 --- a/media/filters/BUILD.gn +++ b/media/filters/BUILD.gn -@@ -182,7 +182,7 @@ +@@ -189,7 +189,7 @@ deps += [ "//media/base/android" ] } @@ -753,7 +668,7 @@ index 0362601..ebed982 100644 "h264_bitstream_buffer.cc", "h264_bitstream_buffer.h", diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 613e830..a886955 100644 +index 729c6fa..4878251 100644 --- a/media/gpu/BUILD.gn +++ b/media/gpu/BUILD.gn @@ -24,6 +24,14 @@ @@ -782,10 +697,10 @@ index 613e830..a886955 100644 if (is_win) { diff --git a/media/gpu/gpu_video_decode_accelerator_factory.cc b/media/gpu/gpu_video_decode_accelerator_factory.cc -index 22f8f4a..ec6615d 100644 +index 2cee490..de02414 100644 --- a/media/gpu/gpu_video_decode_accelerator_factory.cc +++ b/media/gpu/gpu_video_decode_accelerator_factory.cc -@@ -86,6 +86,7 @@ +@@ -87,6 +87,7 @@ // profile (instead of calculating a superset). // TODO(posciak,henryhsu): improve this so that we choose a superset of // resolutions and other supported profile parameters. @@ -794,10 +709,10 @@ index 22f8f4a..ec6615d 100644 capabilities.supported_profiles = DXVAVideoDecodeAccelerator::GetSupportedProfiles(gpu_preferences, diff --git a/media/gpu/vaapi_wrapper.cc b/media/gpu/vaapi_wrapper.cc -index 97ed997..14511cb 100644 +index 1e72893..6495642 100644 --- a/media/gpu/vaapi_wrapper.cc +++ b/media/gpu/vaapi_wrapper.cc -@@ -1116,6 +1116,7 @@ +@@ -1117,6 +1117,7 @@ if (drm_file.IsValid()) GetDisplayState()->SetDrmFd(drm_file.GetPlatformFile()); #endif @@ -805,25 +720,3 @@ index 97ed997..14511cb 100644 } // static -diff --git a/services/ui/gpu/gpu_main.cc b/services/ui/gpu/gpu_main.cc -index 0916374..cabf058 100644 ---- a/services/ui/gpu/gpu_main.cc -+++ b/services/ui/gpu/gpu_main.cc -@@ -79,7 +79,7 @@ - thread_options.message_loop_type = base::MessageLoop::TYPE_IO; - #endif - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) - thread_options.priority = base::ThreadPriority::DISPLAY; - #endif - CHECK(gpu_thread_.StartWithOptions(thread_options)); -@@ -89,7 +89,7 @@ - // should be possible to use |main_task_runner_| for doing IO tasks. - thread_options = base::Thread::Options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) - // TODO(reveman): Remove this in favor of setting it explicitly for each type - // of process. - thread_options.priority = base::ThreadPriority::DISPLAY; diff --git a/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch b/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch new file mode 100644 index 0000000000..67232595dd --- /dev/null +++ b/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch @@ -0,0 +1,44 @@ +From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001 +From: Paul Jensen +Date: Wed, 11 Oct 2017 08:37:34 -0400 +Subject: [PATCH] Move exclude_unwind_tables back into declare_args + +There is desire to adjust this flag manually. + +BUG=762629 +R=thakis@chromium.org + +Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab +--- + +diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni +index ad40fd9..50e19a4 100644 +--- a/build/config/compiler/compiler.gni ++++ b/build/config/compiler/compiler.gni +@@ -68,18 +68,18 @@ + + # Whether or not we should use position independent code. + use_pic = true ++ ++ # Exclude unwind tables for official builds as unwinding can be done from ++ # stack dumps produced by Crashpad at a later time "offline" in the crash ++ # server. For unofficial (e.g. development) builds and non-Chrome branded ++ # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's ++ # useful to be able to unwind at runtime. ++ exclude_unwind_tables = (is_chrome_branded && is_official_build) || ++ (is_chromecast && !is_cast_desktop_build && !is_debug) + } + + assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO") + +-# Exclude unwind tables for official builds as unwinding can be done from stack +-# dumps produced by Crashpad at a later time "offline" in the crash server. +-# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet +-# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able +-# to unwind at runtime. +-exclude_unwind_tables = (is_chrome_branded && is_official_build) || +- (is_chromecast && !is_cast_desktop_build && !is_debug) +- + # If true, optimize for size. Does not affect windows builds. + # Linux & Mac favor speed over size. + # TODO(brettw) it's weird that Mac and desktop Linux are different. We should diff --git a/packages/addons/browser/chromium/patches/chromium-0006-gn_fix.patch b/packages/addons/browser/chromium/patches/chromium-0006-gn_fix.patch deleted file mode 100644 index fc3dec6037..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0006-gn_fix.patch +++ /dev/null @@ -1,70 +0,0 @@ -Source: https://aur.archlinux.org/packages/chromium-vaapi/ - ---- a/tools/gn/bootstrap/bootstrap.py -+++ b/tools/gn/bootstrap/bootstrap.py -@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h', - { -+ 'ENABLE_LOCATION_SOURCE': 'false', - 'ENABLE_PROFILING': 'false', - 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false' - }) -@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_gn_ninja(os.path.join(tempdir, 'build.ninja'), - root_gen_dir, options) -- cmd = ['ninja', '-C', tempdir] -+ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - -@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/metrics/bucket_ranges.cc', - 'base/metrics/field_trial.cc', - 'base/metrics/field_trial_param_associator.cc', -+ 'base/metrics/field_trial_params.cc', - 'base/metrics/histogram.cc', - 'base/metrics/histogram_base.cc', - 'base/metrics/histogram_functions.cc', -@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/task_scheduler/scheduler_lock_impl.cc', - 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc', - 'base/task_scheduler/scheduler_worker.cc', -+ 'base/task_scheduler/scheduler_worker_pool.cc', - 'base/task_scheduler/scheduler_worker_pool_impl.cc', - 'base/task_scheduler/scheduler_worker_pool_params.cc', - 'base/task_scheduler/scheduler_worker_stack.cc', -@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/third_party/icu/icu_utf.cc', - 'base/third_party/nspr/prtime.cc', - 'base/threading/post_task_and_reply_impl.cc', -+ 'base/threading/scoped_blocking_call.cc', - 'base/threading/sequence_local_storage_map.cc', - 'base/threading/sequenced_task_runner_handle.cc', - 'base/threading/sequenced_worker_pool.cc', -@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/unguessable_token.cc', - 'base/value_iterators.cc', - 'base/values.cc', -- 'base/value_iterators.cc', - 'base/vlog.cc', - ]) - -@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options): - static_libraries['base']['sources'].extend([ - 'base/memory/shared_memory_handle_posix.cc', - 'base/memory/shared_memory_posix.cc', -- 'base/memory/shared_memory_tracker.cc', - 'base/nix/xdg_util.cc', - 'base/process/internal_linux.cc', - 'base/process/memory_linux.cc', -@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options): - cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args] - check_call(cmd) - -- cmd = ['ninja', '-C', build_dir] -+ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - cmd.append('gn') diff --git a/packages/addons/browser/chromium/patches/chromium-0008-fix-ucontext-from-glibc.patch b/packages/addons/browser/chromium/patches/chromium-0008-fix-ucontext-from-glibc.patch deleted file mode 100644 index 83e057d82c..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0008-fix-ucontext-from-glibc.patch +++ /dev/null @@ -1,227 +0,0 @@ -Source: https://aur.archlinux.org/packages/chromium-vaapi/ breakpad-use-ucontext_t.patch - -From b6a312ed8e144a37da840ae50dbd39df5ffb7e9f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 2 Jul 2017 16:34:54 -0700 -Subject: [PATCH 2/2] replace struct ucontext with ucontext_t - -glibc 2.26 does not expose struct ucontext any longer - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - .../linux/dump_writer_common/ucontext_reader.cc | 30 +++++++++++----------- - .../linux/dump_writer_common/ucontext_reader.h | 10 ++++---- - .../src/client/linux/handler/exception_handler.cc | 8 +++--- - .../src/client/linux/handler/exception_handler.h | 2 +- - .../linux/microdump_writer/microdump_writer.cc | 2 +- - .../linux/minidump_writer/minidump_writer.cc | 2 +- - 6 files changed, 27 insertions(+), 27 deletions(-) - -diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index c80724dd8..93b4d9f85 100644 ---- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -40,15 +40,15 @@ namespace google_breakpad { - - #if defined(__i386__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_ESP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_EIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__x86_64) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RSP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__ARM_EABI__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - out->context_flags = MD_CONTEXT_ARM_FULL; - - out->iregs[0] = uc->uc_mcontext.arm_r0; -@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { - - #elif defined(__aarch64__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs) { - out->context_flags = MD_CONTEXT_ARM64_FULL; - -@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, - - #elif defined(__mips__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - #if _MIPS_SIM == _ABI64 - out->context_flags = MD_CONTEXT_MIPS64_FULL; - #elif _MIPS_SIM == _ABIO32 -diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -index b6e77b4b5..2369a9ad3 100644 ---- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -41,21 +41,21 @@ namespace google_breakpad { - - // Wraps platform-dependent implementations of accessors to ucontext structs. - struct UContextReader { -- static uintptr_t GetStackPointer(const struct ucontext* uc); -+ static uintptr_t GetStackPointer(const ucontext_t* uc); - -- static uintptr_t GetInstructionPointer(const struct ucontext* uc); -+ static uintptr_t GetInstructionPointer(const ucontext_t* uc); - - // Juggle a arch-specific ucontext into a minidump format - // out: the minidump structure - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp); - #elif defined(__aarch64__) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); - #else -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); - #endif - }; - -diff --git a/breakpad/src/client/linux/handler/exception_handler.cc b/breakpad/src/client/linux/handler/exception_handler.cc -index b63f973b8..f2688acaf 100644 ---- a/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/breakpad/src/client/linux/handler/exception_handler.cc -@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) { - // Fill in all the holes in the struct to make Valgrind happy. - memset(&g_crash_context_, 0, sizeof(g_crash_context_)); - memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); -- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); -+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); - #if defined(__aarch64__) -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = - (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { -@@ -452,7 +452,7 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) { - // FP state is not part of user ABI on ARM Linux. - // In case of MIPS Linux FP state is already part of struct ucontext - // and 'float_state' is not a member of CrashContext. -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - if (uc_ptr->uc_mcontext.fpregs) { - memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, - sizeof(g_crash_context_.float_state)); -@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { - // ExceptionHandler::HandleSignal(). - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); -- struct ucontext context; -+ ucontext_t context; - getcontext(&context); - return HandleSignal(sig, &siginfo, &context); - } -diff --git a/breakpad/src/client/linux/handler/exception_handler.h b/breakpad/src/client/linux/handler/exception_handler.h -index 591c31085..846df772f 100644 ---- a/breakpad/src/client/linux/handler/exception_handler.h -+++ b/breakpad/src/client/linux/handler/exception_handler.h -@@ -191,7 +191,7 @@ class ExceptionHandler { - struct CrashContext { - siginfo_t siginfo; - pid_t tid; // the crashing thread. -- struct ucontext context; -+ ucontext_t context; - #if !defined(__ARM_EABI__) && !defined(__mips__) - // #ifdef this out because FP state is not part of user ABI for Linux ARM. - // In case of MIPS Linux FP state is already part of struct -diff --git a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -index 6f5b43559..a508667a0 100644 ---- a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -+++ b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -@@ -571,7 +571,7 @@ class MicrodumpWriter { - - void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } - -- const struct ucontext* const ucontext_; -+ const ucontext_t* const ucontext_; - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; - #endif -diff --git a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -index 86009b9f6..f2aec73d7 100644 ---- a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -+++ b/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -@@ -1248,7 +1248,7 @@ class MinidumpWriter { - const int fd_; // File descriptor where the minidum should be written. - const char* path_; // Path to the file where the minidum should be written. - -- const struct ucontext* const ucontext_; // also from the signal handler -+ const ucontext_t* const ucontext_; // also from the signal handler - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; // ditto - #endif --- -2.13.2 - diff --git a/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch b/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch new file mode 100644 index 0000000000..7b70999719 --- /dev/null +++ b/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch @@ -0,0 +1,10 @@ +--- chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc.org 2017-12-09 01:53:55.490672425 +0100 ++++ chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc 2017-12-09 01:54:10.826751406 +0100 +@@ -12,6 +12,7 @@ + + #include + #include ++#include + + #include "p2p/base/common.h" + #include "p2p/base/portallocator.h" diff --git a/packages/addons/browser/chromium/patches/chromium-0012-crc32c-string-view-check.patch b/packages/addons/browser/chromium/patches/chromium-0012-crc32c-string-view-check.patch deleted file mode 100644 index d0d91134df..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0012-crc32c-string-view-check.patch +++ /dev/null @@ -1,74 +0,0 @@ -From d0f929a5db87cb34d03afb0d8e8bfc95b8f786e3 Mon Sep 17 00:00:00 2001 -From: Victor Costan -Date: Mon, 11 Sep 2017 13:18:27 -0700 -Subject: [PATCH] More conservative check for availability. (#4) - -has_include() does not imply that the header can be -included and will work. The assumption fails on MSVC and libc++ [1, 2]. -Conversely, checking that __cplusplus > 201402L is not sufficient on its -own either, as the toolchain on Mac OS 10.12 passes that check but does -not contain a header. - -[1] https://crbug.com/759349 -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433 ---- - include/crc32c/crc32c.h | 10 +++------- - src/crc32c_unittest.cc | 6 ++---- - 2 files changed, 5 insertions(+), 11 deletions(-) - -diff --git a/include/crc32c/crc32c.h b/include/crc32c/crc32c.h -index 9f1973a..8ecab0d 100644 ---- a/third_party/crc32c/src/include/crc32c/crc32c.h -+++ b/third_party/crc32c/src/include/crc32c/crc32c.h -@@ -33,22 +33,18 @@ inline uint32_t Crc32c(const std::string& string) { - string.size()); - } - --#if defined(__has_include) -+#if __cplusplus > 201402L - #if __has_include() --// Visual Studio provides a header even in C++11 mode. When --// included, the header issues an #error. (C1189) --#if !defined(_MSC_VER) || __cplusplus >= 201703L - #include - --// Comptues the CRC32C of the bytes in the string_view. -+// Computes the CRC32C of the bytes in the string_view. - inline uint32_t Crc32c(const std::string_view& string_view) { - return Crc32c(reinterpret_cast(string_view.data()), - string_view.size()); - } - --#endif // !defined(_MSC_VER) || __cplusplus >= 201703L - #endif // __has_include() --#endif // defined(__has_include) -+#endif // __cplusplus > 201402L - - } // namespace crc32c - -diff --git a/src/crc32c_unittest.cc b/src/crc32c_unittest.cc -index 7a9c765..69babb3 100644 ---- a/third_party/crc32c/src/src/crc32c_unittest.cc -+++ b/third_party/crc32c/src/src/crc32c_unittest.cc -@@ -95,9 +95,8 @@ TEST(CRC32CTest, Crc32cStdString) { - EXPECT_EQ(static_cast(0x113fdb5c), crc32c::Crc32c(buf)); - } - --#if defined(__has_include) -+#if __cplusplus > 201402L - #if __has_include() --#if !defined(_MSC_VER) || __cplusplus >= 201703L - - TEST(CRC32CTest, Crc32cStdStringView) { - uint8_t buf[32]; -@@ -118,9 +117,8 @@ TEST(CRC32CTest, Crc32cStdStringView) { - EXPECT_EQ(static_cast(0x113fdb5c), crc32c::Crc32c(view)); - } - --#endif // !defined(_MSC_VER) || __cplusplus >= 201703L - #endif // __has_include() --#endif // defined(__has_include) -+#endif // __cplusplus > 201402L - - #define TESTED_EXTEND Extend - #include "./crc32c_extend_unittests.h"