diff --git a/.abf.yml b/.abf.yml index 2f05d92..d80aaff 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,5 +1,5 @@ sources: - chromium-63.0.3239.132.tar.xz: 2391ccd0a7b78489fe303a21b9c7fcb6781df519 + chromium-64.0.3282.167.tar.xz: 5b6ef0c2a07185a169c2253355c0a8e77bc6b99d depot_tools.tar.xz: 082b7f9a4dfa7eb03900755b4866aef2d73543a5 icons.tar.bz2: a835954af164bf38f8ea4ea80608839bed7800a3 new-system-icons.tar.xz: 89339b8b3b05359a8745ed7968fe148902a2fa28 diff --git a/chromium-52-pdfium-system-libtiff-libpng.patch b/chromium-52-pdfium-system-libtiff-libpng.patch index 11723ec..873dc4d 100644 --- a/chromium-52-pdfium-system-libtiff-libpng.patch +++ b/chromium-52-pdfium-system-libtiff-libpng.patch @@ -25,21 +25,6 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff ] } -diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_pngmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_pngmodule.cpp ---- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_pngmodule.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 -+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_pngmodule.cpp 2017-06-24 00:05:50.523671865 +0200 -@@ -14,10 +14,7 @@ - #include "core/fxge/fx_dib.h" - #include "third_party/base/ptr_util.h" - --extern "C" { --#undef FAR --#include "third_party/libpng16/png.h" --} // extern "C" -+#include - - #define PNG_ERROR_SIZE 256 - diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp --- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 +++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp 2017-06-24 00:05:50.524671846 +0200 @@ -117,7 +102,7 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jp diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn --- chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 +++ chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn 2017-06-24 22:25:18.901585830 +0200 -@@ -354,164 +354,33 @@ +@@ -354,48 +354,14 @@ } } @@ -129,8 +114,12 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-sy - "/wd4018", - ] - } --} -- ++pkg_config("openjpeg_config") { ++ packages = [ ++ "libopenjp2", ++ ] + } + -static_library("fx_libopenjpeg") { - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ @@ -155,91 +144,27 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-sy - "libopenjpeg20/openjpeg.c", - "libopenjpeg20/opj_clock.c", - "libopenjpeg20/pi.c", +- "libopenjpeg20/sparse_array.c", +- "libopenjpeg20/sparse_array.h", - "libopenjpeg20/t1.c", - "libopenjpeg20/t2.c", - "libopenjpeg20/tcd.c", - "libopenjpeg20/tgt.c", - "libopenjpeg20/thread.c", -+pkg_config("openjpeg_config") { -+ packages = [ -+ "libopenjp2", - ] - } - --static_library("fx_lpng") { -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ -- "//build/config/compiler:no_chromium_code", -- ":pdfium_third_party_config", -- ] -- sources = [ -- "libpng16/png.c", -- "libpng16/png.h", -- "libpng16/pngconf.h", -- "libpng16/pngdebug.h", -- "libpng16/pngerror.c", -- "libpng16/pngget.c", -- "libpng16/pnginfo.h", -- "libpng16/pnglibconf.h", -- "libpng16/pngmem.c", -- "libpng16/pngpread.c", -- "libpng16/pngprefix.h", -- "libpng16/pngpriv.h", -- "libpng16/pngread.c", -- "libpng16/pngrio.c", -- "libpng16/pngrtran.c", -- "libpng16/pngrutil.c", -- "libpng16/pngset.c", -- "libpng16/pngstruct.h", -- "libpng16/pngtrans.c", -- "libpng16/pngwio.c", -- "libpng16/pngwrite.c", -- "libpng16/pngwtran.c", -- "libpng16/pngwutil.c", - ] +source_set("fx_libopenjpeg") { + public_configs = [ ":openjpeg_config" ] -+} - -- defines = [] -- cflags = [] -- deps = [ -- ":zlib", -+pkg_config("fx_libpng_config") { -+ packages = [ -+ "libpng", - ] -+} -+ -+source_set("fx_lpng") { -+ public_configs = [ ":fx_libpng_config" ] -+} - -- if (current_cpu == "x86" || current_cpu == "x64") { -- sources += [ -- "libpng16/contrib/intel/filter_sse2_intrinsics.c", -- "libpng16/contrib/intel/intel_init.c", -- ] -- defines += [ "PNG_INTEL_SSE_OPT=1" ] -- } else if ((current_cpu == "arm" || current_cpu == "arm64") && arm_use_neon) { -- sources += [ -- "libpng16/arm/arm_init.c", -- "libpng16/arm/filter_neon_intrinsics.c", -- ] -- defines += [ -- "PNG_ARM_NEON_OPT=2", -- "PNG_ARM_NEON_IMPLEMENTATION=1", -- ] -- } -- -- if (is_win) { -- # Unary minus applied to unsigned type. -- cflags += [ "/wd4146" ] -- } -+config("fx_tiff_config") { -+ libs = [ "tiff" ] } + config("system_libpng_config") { +@@ -474,61 +440,13 @@ + } + } + ++config("fx_tiff_config") { ++ libs = [ "tiff" ] ++} ++ if (pdf_enable_xfa) { - static_library("fx_tiff") { - configs -= [ "//build/config/compiler:chromium_code" ] diff --git a/chromium-55-extra-media.patch b/chromium-55-extra-media.patch index 5667df1..a73e9c7 100644 --- a/chromium-55-extra-media.patch +++ b/chromium-55-extra-media.patch @@ -80,7 +80,7 @@ diff -up chromium-62.0.3192.0/media/base/decode_capabilities.cc.extra-media chro diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chromium-62.0.3192.0/media/base/mime_util_internal.cc --- chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media 2017-08-22 21:04:45.000000000 +0200 +++ chromium-62.0.3192.0/media/base/mime_util_internal.cc 2017-08-30 15:44:46.519076991 +0200 -@@ -73,6 +73,10 @@ const base::flat_map +#include + #include #include - diff --git a/chromium-angle-r0.patch b/chromium-angle-r0.patch new file mode 100644 index 0000000..462b8ae --- /dev/null +++ b/chromium-angle-r0.patch @@ -0,0 +1,89 @@ +From 030017a4855c7b6e7f2ff8d9566c146f31eb301b Mon Sep 17 00:00:00 2001 +From: Kai Ninomiya +Date: Wed, 06 Dec 2017 14:06:53 -0800 +Subject: [PATCH] Mark StaticType related functions as constexpr + +Fixes compilation on some versions of GCC and probably Clang. + +Follow-up to http://crrev.com/c/786317 + +Bug: angleproject:1432 +Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5 +Reviewed-on: https://chromium-review.googlesource.com/812220 +Reviewed-by: Jamie Madill +Commit-Queue: Kai Ninomiya +--- + +diff --git a/third_party/angle/src/compiler/translator/StaticType.h b/third_party/angle/src/compiler/translator/StaticType.h +index e26e5ff..30b391a 100644 +--- a/third_party/angle/src/compiler/translator/StaticType.h ++++ b/third_party/angle/src/compiler/translator/StaticType.h +@@ -160,7 +160,7 @@ + TPrecision precision, + TQualifier qualifier, + unsigned char secondarySize> +-const TType *GetForVecMatHelper(unsigned char primarySize) ++constexpr const TType *GetForVecMatHelper(unsigned char primarySize) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -186,7 +186,7 @@ + template +-const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) ++constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -208,7 +208,7 @@ + } + + template +-const TType *GetForVec(TQualifier qualifier, unsigned char size) ++constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) + { + switch (qualifier) + { +diff --git a/third_party/angle/src/compiler/translator/SymbolTable.cpp b/third_party/angle/src/compiler/translator/SymbolTable.cpp +index adf1e4e..90d4c15 100644 +--- a/third_party/angle/src/compiler/translator/SymbolTable.cpp ++++ b/third_party/angle/src/compiler/translator/SymbolTable.cpp +@@ -236,7 +236,7 @@ + pop(); + } + +-bool IsGenType(const TType *type) ++constexpr bool IsGenType(const TType *type) + { + if (type) + { +@@ -248,7 +248,7 @@ + return false; + } + +-bool IsVecType(const TType *type) ++constexpr bool IsVecType(const TType *type) + { + if (type) + { +diff --git a/third_party/angle/src/compiler/translator/Types.h b/third_party/angle/src/compiler/translator/Types.h +index 04f46f1..a54d447 100644 +--- a/third_party/angle/src/compiler/translator/Types.h ++++ b/third_party/angle/src/compiler/translator/Types.h +@@ -142,13 +142,13 @@ + { + } + +- TBasicType getBasicType() const { return type; } ++ constexpr TBasicType getBasicType() const { return type; } + void setBasicType(TBasicType t); + + TPrecision getPrecision() const { return precision; } + void setPrecision(TPrecision p) { precision = p; } + +- TQualifier getQualifier() const { return qualifier; } ++ constexpr TQualifier getQualifier() const { return qualifier; } + void setQualifier(TQualifier q) { qualifier = q; } + + bool isInvariant() const { return invariant; } diff --git a/chromium-browser-stable.spec b/chromium-browser-stable.spec index e308abb..b22fa15 100644 --- a/chromium-browser-stable.spec +++ b/chromium-browser-stable.spec @@ -22,8 +22,8 @@ Summary: A fast web browser based on the Blink engine Name: chromium-browser-stable -Version: 63.0.3239.132 -Release: 3 +Version: 64.0.3282.167 +Release: 1 License: BSD, LGPL Group: Networking/WWW Url: https://www.chromium.org/Home @@ -44,7 +44,7 @@ Patch0: chromium-54-no-deprecated-error.patch Patch4: chromium-30.0.1599.66-master-prefs-path.patch Patch22: chromium-54-proprietary-codecs-assert.patch -# (cjw) fix a compilation warning +# (cjw) disable werror for a compilation warning that causes the build to fail Patch23: chromium-53-bignum-werror-fix.patch # (cjw) add -Wno-error=depecated-declarations because ffmpeg deprecations cause the build to fail Patch24: chromium-53-ffmpeg-no-deprecation-errors.patch @@ -75,7 +75,7 @@ Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone. # fix build with icu other than 54 Patch504: chromium-system-icu-r0.patch # https://aur.archlinux.org/packages/chromium-vaapi/ -Patch508: chromium-vaapi-r15.patch +Patch508: chromium-vaapi-r16.patch # ROSA Build Patch600: chromium-buildname-60.0.3112.90.patch @@ -84,8 +84,7 @@ Patch601: chromium-62-include-cstdlib.patch # From gentoo Patch602: chromium-gcc5-r4.patch -Patch603: chromium-gcc5-r5.patch -Patch604: chromium-webrtc-r0.patch +Patch605: chromium-angle-r0.patch Provides: %{crname} = %{EVRD} Conflicts: chromium-browser-unstable @@ -285,8 +284,7 @@ members of the Chromium and WebDriver teams. %patch600 -p1 %patch601 -p1 %patch602 -p1 -%patch603 -p1 -%patch604 -p1 -b .webrtc +%patch605 -p1 # files we do not want from upstream source bundles rm -rf breakpad/src/processor/testdata/ @@ -421,6 +419,7 @@ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node use_vaapi=true \ use_system_freetype=true \ use_system_harfbuzz=true \ + use_system_libpng=true \ google_api_key="%{google_api_key}" \ google_default_client_id="%{google_default_client_id}" \ google_default_client_secret="%{google_default_client_secret}" diff --git a/chromium-gcc5-r4.patch b/chromium-gcc5-r4.patch index 5e9d718..e6b17aa 100644 --- a/chromium-gcc5-r4.patch +++ b/chromium-gcc5-r4.patch @@ -31,32 +31,3 @@ } static bool y_flipped(const viz::DrawQuad& input) { ---- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp -+++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp -@@ -480,7 +480,7 @@ WebString AccessControlErrorString( - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - diff --git a/chromium-gcc5-r5.patch b/chromium-gcc5-r5.patch deleted file mode 100644 index a07b973..0000000 --- a/chromium-gcc5-r5.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/WebKit/public/web/WebFrameClient.h -+++ b/third_party/WebKit/public/web/WebFrameClient.h -@@ -507,7 +507,7 @@ - // Returns string to be used as a frame id in the devtools protocol. - // It is derived from the content's devtools_frame_token, is - // defined by the browser and passed into Blink upon frame creation. -- virtual WebString GetInstrumentationToken() { return ""; } -+ virtual WebString GetInstrumentationToken() { return WebString(); } - - // PlzNavigate - // Called to abort a navigation that is being handled by the browser process. diff --git a/chromium-vaapi-r15.patch b/chromium-vaapi-r16.patch similarity index 76% rename from chromium-vaapi-r15.patch rename to chromium-vaapi-r16.patch index b8dff36..0020ea7 100644 --- a/chromium-vaapi-r15.patch +++ b/chromium-vaapi-r16.patch @@ -36,13 +36,11 @@ Change-Id: Ifbbf5c9e5221a8b5733fc6d4d0cf984a1f103171 Signed-off-by: Daniel Charles --- -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 3555293..4c3115f 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -1246,12 +1246,14 @@ - flag_descriptions::kUiPartialSwapDescription, kOsAll, - SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, +@@ -1249,12 +1249,14 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kEnablePreventLayerSquashingDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kEnablePreventLayerSquashing)}, #if BUILDFLAG(ENABLE_WEBRTC) +#if !defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) {"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName, @@ -55,9 +53,9 @@ index 3555293..4c3115f 100644 {"enable-webrtc-hw-h264-encoding", flag_descriptions::kWebrtcHwH264EncodingName, flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS, -@@ -1557,6 +1559,13 @@ - flag_descriptions::kSpuriousPowerButtonLidAngleChangeDescription, kOsCrOS, - MULTI_VALUE_TYPE(kSpuriousPowerButtonLidAngleChangeChoices)}, +@@ -1535,6 +1537,13 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kShowTouchHudDescription, kOsAll, + SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud)}, #endif // OS_CHROMEOS +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) + { @@ -69,7 +67,7 @@ index 3555293..4c3115f 100644 { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -1564,6 +1573,7 @@ +@@ -1542,6 +1551,7 @@ const FeatureEntry kFeatureEntries[] = { kOsMac | kOsWin | kOsCrOS | kOsAndroid, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, @@ -77,9 +75,9 @@ index 3555293..4c3115f 100644 {"mojo-video-encode-accelerator", flag_descriptions::kMojoVideoEncodeAcceleratorName, flag_descriptions::kMojoVideoEncodeAcceleratorDescription, -@@ -2229,12 +2239,17 @@ - FEATURE_VALUE_TYPE(features::kWebVrVsyncAlign)}, - #endif // OS_ANDROID +@@ -2270,12 +2280,17 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kOpenVR)}, + #endif // ENABLE_OPENVR #endif // ENABLE_VR -#if defined(OS_CHROMEOS) +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) @@ -97,8 +95,6 @@ index 3555293..4c3115f 100644 {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, 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 3815e79..d5d3712 100644 --- a/chrome/browser/chromeos/login/chrome_restart_request.cc +++ b/chrome/browser/chromeos/login/chrome_restart_request.cc @@ -19,6 +19,7 @@ @@ -109,7 +105,7 @@ index 3815e79..d5d3712 100644 #include "cc/base/switches.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/boot_times_recorder.h" -@@ -79,8 +80,13 @@ +@@ -84,8 +85,13 @@ void DeriveCommandLine(const GURL& start ::switches::kDisable2dCanvasImageChromium, ::switches::kDisableAccelerated2dCanvas, ::switches::kDisableAcceleratedJpegDecoding, @@ -123,7 +119,7 @@ index 3815e79..d5d3712 100644 ::switches::kDisableBlinkFeatures, ::switches::kDisableCastStreamingHWEncoding, ::switches::kDisableDistanceFieldText, -@@ -166,7 +172,7 @@ +@@ -166,7 +172,7 @@ void DeriveCommandLine(const GURL& start ::switches::kDisableWebGLImageChromium, ::switches::kEnableWebGLImageChromium, ::switches::kEnableWebVR, @@ -132,11 +128,9 @@ index 3815e79..d5d3712 100644 ::switches::kDisableWebRtcHWDecoding, ::switches::kDisableWebRtcHWEncoding, #endif -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 74e6bc7..ab184a5 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -14,6 +14,13 @@ +@@ -19,6 +19,13 @@ const char kAccelerated2dCanvasDescripti "Enables the use of the GPU to perform 2d canvas rendering instead of " "using software rendering."; @@ -150,7 +144,7 @@ index 74e6bc7..ab184a5 100644 const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode"; const char kAcceleratedVideoDecodeDescription[] = "Hardware-accelerated video decode where available."; -@@ -1478,6 +1485,7 @@ +@@ -1572,6 +1579,7 @@ const char kWebrtcEchoCanceller3Name[] = const char kWebrtcEchoCanceller3Description[] = "Experimental WebRTC echo canceller (AEC3)."; @@ -158,7 +152,7 @@ index 74e6bc7..ab184a5 100644 const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding"; const char kWebrtcHwDecodingDescription[] = "Support in WebRTC for decoding video streams using platform hardware."; -@@ -1485,6 +1493,7 @@ +@@ -1579,6 +1587,7 @@ const char kWebrtcHwDecodingDescription[ const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding"; const char kWebrtcHwEncodingDescription[] = "Support in WebRTC for encoding video streams using platform hardware."; @@ -166,7 +160,7 @@ index 74e6bc7..ab184a5 100644 const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding"; const char kWebrtcHwH264EncodingDescription[] = -@@ -2283,14 +2292,16 @@ +@@ -2390,14 +2399,16 @@ const char kTranslateNewUxDescription[] // Chrome OS ------------------------------------------------------------------- @@ -184,11 +178,9 @@ index 74e6bc7..ab184a5 100644 const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click"; 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 54a4950..5ace5e0 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -37,6 +37,10 @@ +@@ -37,6 +37,10 @@ namespace flag_descriptions { extern const char kAccelerated2dCanvasName[]; extern const char kAccelerated2dCanvasDescription[]; @@ -199,7 +191,7 @@ index 54a4950..5ace5e0 100644 extern const char kAcceleratedVideoDecodeName[]; extern const char kAcceleratedVideoDecodeDescription[]; -@@ -1401,13 +1405,17 @@ +@@ -1480,13 +1484,17 @@ extern const char kPermissionPromptPersi #endif // defined(OS_MACOSX) @@ -220,11 +212,9 @@ index 54a4950..5ace5e0 100644 extern const char kAllowTouchpadThreeFingerClickName[]; extern const char kAllowTouchpadThreeFingerClickDescription[]; -diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc -index 122282d..bc102a3 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc -@@ -105,7 +105,11 @@ +@@ -103,7 +103,11 @@ const GpuFeatureInfo GetGpuFeatureInfo(s {"video_decode", manager->IsFeatureBlacklisted( gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE), @@ -236,23 +226,9 @@ index 122282d..bc102a3 100644 "Accelerated video decode has been disabled, either via blacklist," " about:flags or the command line.", true}, -@@ -113,7 +117,11 @@ - {"video_encode", - manager->IsFeatureBlacklisted( - gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE), -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ !command_line.HasSwitch(switches::kEnableAcceleratedVideo), -+#else - command_line.HasSwitch(switches::kDisableWebRtcHWEncoding), -+#endif - "Accelerated video encode has been disabled, either via blacklist," - " 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 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 @@ +@@ -709,7 +709,11 @@ void GpuDataManagerImplPrivate::AppendRe DCHECK(command_line); if (ShouldDisableAcceleratedVideoDecode(command_line)) @@ -261,24 +237,12 @@ index 51aa672..963da85 100644 +#else command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); +#endif + } - #if defined(USE_AURA) - if (!CanUseGpuBrowserCompositor()) -@@ -748,7 +752,11 @@ + void GpuDataManagerImplPrivate::AppendGpuCommandLine( +@@ -810,7 +814,12 @@ void GpuDataManagerImplPrivate::UpdateRe + prefs->accelerated_2d_canvas_enabled = false; } - - if (ShouldDisableAcceleratedVideoDecode(command_line)) { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ command_line->AppendSwitch(switches::kEnableAcceleratedVideo); -+#else - command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); -+#endif - } - - #if defined(USE_OZONE) -@@ -826,7 +834,12 @@ - const base::CommandLine* command_line = - base::CommandLine::ForCurrentProcess(); if (!ShouldDisableAcceleratedVideoDecode(command_line) && - !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) @@ -290,10 +254,10 @@ index 51aa672..963da85 100644 prefs->pepper_accelerated_video_decode_enabled = true; } } -@@ -1016,7 +1029,13 @@ - // to resolve crbug/442039 has been collected. - const std::string group_name = base::FieldTrialList::FindFullName( - "DisableAcceleratedVideoDecode"); +@@ -959,7 +968,13 @@ bool GpuDataManagerImplPrivate::UpdateAc + + bool GpuDataManagerImplPrivate::ShouldDisableAcceleratedVideoDecode( + const base::CommandLine* command_line) const { - if (command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { + if ( +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) @@ -305,36 +269,31 @@ index 51aa672..963da85 100644 // It was already disabled on the command line. return false; } -diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 95d4dff..9b26d3f 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -111,7 +111,11 @@ - - // Command-line switches to propagate to the GPU process. - static const char* const kSwitchNames[] = { +@@ -114,13 +114,18 @@ static const char* const kSwitchNames[] + service_manager::switches::kDisableSeccompFilterSandbox, + service_manager::switches::kGpuSandboxAllowSysVShm, + service_manager::switches::kGpuSandboxFailuresFatal, +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) + switches::kEnableAcceleratedVideo, +#else - switches::kDisableAcceleratedVideoDecode, ++ switches::kDisableAcceleratedVideoDecode, +#endif switches::kDisableBreakpad, switches::kDisableGpuRasterization, switches::kDisableGpuSandbox, -@@ -120,7 +124,7 @@ + switches::kDisableGLExtensions, switches::kDisableLogging, - switches::kDisableSeccompFilterSandbox, switches::kDisableShaderNameHashing, -#if BUILDFLAG(ENABLE_WEBRTC) +#if BUILDFLAG(ENABLE_WEBRTC) && !defined(OS_LINUX) switches::kDisableWebRtcHWEncoding, #endif #if defined(OS_WIN) -diff --git a/content/browser/renderer_host/media/video_capture_browsertest.cc b/content/browser/renderer_host/media/video_capture_browsertest.cc -index 8ca0ad0..8c489d0 100644 --- a/content/browser/renderer_host/media/video_capture_browsertest.cc +++ b/content/browser/renderer_host/media/video_capture_browsertest.cc -@@ -155,8 +155,13 @@ +@@ -164,8 +164,13 @@ class VideoCaptureBrowserTest : public C base::CommandLine::ForCurrentProcess()->AppendSwitch( switches::kUseFakeJpegDecodeAccelerator); } else { @@ -346,13 +305,11 @@ index 8ca0ad0..8c489d0 100644 switches::kDisableAcceleratedMjpegDecode); +#endif } - 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 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 @@ +@@ -64,15 +64,21 @@ void VideoCaptureGpuJpegDecoder::Initial bool is_platform_supported = base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kUseFakeJpegDecodeAccelerator); @@ -378,11 +335,9 @@ index 34afec23..ad77490 100644 decoder_status_ = FAILED; 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 fbe4d21..1be295e 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2506,7 +2506,11 @@ +@@ -2526,7 +2526,11 @@ void RenderProcessHostImpl::PropagateBro switches::kDefaultTileHeight, switches::kDisable2dCanvasImageChromium, switches::kDisableAcceleratedJpegDecoding, @@ -394,7 +349,7 @@ index fbe4d21..1be295e 100644 switches::kDisableBackgroundTimerThrottling, switches::kDisableBreakpad, switches::kDisableBrowserSideNavigation, -@@ -2660,8 +2664,10 @@ +@@ -2674,8 +2678,10 @@ void RenderProcessHostImpl::PropagateBro switches::kDisableMojoRenderer, #endif #if BUILDFLAG(ENABLE_WEBRTC) @@ -405,11 +360,9 @@ index fbe4d21..1be295e 100644 switches::kEnableWebRtcSrtpAesGcm, switches::kEnableWebRtcSrtpEncryptedHeaders, switches::kEnableWebRtcStunOrigin, -diff --git a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc -index 3d815a2..2c96048 100644 --- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc +++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc -@@ -58,7 +58,12 @@ +@@ -58,7 +58,12 @@ class WebRtcMediaRecorderTest return; // This flag is also used for encoding, https://crbug.com/616640. base::CommandLine::ForCurrentProcess()->AppendSwitch( @@ -423,11 +376,9 @@ index 3d815a2..2c96048 100644 } private: -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index a5424bb..b68b802 100644 --- a/content/gpu/BUILD.gn +++ b/content/gpu/BUILD.gn -@@ -45,7 +45,6 @@ +@@ -48,7 +48,6 @@ target(link_target_type, "gpu_sources") ] configs += [ "//content:content_implementation" ] @@ -435,20 +386,18 @@ index a5424bb..b68b802 100644 deps = [ "//base", "//base/third_party/dynamic_annotations", -@@ -114,4 +113,8 @@ - if (enable_vulkan) { - deps += [ "//gpu/vulkan" ] +@@ -124,4 +123,8 @@ target(link_target_type, "gpu_sources") + if (is_desktop_linux && (!is_chromecast || is_cast_desktop_build)) { + configs += [ "//build/config/linux/dri" ] } + + if (is_desktop_linux) { + public_configs = [ "//media/gpu:libva_config" ] + } } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index 556cf00..730f4ae 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -254,7 +254,7 @@ +@@ -271,7 +271,7 @@ int GpuMain(const MainFunctionParams& pa // Initializes StatisticsRecorder which tracks UMA histograms. base::StatisticsRecorder::Initialize(); @@ -457,7 +406,7 @@ index 556cf00..730f4ae 100644 // Set thread priority before sandbox initialization. base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); #endif -@@ -283,7 +283,7 @@ +@@ -300,7 +300,7 @@ int GpuMain(const MainFunctionParams& pa GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; @@ -466,8 +415,6 @@ index 556cf00..730f4ae 100644 io_thread_priority = base::ThreadPriority::DISPLAY; #endif -diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc -index 6aafb06..d4ddd8d 100644 --- a/content/public/browser/gpu_utils.cc +++ b/content/public/browser/gpu_utils.cc @@ -7,6 +7,7 @@ @@ -478,9 +425,9 @@ index 6aafb06..d4ddd8d 100644 #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); +@@ -55,12 +56,19 @@ const gpu::GpuPreferences GetGpuPreferen + gpu_preferences.in_process_gpu = + command_line->HasSwitch(switches::kInProcessGPU); gpu_preferences.disable_accelerated_video_decode = +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) + !command_line->HasSwitch(switches::kEnableAcceleratedVideo); @@ -500,11 +447,9 @@ index 6aafb06..d4ddd8d 100644 gpu_preferences.disable_web_rtc_hw_encoding = command_line->HasSwitch(switches::kDisableWebRtcHWEncoding); #endif -diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc -index 4e699d1..3a7a2b7 100644 --- a/content/public/common/content_switches.cc +++ b/content/public/common/content_switches.cc -@@ -89,12 +89,21 @@ +@@ -78,12 +78,21 @@ const char kDisable3DAPIs[] // Disable gpu-accelerated 2d canvas. const char kDisableAccelerated2dCanvas[] = "disable-accelerated-2d-canvas"; @@ -527,7 +472,7 @@ index 4e699d1..3a7a2b7 100644 // Disables hardware acceleration of video decode, where available. const char kDisableAcceleratedVideoDecode[] = "disable-accelerated-video-decode"; -@@ -932,11 +941,13 @@ +@@ -903,11 +912,13 @@ const char kZygoteProcess[] // ignores this switch on its stable and beta channels. const char kDisableWebRtcEncryption[] = "disable-webrtc-encryption"; @@ -541,11 +486,9 @@ index 4e699d1..3a7a2b7 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 2704924..67d00bb 100644 --- a/content/public/common/content_switches.h +++ b/content/public/common/content_switches.h -@@ -35,7 +35,11 @@ +@@ -33,7 +33,11 @@ CONTENT_EXPORT extern const char kDisabl CONTENT_EXPORT extern const char kDisable3DAPIs[]; CONTENT_EXPORT extern const char kDisableAccelerated2dCanvas[]; CONTENT_EXPORT extern const char kDisableAcceleratedJpegDecoding[]; @@ -557,7 +500,7 @@ index 2704924..67d00bb 100644 CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[]; CONTENT_EXPORT extern const char kDisableAudioSupportForDesktopShare[]; extern const char kDisableBackingStoreLimit[]; -@@ -109,6 +113,9 @@ +@@ -107,6 +111,9 @@ CONTENT_EXPORT extern const char kDisabl CONTENT_EXPORT extern const char kDomAutomationController[]; extern const char kDisable2dCanvasClipAntialiasing[]; CONTENT_EXPORT extern const char kDumpBlinkRuntimeCallStats[]; @@ -567,7 +510,7 @@ index 2704924..67d00bb 100644 CONTENT_EXPORT extern const char kEnableAggressiveDOMStorageFlushing[]; CONTENT_EXPORT extern const char kEnableAutomation[]; CONTENT_EXPORT extern const char kEnablePreferCompositingToLCDText[]; -@@ -256,8 +263,10 @@ +@@ -248,8 +255,10 @@ CONTENT_EXPORT extern const char kZygote #if BUILDFLAG(ENABLE_WEBRTC) CONTENT_EXPORT extern const char kDisableWebRtcEncryption[]; @@ -578,11 +521,9 @@ index 2704924..67d00bb 100644 CONTENT_EXPORT extern const char kEnableWebRtcSrtpAesGcm[]; 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 017056c..825bdce 100644 --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -@@ -239,10 +239,19 @@ +@@ -243,10 +243,19 @@ void PeerConnectionDependencyFactory::In const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { @@ -603,11 +544,9 @@ index 017056c..825bdce 100644 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); } } -diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index dc01117..2f9ee03 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1456,7 +1456,11 @@ +@@ -1495,7 +1495,11 @@ media::GpuVideoAcceleratorFactories* Ren scoped_refptr media_task_runner = GetMediaThreadTaskRunner(); const bool enable_video_accelerator = @@ -617,26 +556,11 @@ index dc01117..2f9ee03 100644 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); +#endif const bool enable_gpu_memory_buffer_video_frames = + !is_gpu_compositing_disabled_ && #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 b37c2cc..a721eb7 100644 ---- a/gpu/command_buffer/service/gpu_preferences.h -+++ b/gpu/command_buffer/service/gpu_preferences.h -@@ -50,7 +50,7 @@ - // Disables hardware acceleration of video decode, where available. - bool disable_accelerated_video_decode = false; - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - // Disables VA-API accelerated video encode. - 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 1289a55..22e11e5 100644 --- a/gpu/config/software_rendering_list.json +++ b/gpu/config/software_rendering_list.json -@@ -374,17 +374,6 @@ +@@ -373,17 +373,6 @@ ] }, { @@ -654,24 +578,9 @@ index 1289a55..22e11e5 100644 "id": 50, "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 490722c..1cda2fb 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -189,7 +189,7 @@ - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_chromeos) { -+ if (current_cpu != "arm" && (is_chromeos || is_desktop_linux)) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 729c6fa..4878251 100644 --- a/media/gpu/BUILD.gn +++ b/media/gpu/BUILD.gn -@@ -24,6 +24,14 @@ +@@ -25,6 +25,14 @@ if (is_mac) { import("//build/config/mac/mac_sdk.gni") } @@ -685,22 +594,21 @@ index 729c6fa..4878251 100644 + if (use_vaapi) { action("libva_generate_stubs") { - extra_header = "va_stub_header.fragment" -@@ -334,6 +342,9 @@ - "vaapi_drm_picture.h", - ] + extra_header = "vaapi/va_stub_header.fragment" +@@ -356,6 +364,10 @@ component("gpu") { + if (use_ozone) { + deps += [ "//ui/ozone" ] } ++ + if (is_desktop_linux) { + public_configs = [ ":libva_config" ] + } } if (is_win) { -diff --git a/media/gpu/gpu_video_decode_accelerator_factory.cc b/media/gpu/gpu_video_decode_accelerator_factory.cc -index 2cee490..de02414 100644 --- a/media/gpu/gpu_video_decode_accelerator_factory.cc +++ b/media/gpu/gpu_video_decode_accelerator_factory.cc -@@ -87,6 +87,7 @@ +@@ -87,6 +87,7 @@ GpuVideoDecodeAcceleratorFactory::GetDec // profile (instead of calculating a superset). // TODO(posciak,henryhsu): improve this so that we choose a superset of // resolutions and other supported profile parameters. @@ -708,15 +616,3 @@ index 2cee490..de02414 100644 #if defined(OS_WIN) capabilities.supported_profiles = DXVAVideoDecodeAccelerator::GetSupportedProfiles(gpu_preferences, -diff --git a/media/gpu/vaapi_wrapper.cc b/media/gpu/vaapi_wrapper.cc -index 1e72893..6495642 100644 ---- a/media/gpu/vaapi_wrapper.cc -+++ b/media/gpu/vaapi_wrapper.cc -@@ -1117,6 +1117,7 @@ - if (drm_file.IsValid()) - GetDisplayState()->SetDrmFd(drm_file.GetPlatformFile()); - #endif -+ GetProfileInfos(); // dlopen all necessary libraries - } - - // static diff --git a/chromium-webrtc-r0.patch b/chromium-webrtc-r0.patch deleted file mode 100644 index e14b185..0000000 --- a/chromium-webrtc-r0.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 13 Oct 2017 15:49:32 +0200 -Subject: [PATCH] IWYU: Include math.h for round(3). - -math.h was being implicitly included, which can break the build with -alternative libc implementations. - -Bug: None -Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952 -Reviewed-on: https://webrtc-review.googlesource.com/9384 -Reviewed-by: Tommi -Commit-Queue: Raphael Kubo da Costa (rakuco) -Cr-Commit-Position: refs/heads/master@{#20292} ---- - p2p/base/port.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/p2p/base/port.cc b/p2p/base/port.cc -index a1b478d11..81aa0aadb 100644 ---- a/third_party/webrtc/p2p/base/port.cc -+++ b/third_party/webrtc/p2p/base/port.cc -@@ -10,6 +10,8 @@ - - #include "p2p/base/port.h" - -+#include -+ - #include - #include - --- -2.15.0.rc2 -