diff --git a/.gitignore b/.gitignore index 8f49a5fc..c78bbdf0 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,5 @@ /chromium-70.0.3538.110-clean.tar.xz /chromium-71.0.3578.98-clean.tar.xz /node-v8.9.1-linux-x64.tar.gz +/chromium-72.0.3626.121-clean.tar.xz +/chromium-73.0.3683.75-clean.tar.xz diff --git a/chromium-70.0.3538.110-vaapi-i686-fpermissive.patch b/chromium-70.0.3538.110-vaapi-i686-fpermissive.patch deleted file mode 100644 index 96784884..00000000 --- a/chromium-70.0.3538.110-vaapi-i686-fpermissive.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-70.0.3538.110/media/gpu/vaapi/BUILD.gn.i686permissive chromium-70.0.3538.110/media/gpu/vaapi/BUILD.gn ---- chromium-70.0.3538.110/media/gpu/vaapi/BUILD.gn.i686permissive 2018-11-29 09:27:02.405909871 -0500 -+++ chromium-70.0.3538.110/media/gpu/vaapi/BUILD.gn 2018-11-29 09:29:50.648259696 -0500 -@@ -10,6 +10,11 @@ import("//ui/ozone/ozone.gni") - - assert(use_vaapi) - -+config("vaapi_permissive") { -+ cflags = [ "-fpermissive" ] -+} -+ -+ - action("libva_generate_stubs") { - extra_header = "va_stub_header.fragment" - -@@ -98,6 +103,8 @@ source_set("vaapi") { - "//third_party/libyuv", - ] - -+ configs += [ ":vaapi_permissive" ] -+ - if (use_x11) { - configs += [ "//build/config/linux:x11" ] - deps += [ "//ui/gfx/x" ] diff --git a/chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch b/chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch new file mode 100644 index 00000000..d071e814 --- /dev/null +++ b/chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch @@ -0,0 +1,12 @@ +diff -up chromium-71.0.3578.98/third_party/tcmalloc/gperftools-2.0/chromium/src/base/linux_syscall_support.h.gcc9 chromium-71.0.3578.98/third_party/tcmalloc/gperftools-2.0/chromium/src/base/linux_syscall_support.h +--- chromium-71.0.3578.98/third_party/tcmalloc/gperftools-2.0/chromium/src/base/linux_syscall_support.h.gcc9 2019-01-08 13:27:25.193614727 -0500 ++++ chromium-71.0.3578.98/third_party/tcmalloc/gperftools-2.0/chromium/src/base/linux_syscall_support.h 2019-01-08 13:27:35.161392234 -0500 +@@ -1231,7 +1231,7 @@ typedef unsigned long int ulong; + "d"(LSS_SYSCALL_ARG(parent_tidptr)), + "r"(LSS_SYSCALL_ARG(newtls)), + "r"(LSS_SYSCALL_ARG(child_tidptr)) +- : "rsp", "memory", "r8", "r10", "r11", "rcx"); ++ : "memory", "r8", "r10", "r11", "rcx"); + } + LSS_RETURN(int, __res); + } diff --git a/chromium-71.0.3578.98-widevine-r3.patch b/chromium-71.0.3578.98-widevine-r3.patch index a8deaf0c..8d875c69 100644 --- a/chromium-71.0.3578.98-widevine-r3.patch +++ b/chromium-71.0.3578.98-widevine-r3.patch @@ -1,11 +1,22 @@ -diff -up chromium-71.0.3578.98/third_party/widevine/cdm/BUILD.gn.wvhack chromium-71.0.3578.98/third_party/widevine/cdm/BUILD.gn -diff -up chromium-71.0.3578.98/third_party/widevine/cdm/widevine_cdm_version.h.wvhack chromium-71.0.3578.98/third_party/widevine/cdm/widevine_cdm_version.h ---- chromium-71.0.3578.98/third_party/widevine/cdm/widevine_cdm_version.h.wvhack 2018-12-14 11:58:37.918972853 -0500 -+++ chromium-71.0.3578.98/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-14 11:58:57.327554078 -0500 -@@ -11,5 +11,6 @@ - // If the Widevine CDM is available define the following: +diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc +--- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-21 20:16:43.000000000 +0000 ++++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-21 21:34:28.658206942 +0000 +@@ -99,7 +99,7 @@ + // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is + // bundled and not a component. When the Widevine CDM is a component, it is + // registered in widevine_cdm_component_installer.cc. +-#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) ++#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) + #define REGISTER_BUNDLED_WIDEVINE_CDM + #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck + // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support +diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h +--- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 20:18:01.000000000 +0000 ++++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 21:37:45.635374949 +0000 +@@ -12,4 +12,6 @@ // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available // as a string, e.g., "1.0.123.456"). -+#define WIDEVINE_CDM_VERSION_STRING "unknown" ++#define WIDEVINE_CDM_VERSION_STRING "unknown" ++ #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/chromium-72.0.3626.121-fedora-user-agent.patch b/chromium-72.0.3626.121-fedora-user-agent.patch new file mode 100644 index 00000000..5cef6f01 --- /dev/null +++ b/chromium-72.0.3626.121-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent chromium-72.0.3626.121/content/common/user_agent.cc +--- chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent 2019-03-10 14:21:02.877454982 -0400 ++++ chromium-72.0.3626.121/content/common/user_agent.cc 2019-03-10 14:22:05.728812272 -0400 +@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MACOSX) + "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- "X11; "; // strange, but that's what Firefox uses ++ "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + "Linux; "; + #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-72.0.3626.121-fix-va-check.patch b/chromium-72.0.3626.121-fix-va-check.patch new file mode 100644 index 00000000..aa0eb711 --- /dev/null +++ b/chromium-72.0.3626.121-fix-va-check.patch @@ -0,0 +1,29 @@ +diff -up chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc +--- chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck 2019-03-10 14:54:38.744305074 -0400 ++++ chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc 2019-03-10 14:55:34.383221574 -0400 +@@ -334,15 +334,16 @@ bool VADisplayState::InitializeOnce() { + << va_vendor_string_; + + // The VAAPI version is determined from what is loaded on the system by +- // calling vaInitialize(). We want a runtime evaluation of libva version, +- // of what is loaded on the system, with, what browser is compiled with. +- // Also since the libva is now ABI-compatible, relax the version check +- // which helps in upgrading the libva, without breaking any existing +- // functionality. +- if (!VA_CHECK_VERSION(major_version, minor_version, 0)) { +- LOG(ERROR) << "This build of Chromium requires VA-API version " +- << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION +- << ", system version: " << major_version << "." << minor_version; ++ // calling vaInitialize(). Since the libva is now ABI-compatible, relax the ++ // version check which helps in upgrading the libva, without breaking any ++ // existing functionality. Make sure the system version is not older than ++ // the version with which the chromium is built since libva is only ++ // guaranteed to be backward (and not forward) compatible. ++ if (VA_MAJOR_VERSION > major_version || ++ (VA_MAJOR_VERSION == major_version && VA_MINOR_VERSION > minor_version)) { ++ LOG(ERROR) << "The system version " << major_version << "." << minor_version ++ << " should be greater than or equal to " ++ << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION; + return false; + } + return true; diff --git a/chromium-72.0.3626.121-gcc5-r3.patch b/chromium-72.0.3626.121-gcc5-r3.patch new file mode 100644 index 00000000..f4cf40b2 --- /dev/null +++ b/chromium-72.0.3626.121-gcc5-r3.patch @@ -0,0 +1,36 @@ +diff -up chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-03-01 23:10:21.000000000 -0500 ++++ chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h 2019-03-10 14:07:48.300244125 -0400 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-03-01 23:10:31.000000000 -0500 ++++ chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-03-10 14:07:48.303244046 -0400 +@@ -340,7 +340,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-03-10 14:07:48.307243941 -0400 ++++ chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-03-10 14:09:16.565920044 -0400 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + #include + #include + #include diff --git a/chromium-72.0.3626.121-norar.patch b/chromium-72.0.3626.121-norar.patch new file mode 100644 index 00000000..d5d2632a --- /dev/null +++ b/chromium-72.0.3626.121-norar.patch @@ -0,0 +1,79 @@ +diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn +--- chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-10 14:15:47.187705953 -0400 ++++ chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn 2019-03-10 14:16:47.154138649 -0400 +@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) { + ] + } + +- source_set("rar_analyzer") { +- sources = [ +- "rar_analyzer.cc", +- "rar_analyzer.h", +- ] +- +- deps = [ +- ":archive_analyzer_results", +- ":download_type_util", +- ":file_type_policies", +- "//base", +- "//base:i18n", +- "//third_party/unrar:unrar", +- ] +- +- defines = [ +- "_FILE_OFFSET_BITS=64", +- "LARGEFILE_SOURCE", +- "RAR_SMP", +- "SILENT", +- +- # The following is set to disable certain macro definitions in the unrar +- # source code. +- "CHROMIUM_UNRAR", +- +- # Disables exceptions in unrar, replaces them with process termination. +- "UNRAR_NO_EXCEPTIONS", +- ] +- +- public_deps = [ +- "//components/safe_browsing:csd_proto", +- ] +- } +- + source_set("disk_image_type_sniffer_mac") { + sources = [ + "disk_image_type_sniffer_mac.cc", +@@ -150,7 +116,6 @@ source_set("safe_browsing") { + deps += [ + ":archive_analyzer_results", + ":download_type_util", +- ":rar_analyzer", + "//components/safe_browsing:features", + ] + +diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS +--- chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar 2019-03-01 23:10:03.000000000 -0500 ++++ chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS 2019-03-10 14:14:55.430058716 -0400 +@@ -1,6 +1,5 @@ + include_rules = [ + "+components/safe_browsing", + "+third_party/protobuf", +- "+third_party/unrar", + "+third_party/zlib", + ] +diff -up chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-01 23:10:04.000000000 -0500 ++++ chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-10 14:14:55.433058638 -0400 +@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile + + void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + + safe_browsing::ArchiveAnalyzerResults results; + safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); + std::move(callback).Run(results); ++#else ++ NOTREACHED(); ++#endif + } diff --git a/chromium-72.0.3626.121-notest.patch b/chromium-72.0.3626.121-notest.patch new file mode 100644 index 00000000..e8b7bf4d --- /dev/null +++ b/chromium-72.0.3626.121-notest.patch @@ -0,0 +1,11 @@ +diff -up chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd +--- chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest 2019-03-10 13:54:17.843583876 -0400 ++++ chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd 2019-03-10 14:03:29.302063637 -0400 +@@ -8,7 +8,6 @@ + + + +- + + + diff --git a/chromium-73-gcc-0.patch b/chromium-73-gcc-0.patch new file mode 100644 index 00000000..5a50700f --- /dev/null +++ b/chromium-73-gcc-0.patch @@ -0,0 +1,108 @@ +From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Thu, 7 Feb 2019 22:55:37 +0000 +Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's + positions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build. GCC seems to be stricter with the position of the +linkage specification, so just swap the terms to prevent an error that looks +like: + +In file included from ../../base/allocator/allocator_shim.cc:333: +../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant + #define ALIGN_LINKAGE extern "C" + ^~~ +../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ‘ALIGN_LINKAGE’ + SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, + ^~~~~~~~~~~~~ + +Bug: 819294 +Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50 +Reviewed-on: https://chromium-review.googlesource.com/c/1458256 +Auto-Submit: Raphael Kubo da Costa +Reviewed-by: Thomas Anderson +Reviewed-by: Primiano Tucci +Commit-Queue: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#630084} +--- + .../allocator_shim_override_cpp_symbols.h | 20 +++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h +index 1228f5e33d28..01d25b7f6437 100644 +--- a/base/allocator/allocator_shim_override_cpp_symbols.h ++++ b/base/allocator/allocator_shim_override_cpp_symbols.h +@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size, + ALIGN_VAL_T alignment) { + return ShimCppAlignedNew(size, static_cast(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW( ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW( + std::size_t size, + ALIGN_VAL_T alignment, + const std::nothrow_t&) __THROW { + return ShimCppAlignedNew(size, static_cast(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p, + std::size_t size, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void + ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size, + ALIGN_VAL_T alignment) { + return ShimCppAlignedNew(size, static_cast(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW( ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW( + std::size_t size, + ALIGN_VAL_T alignment, + const std::nothrow_t&) __THROW { + return ShimCppAlignedNew(size, static_cast(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p, + std::size_t size, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void + ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { + ShimCppDelete(p); + } +-- +2.20.1 + diff --git a/chromium-73-gcc-1.patch b/chromium-73-gcc-1.patch new file mode 100644 index 00000000..c3f8e42d --- /dev/null +++ b/chromium-73-gcc-1.patch @@ -0,0 +1,99 @@ +From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Fri, 8 Feb 2019 16:58:38 +0000 +Subject: [PATCH] media::learning: Make LabelledExample's move assignment + operator noexcept +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The GCC build is currently broken with an error like this: + + ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; + ^~~~~~~~~~~~~~~ + +With GCC, having that noexcept marker requires all members to be marked with +noexcept themselves, and TargetValue was missing some assignment operators +and noexcept markers. + +clang is fine because we pass -fno-exceptions and it disables the same error +there, while GCC continues to raise it (bug 843143 and its corresponding CL +have a longer discussion on this issue). + +Bug: 819294 +Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 +Reviewed-on: https://chromium-review.googlesource.com/c/1458210 +Commit-Queue: Frank Liberato +Reviewed-by: Frank Liberato +Auto-Submit: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#630355} +--- + media/learning/common/labelled_example.cc | 3 ++- + media/learning/common/labelled_example.h | 2 +- + media/learning/common/value.cc | 6 ++++++ + media/learning/common/value.h | 4 ++++ + 4 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc +index 76d08509298e..43e834f9f3cf 100644 +--- a/media/learning/common/labelled_example.cc ++++ b/media/learning/common/labelled_example.cc +@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { + LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = + default; + +-LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; ++LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = ++ default; + + TrainingData::TrainingData() = default; + +diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h +index 4f43c54e7a76..365abc3c0ebf 100644 +--- a/media/learning/common/labelled_example.h ++++ b/media/learning/common/labelled_example.h +@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { + bool operator<(const LabelledExample& rhs) const; + + LabelledExample& operator=(const LabelledExample& rhs); +- LabelledExample& operator=(LabelledExample&& rhs); ++ LabelledExample& operator=(LabelledExample&& rhs) noexcept; + + // Observed feature values. + // Note that to interpret these values, you probably need to have the +diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc +index 9c9395c25d4e..12ea399d24c3 100644 +--- a/media/learning/common/value.cc ++++ b/media/learning/common/value.cc +@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} + + Value::Value(const Value& other) : value_(other.value_) {} + ++Value::Value(Value&& rhs) noexcept = default; ++ ++Value& Value::operator=(const Value& rhs) = default; ++ ++Value& Value::operator=(Value&& rhs) noexcept = default; ++ + bool Value::operator==(const Value& rhs) const { + return value_ == rhs.value_; + } +diff --git a/media/learning/common/value.h b/media/learning/common/value.h +index 0e64da961f34..62f4953f691c 100644 +--- a/media/learning/common/value.h ++++ b/media/learning/common/value.h +@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { + explicit Value(const std::string& x); + + Value(const Value& other); ++ Value(Value&&) noexcept; ++ ++ Value& operator=(const Value&); ++ Value& operator=(Value&&) noexcept; + + bool operator==(const Value& rhs) const; + bool operator!=(const Value& rhs) const; +-- +2.20.1 + diff --git a/chromium-73-gcc-2.patch b/chromium-73-gcc-2.patch new file mode 100644 index 00000000..9d1f05a4 --- /dev/null +++ b/chromium-73-gcc-2.patch @@ -0,0 +1,51 @@ +From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Fri, 8 Feb 2019 02:57:28 +0000 +Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the build with libstdc++: + + ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: + ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ + std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + ^~~~~ + ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ + std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + ^~~~~ + sqrt + +sqrtf() is not formally part of C++14 as far as I can see even though libc++ +has it in . Additionally, we're only dealing with floats in all parts +of the expression above, so using the float sqrt() overload should be +harmless anyway. + +Bug: 819294 +Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d +Reviewed-on: https://chromium-review.googlesource.com/c/1458193 +Auto-Submit: Raphael Kubo da Costa +Reviewed-by: Peter Kasting +Commit-Queue: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#630140} +--- + ui/gfx/color_utils.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc +index c868cd54bac3..92ba1407d594 100644 +--- a/ui/gfx/color_utils.cc ++++ b/ui/gfx/color_utils.cc +@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { + // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below + // can be verified by plugging it into how GetContrastRatio() operates. + g_luminance_midpoint = +- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; ++ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + + return previous_darkest_color; + } +-- +2.20.1 + diff --git a/chromium-73-gcc-3.patch b/chromium-73-gcc-3.patch new file mode 100644 index 00000000..9cc6cf2f --- /dev/null +++ b/chromium-73-gcc-3.patch @@ -0,0 +1,69 @@ +From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Fri, 8 Feb 2019 08:44:00 +0000 +Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having +base::NoDestructor> and passing an initializer list of Us does not +work if this is not done explicitly, as GCC incorrectly fails to determine +which constructor overload to use: + + ../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function ‘bool quic::TypedQuicFlagHelper::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string]’: + ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded ‘NoDestructor()’ is ambiguous + {"", "1", "t", "true", "y", "yes"}); + ^ + In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16, + from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5: + ../../base/no_destructor.h:62:3: note: candidate: ‘base::NoDestructor::NoDestructor(const base::NoDestructor&) [with T = std::set >]’ + NoDestructor(const NoDestructor&) = delete; + ^~~~~~~~~~~~ + ../../base/no_destructor.h:60:12: note: candidate: ‘base::NoDestructor::NoDestructor(T&&) [with T = std::set >]’ + explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); } + ^~~~~~~~~~~~ + ../../base/no_destructor.h:59:12: note: candidate: ‘base::NoDestructor::NoDestructor(const T&) [with T = std::set >]’ + explicit NoDestructor(const T& x) { new (storage_) T(x); } + ^~~~~~~~~~~~ + +Explicitly use an std::initializer_list to make the build work everywhere. + +Bug: 819294 +Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8 +Reviewed-on: https://chromium-review.googlesource.com/c/1458214 +Auto-Submit: Raphael Kubo da Costa +Reviewed-by: Ryan Hamilton +Commit-Queue: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#630249} +--- + net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc +index 5e6962d1e770..3fa45fc6892d 100644 +--- a/net/third_party/quic/platform/impl/quic_flags_impl.cc ++++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc +@@ -5,6 +5,7 @@ + #include "net/third_party/quic/platform/impl/quic_flags_impl.h" + + #include ++#include + #include + #include + +@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const { + template <> + bool TypedQuicFlagHelper::SetFlag(const std::string& s) const { + static const base::NoDestructor> kTrueValues( +- {"", "1", "t", "true", "y", "yes"}); ++ std::initializer_list({"", "1", "t", "true", "y", "yes"})); + static const base::NoDestructor> kFalseValues( +- {"0", "f", "false", "n", "no"}); ++ std::initializer_list({"0", "f", "false", "n", "no"})); + if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { + *flag_ = true; + return true; +-- +2.20.1 + diff --git a/chromium-73-gcc-4.patch b/chromium-73-gcc-4.patch new file mode 100644 index 00000000..df7d6301 --- /dev/null +++ b/chromium-73-gcc-4.patch @@ -0,0 +1,59 @@ +From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Wed, 13 Feb 2019 01:02:27 +0000 +Subject: [PATCH] BaseRenderingContext2D: Use base::CheckMul and simplify code + in putImageData() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Follow-up to commit e0b3253a56 ("Fix image conversion truncation issues"). +The current code does not build with GCC due to +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287: + + ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc: In member function ‘void blink::BaseRenderingContext2D::putImageData(blink::ImageData*, int, int, int, int, int, int, blink::ExceptionState&)’: + ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc:1777:44: error: default type conversion can't deduce template argument for ‘template::value, void>::type* > constexpr base::internal::StrictNumeric::operator Dst() const [with Dst = Dst; typename std::enable_if::value>::type* = ; T = long unsigned int]’ + new uint8_t[data_length.ValueOrDie()]); + ^ + +Work around it by using the more idiomatic base::CheckMul() with +AssignIfValid, so that we can have |data_length| be a size_t again and not +leave it to the compiler to figure out the type we want when creating the +|converted_pixels| array. + +Bug: 819294 +Change-Id: Id124cc4f3d749b45def4708e21e4badafd708578 +Reviewed-on: https://chromium-review.googlesource.com/c/1467201 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Kentaro Hara +Reviewed-by: Kentaro Hara +Cr-Commit-Position: refs/heads/master@{#631472} +--- + .../canvas/canvas2d/base_rendering_context_2d.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +index d9fa696c9a9d..34a8a202bfd3 100644 +--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc ++++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +@@ -1769,12 +1769,12 @@ void BaseRenderingContext2D::putImageData(ImageData* data, + CanvasColorParams(ColorParams().ColorSpace(), PixelFormat(), kNonOpaque); + if (data_color_params.NeedsColorConversion(context_color_params) || + PixelFormat() == kF16CanvasPixelFormat) { +- base::CheckedNumeric data_length = data->Size().Area(); +- data_length *= context_color_params.BytesPerPixel(); +- if (!data_length.IsValid()) ++ size_t data_length; ++ if (!base::CheckMul(data->Size().Area(), ++ context_color_params.BytesPerPixel()) ++ .AssignIfValid(&data_length)) + return; +- std::unique_ptr converted_pixels( +- new uint8_t[data_length.ValueOrDie()]); ++ std::unique_ptr converted_pixels(new uint8_t[data_length]); + if (data->ImageDataInCanvasColorSettings( + ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), + kRGBAColorType)) { +-- +2.20.1 + diff --git a/chromium-73-gcc-5.patch b/chromium-73-gcc-5.patch new file mode 100644 index 00000000..033861e2 --- /dev/null +++ b/chromium-73-gcc-5.patch @@ -0,0 +1,65 @@ +From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Wed, 13 Feb 2019 23:28:46 +0000 +Subject: [PATCH] CastActivityManager: Do not make DoLaunchSessionParams' move + constructor noexcept +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build: + + ../../chrome/browser/media/router/providers/cast/cast_activity_manager.cc:806:1: error: function ‘media_router::CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams(media_router::CastActivityManager::DoLaunchSessionParams&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( + ^~~~~~~~~~~~~~~~~~~ + +With GCC, having that noexcept marker requires all members to be marked with +noexcept themselves, and MediaRoute, CastMediaSource and url::Origin need +the right annotations. Just making DoLaunchSessionParams not noexcept is the +least intrusive solution for now. + +clang is fine because we pass -fno-exceptions and it disables the same error +there, while GCC continues to raise it (bug 843143 and its corresponding CL +have a longer discussion on this issue). + +Bug: 819294 +Change-Id: Ia3a5fb60b5e74e68bd35cfa50e2fcc728b64e5eb +Reviewed-on: https://chromium-review.googlesource.com/c/1469942 +Commit-Queue: mark a. foltz +Auto-Submit: Raphael Kubo da Costa +Reviewed-by: mark a. foltz +Cr-Commit-Position: refs/heads/master@{#631962} +--- + .../media/router/providers/cast/cast_activity_manager.cc | 2 +- + .../browser/media/router/providers/cast/cast_activity_manager.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc +index b7ee9695f69a..8569e0cd30a3 100644 +--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc ++++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc +@@ -804,7 +804,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( + callback(std::move(callback)) {} + + CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( +- DoLaunchSessionParams&& other) noexcept = default; ++ DoLaunchSessionParams&& other) = default; + + CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; + +diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h +index 325bffc725ee..08fe0ccca603 100644 +--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h ++++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h +@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, + const url::Origin& origin, + int tab_id, + mojom::MediaRouteProvider::CreateRouteCallback callback); +- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; ++ DoLaunchSessionParams(DoLaunchSessionParams&& other); + ~DoLaunchSessionParams(); + DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; + +-- +2.20.1 + diff --git a/chromium-73-gcc-6.patch b/chromium-73-gcc-6.patch new file mode 100644 index 00000000..752f83cd --- /dev/null +++ b/chromium-73-gcc-6.patch @@ -0,0 +1,88 @@ +From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Thu, 14 Feb 2019 22:22:21 +0000 +Subject: [PATCH] chrome/browser: Replace some forward declarations with actual + includes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build which was failing like this: + + ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: + ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ + ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here + ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ + sources_[i]->RemoveObserver(observer_); + ~~~~~~~~~~~~~^~~~~~~~~~~~~~ + +This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace +initialization needlessly invokes destructor"), i.e. having something like + + ScopedObserver observer_{this}; + +in a header declaration requires T and U to be fully declared because +ScopedObserver's destructor references them. In a few cases, T was only +forward-declared. + +Bug: 819294 +Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 +Reviewed-on: https://chromium-review.googlesource.com/c/1472576 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Alan Cutter +Reviewed-by: Finnur Thorarinsson +Reviewed-by: Alan Cutter +Cr-Commit-Position: refs/heads/master@{#632385} +--- + chrome/browser/ui/views/extensions/extension_popup.cc | 1 - + chrome/browser/ui/views/extensions/extension_popup.h | 1 + + chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc | 1 - + chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h | 2 +- + .../web_applications/extensions/bookmark_app_tab_helper.cc | 1 - + .../web_applications/extensions/bookmark_app_tab_helper.h | 2 +- + 6 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc +index 3f0985d383dd..57d16aba9e9f 100644 +--- a/chrome/browser/ui/views/extensions/extension_popup.cc ++++ b/chrome/browser/ui/views/extensions/extension_popup.cc +@@ -8,7 +8,6 @@ + #include "chrome/browser/devtools/devtools_window.h" + #include "chrome/browser/extensions/extension_view_host.h" + #include "chrome/browser/ui/browser.h" +-#include "chrome/browser/ui/tabs/tab_strip_model.h" + #include "content/public/browser/devtools_agent_host.h" + #include "content/public/browser/notification_details.h" + #include "content/public/browser/notification_source.h" +diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h +index 3661b5bda950..9018efa0fea5 100644 +--- a/chrome/browser/ui/views/extensions/extension_popup.h ++++ b/chrome/browser/ui/views/extensions/extension_popup.h +@@ -9,6 +9,7 @@ + #include "base/compiler_specific.h" + #include "base/macros.h" + #include "base/scoped_observer.h" ++#include "chrome/browser/ui/tabs/tab_strip_model.h" + #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" + #include "chrome/browser/ui/views/extensions/extension_view_views.h" + #include "content/public/browser/devtools_agent_host_observer.h" +diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h +index 2a3ea8e4f91f..ac44a4f05dec 100644 +--- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h ++++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h +@@ -8,6 +8,7 @@ + #include "base/macros.h" + #include "base/memory/weak_ptr.h" + #include "base/scoped_observer.h" ++#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" + #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" + #include "chrome/browser/ui/views/toolbar/app_menu_observer.h" + #include "ui/views/controls/scroll_view.h" +@@ -15,7 +16,6 @@ class AppMenu; + class AppMenu; + class Browser; + class BrowserActionsContainer; +-class ToolbarActionsBar; + + namespace views { + class MenuItemView; diff --git a/chromium-73.0.3683.75-aarch64-crashpad-limits.patch b/chromium-73.0.3683.75-aarch64-crashpad-limits.patch new file mode 100644 index 00000000..4eb9529e --- /dev/null +++ b/chromium-73.0.3683.75-aarch64-crashpad-limits.patch @@ -0,0 +1,11 @@ +diff -up chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc +--- chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits 2019-03-15 12:08:21.208676651 -0400 ++++ chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc 2019-03-15 12:08:40.934251685 -0400 +@@ -16,6 +16,7 @@ + + #include + #include ++#include + + #include "base/logging.h" + diff --git a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch b/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch new file mode 100644 index 00000000..f8abb52b --- /dev/null +++ b/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch @@ -0,0 +1,48 @@ +diff -up chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn +--- chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc 2019-03-13 10:29:00.331009643 -0400 ++++ chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn 2019-03-13 10:29:28.344458746 -0400 +@@ -31,7 +31,7 @@ gcc_toolchain("arm64") { + ld = cxx + readelf = "${toolprefix}readelf" + nm = "${toolprefix}nm" +- extra_cppflags = "-fno-delete-null-pointer-checks" ++ extra_cppflags = "" + + toolchain_args = { + current_cpu = "arm64" +@@ -50,7 +50,7 @@ gcc_toolchain("arm") { + ld = cxx + readelf = "${toolprefix}readelf" + nm = "${toolprefix}nm" +- extra_cppflags = "-fno-delete-null-pointer-checks" ++ extra_cppflags = "" + + toolchain_args = { + current_cpu = "arm" +@@ -101,7 +101,7 @@ gcc_toolchain("x86") { + nm = "nm" + ar = "ar" + ld = cxx +- extra_cppflags = "-fno-delete-null-pointer-checks -g1" ++ extra_cppflags = "-g1" + + # Output linker map files for binary size analysis. + enable_linker_map = true +@@ -155,7 +155,7 @@ gcc_toolchain("x64") { + nm = "nm" + ar = "ar" + ld = cxx +- extra_cppflags = "-fno-delete-null-pointer-checks" ++ extra_cppflags = "" + + # Output linker map files for binary size analysis. + enable_linker_map = true +@@ -190,7 +190,7 @@ gcc_toolchain("mipsel") { + ld = cxx + readelf = "${toolprefix}readelf" + nm = "${toolprefix}nm" +- extra_cppflags = "-fno-delete-null-pointer-checks" ++ extra_cppflags = "" + + toolchain_args = { + cc_wrapper = "" diff --git a/chromium-73.0.3683.75-el7-fix-noexcept.patch b/chromium-73.0.3683.75-el7-fix-noexcept.patch new file mode 100644 index 00000000..6d9b2860 --- /dev/null +++ b/chromium-73.0.3683.75-el7-fix-noexcept.patch @@ -0,0 +1,48 @@ +diff -up chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc +--- chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-03-19 11:03:09.820613771 -0400 ++++ chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc 2019-03-19 11:08:05.915213225 -0400 +@@ -19,7 +19,7 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + +diff -up chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-73.0.3683.75/components/policy/core/common/policy_map.cc +--- chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-03-11 18:00:56.000000000 -0400 ++++ chromium-73.0.3683.75/components/policy/core/common/policy_map.cc 2019-03-19 11:03:09.823613699 -0400 +@@ -25,7 +25,7 @@ PolicyMap::Entry::Entry() = default; + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept chromium-73.0.3683.75/components/signin/core/browser/account_info.cc +--- chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept 2019-03-11 18:00:57.000000000 -0400 ++++ chromium-73.0.3683.75/components/signin/core/browser/account_info.cc 2019-03-19 11:03:09.872612537 -0400 +@@ -50,7 +50,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return account_id.empty() && email.empty() && gaia.empty() && +diff -up chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept chromium-73.0.3683.75/gpu/config/gpu_info.cc +--- chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept 2019-03-11 18:00:59.000000000 -0400 ++++ chromium-73.0.3683.75/gpu/config/gpu_info.cc 2019-03-19 11:03:10.238603858 -0400 +@@ -118,7 +118,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), diff --git a/chromium-73.0.3683.75-no-header-hygiene.patch b/chromium-73.0.3683.75-no-header-hygiene.patch new file mode 100644 index 00000000..a8d2a19f --- /dev/null +++ b/chromium-73.0.3683.75-no-header-hygiene.patch @@ -0,0 +1,17 @@ +diff -up chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn +--- chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh 2019-03-15 09:02:26.167929864 -0400 ++++ chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn 2019-03-15 09:03:30.334433446 -0400 +@@ -74,9 +74,12 @@ config("swiftshader_llvm_private_config" + "-Wno-unused-private-field", + "-Wno-unused-result", + "-Wno-unused-variable", +- "-Wno-error=header-hygiene", + ] + ++ if (is_clang) { ++ cflags += [ "-Wno-error=header-hygiene" ] ++ } ++ + defines = [ + "__STDC_CONSTANT_MACROS", + "__STDC_LIMIT_MACROS", diff --git a/chromium-73.0.3683.75-norar.patch b/chromium-73.0.3683.75-norar.patch new file mode 100644 index 00000000..d61fd9cc --- /dev/null +++ b/chromium-73.0.3683.75-norar.patch @@ -0,0 +1,81 @@ +diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn +--- chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-13 08:59:45.988801102 -0400 ++++ chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn 2019-03-13 09:00:20.244977448 -0400 +@@ -64,41 +64,6 @@ if (safe_browsing_mode == 1) { + ] + } + +- source_set("rar_analyzer") { +- sources = [ +- "rar_analyzer.cc", +- "rar_analyzer.h", +- ] +- +- deps = [ +- ":archive_analyzer_results", +- ":download_type_util", +- ":file_type_policies", +- "//base", +- "//base:i18n", +- "//components/safe_browsing:features", +- "//third_party/unrar:unrar", +- ] +- +- defines = [ +- "_FILE_OFFSET_BITS=64", +- "LARGEFILE_SOURCE", +- "RAR_SMP", +- "SILENT", +- +- # The following is set to disable certain macro definitions in the unrar +- # source code. +- "CHROMIUM_UNRAR", +- +- # Disables exceptions in unrar, replaces them with process termination. +- "UNRAR_NO_EXCEPTIONS", +- ] +- +- public_deps = [ +- "//components/safe_browsing:csd_proto", +- ] +- } +- + source_set("disk_image_type_sniffer_mac") { + sources = [ + "disk_image_type_sniffer_mac.cc", +@@ -167,7 +132,6 @@ source_set("safe_browsing") { + ":archive_analyzer_results", + ":binary_feature_extractor", + ":download_type_util", +- ":rar_analyzer", + "//components/safe_browsing:features", + ] + +diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS +--- chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar 2019-03-11 18:00:54.000000000 -0400 ++++ chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS 2019-03-13 08:59:26.513282690 -0400 +@@ -1,6 +1,5 @@ + include_rules = [ + "+components/safe_browsing", + "+third_party/protobuf", +- "+third_party/unrar", + "+third_party/zlib", + ] +diff -up chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-13 08:59:26.518282566 -0400 ++++ chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-13 09:01:03.885935483 -0400 +@@ -48,10 +48,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile + void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, + base::File temporary_file, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + + safe_browsing::ArchiveAnalyzerResults results; + safe_browsing::rar_analyzer::AnalyzeRarFile( + std::move(rar_file), std::move(temporary_file), &results); + std::move(callback).Run(results); ++#else ++ NOTREACHED(); ++#endif + } diff --git a/chromium-73.0.3683.75-pipewire-cstring-fix.patch b/chromium-73.0.3683.75-pipewire-cstring-fix.patch new file mode 100644 index 00000000..ce8b70bc --- /dev/null +++ b/chromium-73.0.3683.75-pipewire-cstring-fix.patch @@ -0,0 +1,11 @@ +diff -up chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc +--- chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix 2019-03-13 13:04:25.290842447 -0400 ++++ chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2019-03-13 13:05:13.234897441 -0400 +@@ -18,6 +18,7 @@ + #include + #include + ++#include + #include + #include + diff --git a/chromium-73.0.3683.75-vaapi-i686-fpermissive.patch b/chromium-73.0.3683.75-vaapi-i686-fpermissive.patch new file mode 100644 index 00000000..aeee8180 --- /dev/null +++ b/chromium-73.0.3683.75-vaapi-i686-fpermissive.patch @@ -0,0 +1,23 @@ +diff -up chromium-73.0.3683.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-73.0.3683.75/media/gpu/vaapi/BUILD.gn +--- chromium-73.0.3683.75/media/gpu/vaapi/BUILD.gn.i686permissive 2019-03-15 10:10:18.689287815 +0100 ++++ chromium-73.0.3683.75/media/gpu/vaapi/BUILD.gn 2019-03-15 10:11:56.943294101 +0100 +@@ -11,6 +11,10 @@ import("//ui/ozone/ozone.gni") + + assert(use_vaapi) + ++config("vaapi_permissive") { ++ cflags = [ "-fpermissive" ] ++} ++ + generate_stubs("libva_stubs") { + extra_header = "va_stub_header.fragment" + sigs = [ "va.sigs" ] +@@ -79,6 +83,8 @@ source_set("vaapi") { + configs += [ "//build/config/linux/libva" ] + } + ++ configs += [ ":vaapi_permissive" ] ++ + if (use_x11) { + configs += [ "//build/config/linux:x11" ] + deps += [ "//ui/gfx/x" ] diff --git a/chromium.spec b/chromium.spec index 093f8618..ca804acf 100644 --- a/chromium.spec +++ b/chromium.spec @@ -2,6 +2,16 @@ # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 %global _python_bytecompile_extra 1 +# This is faster when it works, but it doesn't always. +%ifarch aarch64 +%global use_jumbo 0 +%else +%global use_jumbo 1 +%endif + +# We usually want this. +%global build_headless 1 + # NEVER EVER EVER turn this on in official builds %global freeworld 0 %if %{freeworld} @@ -41,9 +51,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura_extra|libaura|libbase_i18n|libbase|libbindings_base|libbindings|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core_mojo_bindings_shared|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_modules|libblink_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcatalog_lib|libcbor|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcc|libcdm_manager|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom_shared|libcontent_service_mojom|libcontent|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|libdevice_vr|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libembedder|libembedder_switches|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_mojom|libgamepad_shared_typemap_traits|libgcm|libgeometry_skia|libgeometry|libgesture_detection|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_implementation|libgles2|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu_ipc_service|libgpu|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc_mojom_shared|libipc_mojom|libipc|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_devices_mojo_bindings_shared|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_session_public_mojom_shared|libmedia_session_public_mojom|libmedia|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_mojom|libmojo_base_shared_typemap_traits|libmojo_core_embedder_internal|libmojo_core_embedder|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojom_core_shared|libmojo_mojom_bindings_shared|libmojo_mojom_bindings|libmojom_platform_shared|libmojo_public_system_cpp|libmojo_public_system|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp_base|libnetwork_cpp|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_cpp|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libresource_coordinator_public_mojom|libsandbox_services|libsandbox|libscheduling_metrics|libseccomp_bpf|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom_blink|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_constants|libservice_manager_mojom_shared|libservice_manager_mojom|libservice|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing_cpp|libtracing_mojom_shared|libtracing_mojom|libtracing|libui_base_ime_linux|libui_base_ime|libui_base_ime_types|libui_base|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libusb_shared|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libviz_common|libviz_resource_format_utils|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libvr_common|libvr_ui|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libwebdata_common|libweb_dialogs|libwebgpu|libwebview|libwm_public|libwm|libwtf|libx11_events_platform|libx11_window|libzygote|libfontconfig +%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libbase|libbase_i18n|libbindings|libbindings_base|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core|libblink_core_mojo_bindings_shared|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_modules|libblink_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcatalog_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirclient.so.9.TOC|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_modules_shared|libmojom_platform_shared|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libspeech_recognition_error_code_mojom|libspeech_recognition_error_code_mojom_blink|libspeech_recognition_error_code_mojom_shared|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_ime|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvr_ui|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg|libfontconfig %else -%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura_extra|libaura|libbase_i18n|libbase|libbindings_base|libbindings|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core_mojo_bindings_shared|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_modules|libblink_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcatalog_lib|libcbor|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcc|libcdm_manager|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom_shared|libcontent_service_mojom|libcontent|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|libdevice_vr|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libembedder|libembedder_switches|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_mojom|libgamepad_shared_typemap_traits|libgcm|libgeometry_skia|libgeometry|libgesture_detection|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_implementation|libgles2|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu_ipc_service|libgpu|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc_mojom_shared|libipc_mojom|libipc|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_devices_mojo_bindings_shared|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_session_public_mojom_shared|libmedia_session_public_mojom|libmedia|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_mojom|libmojo_base_shared_typemap_traits|libmojo_core_embedder_internal|libmojo_core_embedder|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojom_core_shared|libmojo_mojom_bindings_shared|libmojo_mojom_bindings|libmojom_platform_shared|libmojo_public_system_cpp|libmojo_public_system|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp_base|libnetwork_cpp|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_cpp|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libresource_coordinator_public_mojom|libsandbox_services|libsandbox|libscheduling_metrics|libseccomp_bpf|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom_blink|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_constants|libservice_manager_mojom_shared|libservice_manager_mojom|libservice|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing_cpp|libtracing_mojom_shared|libtracing_mojom|libtracing|libui_base_ime_linux|libui_base_ime|libui_base_ime_types|libui_base|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libusb_shared|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libviz_common|libviz_resource_format_utils|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libvr_common|libvr_ui|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libwebdata_common|libweb_dialogs|libwebgpu|libwebview|libwm_public|libwm|libwtf|libx11_events_platform|libx11_window|libzygote +%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libbase|libbase_i18n|libbindings|libbindings_base|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core|libblink_core_mojo_bindings_shared|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_modules|libblink_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcatalog_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirclient.so.9.TOC|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_modules_shared|libmojom_platform_shared|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libspeech_recognition_error_code_mojom|libspeech_recognition_error_code_mojom_blink|libspeech_recognition_error_code_mojom_shared|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_ime|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvr_ui|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg %endif %global __requires_exclude ^(%{privlibs})\\.so* @@ -120,9 +130,9 @@ BuildRequires: libicu-devel >= 5.4 %global bundlefontconfig 0 %endif -# Needs at least harfbuzz 1.8.6 now. -# 2018-10-24 -%if 0%{?fedora} < 29 +# Needs at least harfbuzz 2.3.0 now. +# 2019-03-13 +%if 0%{?fedora} < 30 %global bundleharfbuzz 1 %else %global bundleharfbuzz 0 @@ -144,14 +154,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 71 +%global majorversion 73 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3578.98 +Version: %{majorversion}.0.3683.75 Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -161,7 +171,7 @@ License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and Open Patch0: chromium-67.0.3396.62-gcc5.patch Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch -Patch4: chromium-68.0.3440.106-notest.patch +Patch4: chromium-72.0.3626.121-notest.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: # ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled @@ -229,7 +239,7 @@ Patch53: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch # Only needed when glibc 2.26.90 or later is used Patch57: chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch # From gentoo -Patch62: chromium-66.0.3359.117-gcc5-r3.patch +Patch62: chromium-72.0.3626.121-gcc5-r3.patch # Do not try to use libc++ in the remoting stack # Patch63: chromium-63.0.3289.84-nolibc++.patch # To use round with gcc, you need to #include @@ -251,7 +261,7 @@ Patch88: chromium-66.0.3359.117-missing-files.patch # https://bugs.chromium.org/p/chromium/issues/detail?id=816952 # Patch91: chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch # Do not use unrar code, it is non-free -Patch92: chromium-71.0.3578.98-norar.patch +Patch92: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes Patch93: chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch Patch94: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch @@ -263,12 +273,12 @@ Patch94: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.pa # GCC8 has changed the alignof operator to return the minimal alignment required by the target ABI # instead of the preferred alignment. This means int64_t is now 4 on i686 (instead of 8). # Use __alignof__ to get the value we expect (and chromium checks for). -Patch98: chromium-69.0.3497.81-gcc8-alignof.patch +# Patch98: chromium-69.0.3497.81-gcc8-alignof.patch # RHEL 7 has a bug in its python2.7 which does not propely handle exec with a tuple # https://bugs.python.org/issue21591 Patch100: chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch # Add "Fedora" to the user agent string -Patch101: chromium-68.0.3440.106-fedora-user-agent.patch +Patch101: chromium-72.0.3626.121-fedora-user-agent.patch # Try to fix version.py for Rawhide Patch102: chromium-67.0.3396.99-py3fix.patch Patch103: chromium-71.0.3578.98-py2-bootstrap.patch @@ -289,29 +299,35 @@ Patch112: chromium-69.0.3497.81-build-sanely-please.patch # Patch116: chromium-gcc8-r591015.patch # Disable fontconfig cache magic that breaks remoting Patch117: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix build against harfbuzz2 -Patch118: chromium-70.0.3538.77-harfbuzz2-fix.patch # Fix aarch64 build against latest linux kernel headers Patch119: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch -# https://chromium.googlesource.com/chromium/src/tools/gn/+/6630c2e334d7bc179e95a3d543a8eca3201d6725 -Patch120: chromium-71.0.3578.98-remove-sysroot-options.patch # Enable VAAPI support on Linux # NOTE: This patch will never land upstream Patch121: enable-vaapi.patch -Patch122: chromium-70.0.3538.110-vaapi-i686-fpermissive.patch -# Since the newer versions of VA-API are ABI compatible, relax the version checks for VA-API, by using VA_CHECK_VERSION(). -# This will help in updating the libva to the latest releases,while still supporting the old versions, till the new version of -# libva is merged and picked by the builds. Thus ensuring that hardware accleration is not broken while updating the libva. -# Taken and rebased from https://chromium-review.googlesource.com/c/chromium/src/+/1352519 -# The patch might land somewhere in the future and will be removed. -Patch123: relax-libva-version.patch +Patch122: chromium-73.0.3683.75-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 Patch124: chromium-71.0.3578.98-vaapi-libva1-compatibility.patch -# From gentoo -Patch125: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-71-gcc-0.patch -# For el7: error: function 'gpu::GPUInfo::GPUDevice& gpu::GPUInfo::GPUDevice::operator=(gpu::GPUInfo::GPUDevice&&)' defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification '' -Patch126: chromium-71.0.3578.98-el7-fix-noexcept.patch - +# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) +Patch126: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +# Thank you Gentoo. +# +Patch128: chromium-73-gcc-0.patch +Patch129: chromium-73-gcc-1.patch +Patch130: chromium-73-gcc-2.patch +Patch131: chromium-73-gcc-3.patch +Patch132: chromium-73-gcc-4.patch +Patch133: chromium-73-gcc-5.patch +Patch134: chromium-73-gcc-6.patch +# Disable -fno-delete-null-pointer-checks +Patch135: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +# Add #include to get pipewire code to build +Patch136: chromium-73.0.3683.75-pipewire-cstring-fix.patch +# Conditionalize header-hygiene flags for clang +Patch137: chromium-73.0.3683.75-no-header-hygiene.patch +# Add missing #include needed to build crashpad for aarch64 +Patch138: chromium-73.0.3683.75-aarch64-crashpad-limits.patch +# el7 only patch +Patch139: chromium-73.0.3683.75-el7-fix-noexcept.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -368,6 +384,11 @@ BuildRequires: gnome-keyring-devel %endif BuildRequires: glibc-devel BuildRequires: gperf +%if 0%{?bundleharfbuzz} +#nothing +%else +BuildRequires: harfbuzz-devel >= 2.3.0 +%endif BuildRequires: libatomic BuildRequires: libcap-devel %if 0%{?bundlelibdrm} @@ -395,6 +416,11 @@ BuildRequires: nss-devel >= 3.26 BuildRequires: pciutils-devel BuildRequires: pulseaudio-libs-devel +# For screen sharing on Wayland, currently Fedora only thing - no epel +%if 0%{?fedora} +BuildRequires: pkgconfig(libpipewire-0.2) +%endif + # for /usr/bin/appstream-util BuildRequires: libappstream-glib @@ -550,6 +576,8 @@ BuildRequires: google-noto-sans-khmer-fonts %endif # using the built from source version on aarch64 BuildRequires: ninja-build +# Yes, java is needed as well.. +BuildRequires: java-1.8.0-openjdk-headless %if 0%{?rhel} == 7 BuildRequires: devtoolset-%{dts_version}-toolchain, devtoolset-%{dts_version}-libatomic-devel @@ -622,7 +650,7 @@ Provides: bundled(freetype) = 2.9.3 %endif Provides: bundled(gperftools) = svn144 %if 0%{?bundleharfbuzz} -Provides: bundled(harfbuzz) = 1.8.6 +Provides: bundled(harfbuzz) = 2.3.0 %endif Provides: bundled(hunspell) = 1.6.0 Provides: bundled(iccjpeg) @@ -845,7 +873,7 @@ udev. # %%patch95 -p1 -b .gcc-getstring # %%patch96 -p1 -b .flatsetfix # %%patch97 -p1 -b .arm-init-fix -%patch98 -p1 -b .gcc8-alignof +# %%patch98 -p1 -b .gcc8-alignof %if 0%{?rhel} == 7 # %%patch100 -p1 -b .oldexec %endif @@ -861,20 +889,26 @@ udev. # %%patch115 -p1 -b .r589614 # %%patch116 -p1 -b .r591015 %patch117 -p1 -b .nofc -%if 0%{?fedora} >= 30 -%patch118 -p1 -b .harfbuzz2 -%endif %patch119 -p1 -b .aarch64-new-stat -%patch120 -p1 -b .sysrootfix %patch121 -p1 -b .vaapi %ifarch i686 %patch122 -p1 -b .i686permissive %endif -%patch123 -p1 -b .relaxva %patch124 -p1 -b .va1compat -%patch125 -p1 -b .gcc-overloaded +%patch126 -p1 -b .gcc9 +%patch128 -p1 -b .gentoogcc0 +%patch129 -p1 -b .gentoogcc1 +%patch130 -p1 -b .gentoogcc2 +%patch131 -p1 -b .gentoogcc3 +%patch132 -p1 -b .gentoogcc4 +%patch133 -p1 -b .gentoogcc5 +%patch134 -p1 -b .gentoogcc6 +%patch135 -p1 -b .disable-ndnpc +%patch136 -p1 -b .cstring-fix +%patch137 -p1 -b .nohh +%patch138 -p1 -b .aarch64-limits %if 0%{?rhel} == 7 -%patch126 -p1 -b .fix-noexcept +%patch139 -p1 -b .el7-noexcept %endif # Change shebang in all relevant files in this directory and all subdirectories @@ -1051,7 +1085,9 @@ CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false' %ifarch aarch64 CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' %endif +%if %{?use_jumbo} CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8' +%endif export CHROMIUM_CORE_GN_DEFINES CHROMIUM_BROWSER_GN_DEFINES="" @@ -1068,7 +1104,9 @@ CHROMIUM_BROWSER_GN_DEFINES+=' remove_webcore_debug_symbols=true enable_hangout_ CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' -# CHROMIUM_BROWSER_GN_DEFINES+=' enable_webrtc=true' +%if 0%{?fedora} +CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' +%endif export CHROMIUM_BROWSER_GN_DEFINES CHROMIUM_HEADLESS_GN_DEFINES="" @@ -1106,19 +1144,16 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'buildtools/third_party/libc++abi' \ 'chrome/third_party/mozilla_security_manager' \ 'courgette/third_party' \ - 'net/third_party/http2' \ 'net/third_party/mozilla_security_manager' \ 'net/third_party/nss' \ 'net/third_party/quic' \ - 'net/third_party/spdy' \ 'net/third_party/uri_template' \ - 'third_party/WebKit' \ 'third_party/abseil-cpp' \ 'third_party/adobe' \ - 'third_party/analytics' \ 'third_party/angle' \ 'third_party/angle/src/common/third_party/base' \ 'third_party/angle/src/common/third_party/smhasher' \ + 'third_party/angle/src/common/third_party/xxhash' \ 'third_party/angle/src/third_party/compiler' \ 'third_party/angle/src/third_party/libXNVCtrl' \ 'third_party/angle/src/third_party/trace_event' \ @@ -1153,6 +1188,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/catapult/tracing/third_party/pako' \ 'third_party/ced' \ 'third_party/cld_3' \ + 'third_party/closure_compiler' \ 'third_party/crashpad' \ 'third_party/crashpad/crashpad/third_party/zlib/' \ 'third_party/crc32c' \ @@ -1167,7 +1203,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/flot' \ 'third_party/fontconfig' \ 'third_party/freetype' \ - 'third_party/glslang-angle' \ 'third_party/google_input_tools' \ 'third_party/google_input_tools/third_party/closure_library' \ 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ @@ -1216,6 +1251,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/mesa' \ 'third_party/metrics_proto' \ 'third_party/modp_b64' \ + 'third_party/nasm' \ 'third_party/node' \ 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ %if %{freeworld} @@ -1251,6 +1287,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/simplejson' \ 'third_party/sinonjs' \ 'third_party/skia' \ + 'third_party/skia/include/third_party/vulkan' \ 'third_party/skia/third_party/gif' \ 'third_party/skia/third_party/skcms' \ 'third_party/skia/third_party/vulkan' \ @@ -1259,18 +1296,17 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/speech-dispatcher' \ 'third_party/spirv-headers' \ 'third_party/SPIRV-Tools' \ - 'third_party/spirv-tools-angle' \ 'third_party/sqlite' \ 'third_party/swiftshader' \ 'third_party/swiftshader/third_party/subzero' \ 'third_party/swiftshader/third_party/LLVM' \ 'third_party/swiftshader/third_party/llvm-subzero' \ + 'third_party/swiftshader/third_party/llvm-7.0' \ 'third_party/tcmalloc' \ 'third_party/test_fonts' \ 'third_party/usb_ids' \ 'third_party/usrsctp' \ 'third_party/vulkan' \ - 'third_party/vulkan-validation-layers' \ 'third_party/web-animations-js' \ 'third_party/webdriver' \ 'third_party/webrtc' \ @@ -1289,6 +1325,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/zlib/google' \ 'tools/gn/base/third_party/icu' \ 'url/third_party/mozilla' \ + 'v8/src/third_party/siphash' \ 'v8/src/third_party/utf8-decoder' \ 'v8/src/third_party/valgrind' \ 'v8/third_party/v8' \ @@ -1388,8 +1425,10 @@ tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_ %if %{freeworld} # do not need to do headless gen %else +%if %{build_headless} %{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlesstarget} %endif +%endif %{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingtarget} @@ -1415,8 +1454,10 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE %if 0%{freeworld} ../depot_tools/ninja -C %{target} -vvv media %else +%if %{build_headless} # Do headless first. ../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell +%endif ../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver clear_key_cdm policy_templates @@ -1480,8 +1521,11 @@ cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} chmod -x %{buildroot}%{chromium_path}/nacl_helper_bootstrap* *.nexe %endif +# Reasonably sure we don't need this anymore. Chrome doesn't include it. +%if 0 cp -a protoc pyproto %{buildroot}%{chromium_path} -%ifarch x86_64 i686 +%endif +%ifarch x86_64 i686 aarch64 cp -a swiftshader %{buildroot}%{chromium_path} %endif cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} @@ -1564,9 +1608,11 @@ cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} %endif %endif +%if %{build_headless} pushd %{headlesstarget} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} popd +%endif cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ @@ -1623,19 +1669,6 @@ if selinuxenabled; then restorecon -R -v %{chromium_path}/%{chromium_browser_channel} fi -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -update-desktop-database &> /dev/null || : - -%postun -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &>/dev/null - gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi -update-desktop-database &> /dev/null || : - -%posttrans -gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - %pretrans -n chrome-remote-desktop -p path = "/etc/opt/chrome/native-messaging-hosts" st = posix.stat(path) @@ -1713,7 +1746,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/%{chromium_browser_channel} %{chromium_path}/%{chromium_browser_channel}.sh %{chromium_path}/MEIPreload/ -%ifarch x86_64 i686 +%ifarch x86_64 i686 aarch64 %{chromium_path}/swiftshader/ %endif %if 0%{?nacl} @@ -1723,7 +1756,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/tls_edit %endif %dir %{chromium_path}/PepperFlash/ +%if 0 %{chromium_path}/protoc +%endif # %%{chromium_path}/remoting_locales/ # %%{chromium_path}/pseudo_locales/ # %%{chromium_path}/plugins/ @@ -1737,9 +1772,13 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %files common +%if %{build_headless} %{chromium_path}/headless_lib.pak +%endif # %%{chromium_path}/mus_app_resources_*.pak +%if 0 %{chromium_path}/pyproto/ +%endif %{chromium_path}/resources/ %dir %{chromium_path}/locales/ %lang(am) %{chromium_path}/locales/am.pak* @@ -1796,8 +1835,10 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %lang(zh_CN) %{chromium_path}/locales/zh-CN.pak* %lang(zh_TW) %{chromium_path}/locales/zh-TW.pak* +%if %{build_headless} %files headless %{chromium_path}/headless_shell +%endif %if 0%{?shared} %files libs @@ -1852,8 +1893,26 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog -* Wed Dec 19 2018 Tom Callaway - 71.0.3578.98-2 -- need to use devtoolset-8-*. I love hardcoded versions in package names. +* Tue Mar 19 2019 Tom Callaway - 73.0.3683.75-2 +- do not include pyproto/protoc files in package + +* Tue Mar 12 2019 Tom Callaway - 73.0.3683.75-1 +- update to 73.0.3683.75 + +* Sat Mar 9 2019 Tom Callaway - 72.0.3626.121-1 +- update to 72.0.3626.121 + +* Tue Feb 26 2019 Tom Callaway - 71.0.3578.98-5 +- rebuild for libva api change + +* Thu Jan 31 2019 Fedora Release Engineering - 71.0.3578.98-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 21 2019 Tom Callaway - 71.0.3578.98-3 +- rebuild with widevine fix + +* Tue Jan 8 2019 Tom Callaway - 71.0.3578.98-2 +- drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) * Fri Dec 14 2018 Tom Callaway - 71.0.3578.98-1 - update to 71.0.3578.98 diff --git a/enable-vaapi.patch b/enable-vaapi.patch index 1997af39..08c1f949 100644 --- a/enable-vaapi.patch +++ b/enable-vaapi.patch @@ -1,26 +1,7 @@ -From efdd5bdf093e9074c9eba73650ff5ad95b280ec8 Mon Sep 17 00:00:00 2001 -From: Akarshan Biswas -Date: Sun, 4 Nov 2018 20:26:54 +0530 -Subject: [PATCH] Enable vaapi on Linux - ---- - chrome/browser/about_flags.cc | 14 +++++++------ - chrome/browser/flag_descriptions.cc | 22 +++++++++++++------- - chrome/browser/flag_descriptions.h | 16 +++++++++----- - components/viz/service/main/viz_main_impl.cc | 2 +- - content/gpu/BUILD.gn | 6 ++++++ - content/gpu/gpu_main.cc | 4 ++-- - gpu/config/software_rendering_list.json | 11 ---------- - media/base/media_switches.cc | 2 +- - media/filters/BUILD.gn | 3 ++- - media/gpu/BUILD.gn | 7 +++++++ - 10 files changed, 52 insertions(+), 35 deletions(-) - -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index db54ccb61..f32075fb8 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1797,7 +1797,7 @@ const FeatureEntry kFeatureEntries[] = { +diff -up chromium-73.0.3683.75/chrome/browser/about_flags.cc.vaapi chromium-73.0.3683.75/chrome/browser/about_flags.cc +--- chromium-73.0.3683.75/chrome/browser/about_flags.cc.vaapi 2019-03-11 18:00:53.000000000 -0400 ++++ chromium-73.0.3683.75/chrome/browser/about_flags.cc 2019-03-13 09:04:44.186716761 -0400 +@@ -1606,7 +1606,7 @@ const FeatureEntry kFeatureEntries[] = { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, flag_descriptions::kAcceleratedVideoDecodeDescription, @@ -29,7 +10,7 @@ index db54ccb61..f32075fb8 100644 SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, #if defined(OS_WIN) -@@ -2456,12 +2456,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2216,12 +2216,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, #endif // ENABLE_ISOLATED_XR_SERVICE #endif // ENABLE_VR @@ -41,80 +22,40 @@ index db54ccb61..f32075fb8 100644 + flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, -#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX ++#endif // OS_CHROMEOS // OS_LINUX {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, flag_descriptions::kV8CacheOptionsDescription, kOsAll, MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -@@ -4371,12 +4371,14 @@ const FeatureEntry kFeatureEntries[] = { - "AutofillDropdownLayout")}, - #endif // OS_ANDROID - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"enable-vaapi-jpeg-image-decode-acceleration", - flag_descriptions::kVaapiJpegImageDecodeAccelerationName, -- flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS, -+ flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS | kOsLinux, - FEATURE_VALUE_TYPE(features::kVaapiJpegImageDecodeAcceleration)}, -+#endif - -+#if defined(OS_CHROMEOS) - {"enable-home-launcher-gestures", - flag_descriptions::kEnableHomeLauncherGesturesName, - flag_descriptions::kEnableHomeLauncherGesturesDescription, kOsCrOS, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 6cc51bbfb..3c4babe3d 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2996,9 +2996,9 @@ const char kTextSuggestionsTouchBarDescription[] = +diff -up chromium-73.0.3683.75/chrome/browser/flag_descriptions.cc.vaapi chromium-73.0.3683.75/chrome/browser/flag_descriptions.cc +--- chromium-73.0.3683.75/chrome/browser/flag_descriptions.cc.vaapi 2019-03-11 18:00:53.000000000 -0400 ++++ chromium-73.0.3683.75/chrome/browser/flag_descriptions.cc 2019-03-13 09:04:44.188716714 -0400 +@@ -3096,15 +3096,20 @@ const char kTextSuggestionsTouchBarDescr #endif -// Chrome OS ------------------------------------------------------------------- -+// Chrome OS and Linux ------------------------------------------------------------------- ++// Chrome OS Linux------------------------------------------------------------------- -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) const char kAcceleratedMjpegDecodeName[] = "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3006,6 +3006,18 @@ const char kAcceleratedMjpegDecodeDescription[] = + const char kAcceleratedMjpegDecodeDescription[] = "Enable hardware-accelerated mjpeg decode for captured frame where " "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) ++#endif + -+// Only Chrome OS ------------------------------------------------------ ++// Chrome OS -------------------------------------------------- + +#if defined(OS_CHROMEOS) -+ + const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click"; const char kAllowTouchpadThreeFingerClickDescription[] = - "Enables touchpad three-finger-click as middle button."; -@@ -3524,12 +3536,6 @@ const char kUseMonitorColorSpaceDescription[] = - "Enables Chrome to use the color space information provided by the monitor" - " instead of the default sRGB color space."; - --const char kVaapiJpegImageDecodeAccelerationName[] = -- "VA-API JPEG decode acceleration for images"; --const char kVaapiJpegImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of JPEG images (as opposed to camera" -- " captures) using the VA-API."; -- - const char kVideoPlayerChromecastSupportName[] = - "Experimental Chromecast support for Video Player"; - const char kVideoPlayerChromecastSupportDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 944695782..38d8fe144 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1824,13 +1824,22 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; +diff -up chromium-73.0.3683.75/chrome/browser/flag_descriptions.h.vaapi chromium-73.0.3683.75/chrome/browser/flag_descriptions.h +--- chromium-73.0.3683.75/chrome/browser/flag_descriptions.h.vaapi 2019-03-11 18:00:53.000000000 -0400 ++++ chromium-73.0.3683.75/chrome/browser/flag_descriptions.h 2019-03-13 09:04:44.190716667 -0400 +@@ -1842,13 +1842,19 @@ extern const char kPermissionPromptPersi #endif // defined(OS_MACOSX) @@ -122,171 +63,34 @@ index 944695782..38d8fe144 100644 +// Chrome OS and Linux ------------------------------------------------------------------ -#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) extern const char kAcceleratedMjpegDecodeName[]; extern const char kAcceleratedMjpegDecodeDescription[]; -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif ++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + -+// Chrome OS ---------------------------------------------------------------------- ++// Chrome OS ------------------------------------------------------------------------ + +#if defined(OS_CHROMEOS) + extern const char kAllowTouchpadThreeFingerClickName[]; extern const char kAllowTouchpadThreeFingerClickDescription[]; -@@ -2145,9 +2154,6 @@ extern const char kUseMashDescription[]; - extern const char kUseMonitorColorSpaceName[]; - extern const char kUseMonitorColorSpaceDescription[]; - --extern const char kVaapiJpegImageDecodeAccelerationName[]; --extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -- - extern const char kVideoPlayerChromecastSupportName[]; - extern const char kVideoPlayerChromecastSupportDescription[]; - -diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc -index 6f5f55de7..b90db3738 100644 ---- a/components/viz/service/main/viz_main_impl.cc -+++ b/components/viz/service/main/viz_main_impl.cc -@@ -41,7 +41,7 @@ std::unique_ptr CreateAndStartIOThread() { - // It should be possible to use |main_task_runner_| for doing IO tasks. - base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || 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/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 8974e441d..d7eba85a9 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -134,4 +135,9 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index 8397889b6..188d960a4 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -284,7 +284,7 @@ int GpuMain(const MainFunctionParams& parameters) { - - base::PlatformThread::SetName("CrGpuMain"); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -317,7 +317,7 @@ int GpuMain(const MainFunctionParams& parameters) { - 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(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index cb6118b6a..7b8ea0f75 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -369,17 +369,6 @@ - "all" - ] +diff -up chromium-73.0.3683.75/gpu/config/software_rendering_list.json.vaapi chromium-73.0.3683.75/gpu/config/software_rendering_list.json +--- chromium-73.0.3683.75/gpu/config/software_rendering_list.json.vaapi 2019-03-11 18:00:59.000000000 -0400 ++++ chromium-73.0.3683.75/gpu/config/software_rendering_list.json 2019-03-13 09:04:44.196716525 -0400 +@@ -371,11 +371,12 @@ }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 41bfa9172..30ca4f40a 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -495,7 +495,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeJpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index d558b537a..9ad090e07 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -200,7 +201,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 07bfdefda..7e33cd747 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -508,6 +508,12 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - if (use_vaapi) { - test("jpeg_encode_accelerator_unittest") { - deps = [ -@@ -578,6 +584,7 @@ if (is_chromeos || is_linux) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - --- -2.19.2 - + "id": 48, +- "description": "Accelerated video decode is unavailable on Linux", ++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms", + "cr_bugs": [137247], + "os": { + "type": "linux" + }, ++ "vendor_id": "0x10de", + "features": [ + "accelerated_video_decode" + ] diff --git a/sources b/sources index f0cf1391..fcfd0662 100644 --- a/sources +++ b/sources @@ -16,5 +16,5 @@ SHA512 (Tinos-Bold.ttf) = 54aeca804c06a4d5c57ade596e73df91a6a1c4401c4aadba55d987 SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0e22a16414278217f37497b904a18540273c0e2d79d4f1faabde3b0eb5446283b318c73bafb38 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd -SHA512 (chromium-71.0.3578.98-clean.tar.xz) = 8e92cefb1079944a742cd99ef4b50baa71a4517420b7e30bd9cba556df9a032f1dd08acd421e0ad28b40c4d93367529029edebd8c2e6c25ccec2ab231c81828c SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 +SHA512 (chromium-73.0.3683.75-clean.tar.xz) = f240e8d58f8093db409e4a90a6c2c8dbbef3e5c0ba1d9acd8fd907be4e34042c76329881a4880bf52cc91b8e4949704d041279f91d76fd614c7d2d7020436fe6