commit 79abdc6820963e63f918c07804ccd309709ef3b7
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Fri Mar 22 22:24:11 2019 +0530
MANUAL MERGE: Commit Head position: "update noexcept patch" By Tom Callaway
...mium-70.0.3538.110-vaapi-i686-fpermissive.patch | 24 --
chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch | 12 +
chromium-71.0.3578.98-widevine-r3.patch | 25 +-
chromium-72.0.3626.121-fedora-user-agent.patch | 12 +
chromium-72.0.3626.121-fix-va-check.patch | 29 +++
chromium-72.0.3626.121-gcc5-r3.patch | 36 +++
chromium-72.0.3626.121-norar.patch | 79 ++++++
chromium-72.0.3626.121-notest.patch | 11 +
chromium-73-gcc-0.patch | 108 +++++++++
chromium-73-gcc-1.patch | 99 ++++++++
chromium-73-gcc-2.patch | 51 ++++
chromium-73-gcc-3.patch | 69 ++++++
chromium-73-gcc-4.patch | 59 +++++
chromium-73-gcc-5.patch | 65 +++++
chromium-73-gcc-6.patch | 88 +++++++
...mium-73.0.3683.75-aarch64-crashpad-limits.patch | 11 +
...75-disable-fno-delete-null-pointer-checks.patch | 48 ++++
chromium-73.0.3683.75-el7-fix-noexcept.patch | 54 +++++
chromium-73.0.3683.75-no-header-hygiene.patch | 17 ++
chromium-73.0.3683.75-norar.patch | 81 +++++++
chromium-73.0.3683.75-pipewire-cstring-fix.patch | 11 +
chromium-73.0.3683.75-vaapi-i686-fpermissive.patch | 23 ++
chromium-freeworld.spec | 198 ++++++++++-----
enable-vaapi.patch | 270 +++------------------
24 files changed, 1155 insertions(+), 325 deletions(-)
---
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 0000000..d071e81
--- /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 a8deaf0..8d875c6 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 0000000..5cef6f0
--- /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 0000000..aa0eb71
--- /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 0000000..f4cf40b
--- /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<gpu::mojom::MailboxDataView, gpu::Mailbox> {
+ static base::span<const int8_t> 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<viz::mojom::TextureQ
+ static base::span<const float> 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 <math.h>
++#include <cmath>
+ #include <algorithm>
+ #include <numeric>
+ #include <vector>
diff --git a/chromium-72.0.3626.121-norar.patch b/chromium-72.0.3626.121-norar.patch
new file mode 100644
index 0000000..d5d2632
--- /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 0000000..e8b7bf4
--- /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 @@
+ </outputs>
+ <release seq="1">
+ <includes>
+- <include name="IDR_WEBUI_TEST_I18N_PROCESS_CSS_TEST"
file="webui/i18n_process_css_test.html" flattenhtml="true"
allowexternalscript="true" type="BINDATA" />
+ <include name="IDR_WEB_UI_TEST_MOJO_JS"
file="${root_gen_dir}/chrome/test/data/webui/web_ui_test.mojom.js"
use_base_dir="false" type="BINDATA"/>
+ <include name="IDR_WEB_UI_TEST_MOJO_LITE_JS"
file="${root_gen_dir}/chrome/test/data/webui/web_ui_test.mojom-lite.js"
use_base_dir="false" type="BINDATA"/>
+ </includes>
diff --git a/chromium-73-gcc-0.patch b/chromium-73-gcc-0.patch
new file mode 100644
index 0000000..5a50700
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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 <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Thomas Anderson <thomasanderson(a)chromium.org>
+Reviewed-by: Primiano Tucci <primiano(a)chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+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<size_t>(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<size_t>(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<size_t>(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<size_t>(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 0000000..c3f8e42
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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 <liberato(a)chromium.org>
+Reviewed-by: Frank Liberato <liberato(a)chromium.org>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+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 0000000..9d1f05a
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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 <cmath>. 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 <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Peter Kasting <pkasting(a)chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+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 0000000..9cc6cf2
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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<T<U>> 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<T>::SetFlag(const string&) const [with T = bool;
std::__cxx11::string = std::__cxx11::basic_string<char>]’:
+ ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of
overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ 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<T>::NoDestructor(const base::NoDestructor<T>&) [with T
= std::set<std::__cxx11::basic_string<char> >]’ <deleted>
+ NoDestructor(const NoDestructor&) = delete;
+ ^~~~~~~~~~~~
+ ../../base/no_destructor.h:60:12: note: candidate:
‘base::NoDestructor<T>::NoDestructor(T&&) [with T =
std::set<std::__cxx11::basic_string<char> >]’
+ explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); }
+ ^~~~~~~~~~~~
+ ../../base/no_destructor.h:59:12: note: candidate:
‘base::NoDestructor<T>::NoDestructor(const T&) [with T =
std::set<std::__cxx11::basic_string<char> >]’
+ 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 <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Ryan Hamilton <rch(a)chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+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 <algorithm>
++#include <initializer_list>
+ #include <iostream>
+ #include <set>
+
+@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const {
+ template <>
+ bool TypedQuicFlagHelper<bool>::SetFlag(const std::string& s) const {
+ static const base::NoDestructor<std::set<std::string>> kTrueValues(
+- {"", "1", "t", "true", "y",
"yes"});
++ std::initializer_list<std::string>({"", "1",
"t", "true", "y", "yes"}));
+ static const base::NoDestructor<std::set<std::string>> kFalseValues(
+- {"0", "f", "false", "n",
"no"});
++ std::initializer_list<std::string>({"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 0000000..df7d630
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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<class
Dst, typename std::enable_if<base::internal::IsNumericRangeContained<Dst, long
unsigned int, void>::value, void>::type* <anonymous> > constexpr
base::internal::StrictNumeric<T>::operator Dst() const [with Dst = Dst; typename
std::enable_if<base::internal::IsNumericRangeContained<Dst, T>::value>::type*
<anonymous> = <enumerator>; 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 <raphael.kubo.da.costa(a)intel.com>
+Commit-Queue: Kentaro Hara <haraken(a)chromium.org>
+Reviewed-by: Kentaro Hara <haraken(a)chromium.org>
+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<size_t> 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<uint8_t[]> converted_pixels(
+- new uint8_t[data_length.ValueOrDie()]);
++ std::unique_ptr<uint8_t[]> 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 0000000..033861e
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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 <mfoltz(a)chromium.org>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: mark a. foltz <mfoltz(a)chromium.org>
+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 0000000..752f83c
--- /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 <raphael.kubo.da.costa(a)intel.com>
+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<Source,
Observer>::RemoveAll() [with Source = TabStripModel; Observer =
TabStripModelObserver]’:
+ ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver<Source,
Observer>::~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<T, U> 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 <raphael.kubo.da.costa(a)intel.com>
+Commit-Queue: Alan Cutter <alancutter(a)chromium.org>
+Reviewed-by: Finnur Thorarinsson <finnur(a)chromium.org>
+Reviewed-by: Alan Cutter <alancutter(a)chromium.org>
+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 0000000..4eb9529
--- /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 <stddef.h>
+ #include <string.h>
++#include <limits>
+
+ #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 0000000..f8abb52
--- /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 0000000..3fc69ba
--- /dev/null
+++ b/chromium-73.0.3683.75-el7-fix-noexcept.patch
@@ -0,0 +1,54 @@
+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-11
18:00:54.000000000 -0400
++++ chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc 2019-03-20
09:45:29.400426336 -0400
+@@ -19,12 +19,12 @@ 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;
+
+ MediaSink& MediaSink::operator=(const MediaSink& other) = default;
+-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default;
++MediaSink& MediaSink::operator=(MediaSink&& other) = default;
+
+ bool MediaSink::IsMaybeCloudSink() const {
+ switch (icon_type_) {
+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:11:38.310689134 -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:11:38.311689112 -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-19
11:12:36.992435015 -0400
++++ chromium-73.0.3683.75/gpu/config/gpu_info.cc 2019-03-19 11:12:37.061433540 -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 0000000..a8d2a19
--- /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 0000000..d61fd9c
--- /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 0000000..ce8b70b
--- /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 <spa/param/video/raw-utils.h>
+ #include <spa/support/type-map.h>
+
++#include <cstring>
+ #include <memory>
+ #include <utility>
+
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 0000000..aeee818
--- /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-freeworld.spec b/chromium-freeworld.spec
index 2b2af14..5b69896 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -2,6 +2,16 @@
#
https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%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 1
%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_even
t_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_mo
jom_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|libplat
form|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_m
ojom|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_shar
ed|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|lib
gl_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_th
eme|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|l
ibskia|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_even
t_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_mo
jom_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|libplat
form|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_m
ojom|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_shar
ed|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|lib
gl_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_th
eme|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|l
ibskia|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*
@@ -97,6 +107,8 @@ BuildRequires: libicu-devel >= 5.4
%global gtk3 1
%if 0%{?rhel} == 7
+%global dts_version 8
+
%global bundleopus 1
%global bundlelibusbx 1
%global bundleharfbuzz 1
@@ -118,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
@@ -142,15 +154,15 @@ 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
-Release: 1%{?dist}
+Version: %{majorversion}.0.3683.75
+Release: 2%{?dist}
Summary: A WebKit (Blink) powered web browser
Url:
http://www.chromium.org/Home
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and
(MPLv1.1 or GPLv2 or LGPLv2)
@@ -159,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
@@ -227,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 <cmath>
@@ -249,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
@@ -261,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
@@ -287,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/+/6630c2e334d7bc1...
-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...
-
-
-
+# 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 <cstring> 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 <limits> 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/
@@ -342,6 +360,10 @@
Source15:
http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-
Source16:
https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf
Source17: GardinerModBug.ttf
Source18: GardinerModCat.ttf
+# RHEL needs newer nodejs
+%if 0%{?rhel}
+Source19: node-v8.9.1-linux-x64.tar.gz
+%endif
# We can assume gcc and binutils.
BuildRequires: gcc-c++
@@ -362,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}
@@ -371,6 +398,7 @@ BuildRequires: libdrm-devel
%endif
BuildRequires: libgcrypt-devel
BuildRequires: libudev-devel
+BuildRequires: libuuid-devel
BuildRequires: libusb-devel
BuildRequires: libXdamage-devel
BuildRequires: libXScrnSaver-devel
@@ -380,11 +408,19 @@ BuildRequires: minizip-compat-devel
%else
BuildRequires: minizip-devel
%endif
+# RHEL 7's nodejs is too old
+%if 0%{?fedora}
BuildRequires: nodejs
+%endif
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
@@ -540,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
@@ -612,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)
@@ -835,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
@@ -851,19 +889,27 @@ 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
+%patch139 -p1 -b .el7-noexcept
+%endif
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -1039,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=""
@@ -1055,8 +1103,12 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false
is_component_build=fals
CHROMIUM_BROWSER_GN_DEFINES+=' remove_webcore_debug_symbols=true
enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
+%if 0%{?fedora} >= 28
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
-# CHROMIUM_BROWSER_GN_DEFINES+=' enable_webrtc=true'
+%endif
+%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=""
@@ -1094,19 +1146,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' \
@@ -1141,6 +1190,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' \
@@ -1155,7 +1205,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'
\
@@ -1204,6 +1253,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}
@@ -1239,6 +1289,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' \
@@ -1247,18 +1298,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' \
@@ -1277,6 +1327,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' \
@@ -1376,8 +1427,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}
@@ -1403,8 +1456,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
@@ -1468,8 +1523,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}
@@ -1552,9 +1610,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}/
@@ -1611,19 +1671,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 <lua>
path = "/etc/opt/chrome/native-messaging-hosts"
st = posix.stat(path)
@@ -1701,7 +1748,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}
@@ -1711,7 +1758,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/
@@ -1725,9 +1774,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*
@@ -1784,8 +1837,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
@@ -1840,6 +1895,27 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Tue Mar 19 2019 Tom Callaway <spot(a)fedoraproject.org> - 73.0.3683.75-2
+- do not include pyproto/protoc files in package
+
+* Tue Mar 12 2019 Tom Callaway <spot(a)fedoraproject.org> - 73.0.3683.75-1
+- update to 73.0.3683.75
+
+* Sat Mar 9 2019 Tom Callaway <spot(a)fedoraproject.org> - 72.0.3626.121-1
+- update to 72.0.3626.121
+
+* Tue Feb 26 2019 Tom Callaway <spot(a)fedoraproject.org> - 71.0.3578.98-5
+- rebuild for libva api change
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng(a)fedoraproject.org> -
71.0.3578.98-4
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Jan 21 2019 Tom Callaway <spot(a)fedoraproject.org> - 71.0.3578.98-3
+- rebuild with widevine fix
+
+* Tue Jan 8 2019 Tom Callaway <spot(a)fedoraproject.org> - 71.0.3578.98-2
+- drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
+
* Fri Dec 14 2018 Tom Callaway <spot(a)fedoraproject.org> - 71.0.3578.98-1
- update to 71.0.3578.98
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index 1997af3..08c1f94 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 <akarshan.biswas(a)gmail.com>
-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<base::Thread> 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"
+ ]