commit 750c7562aec507ba274b1568a47f9b734e82e86e
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Thu Mar 14 17:26:19 2019 -0400
go 73, go!
Signed-off-by: Akarshan Biswas <akarshan.biswas(a)gmail.com>
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 +++++++++++++++++
...75-disable-fno-delete-null-pointer-checks.patch | 48 +++++++++
chromium-73.0.3683.75-norar.patch | 81 +++++++++++++++
chromium-73.0.3683.75-pipewire-cstring-fix.patch | 11 +++
chromium-freeworld.spec | 96 ++++++++++++------
enable-vaapi.patch | 109 +++------------------
12 files changed, 760 insertions(+), 124 deletions(-)
---
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-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-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-freeworld.spec b/chromium-freeworld.spec
index 7f75b6c..a9fc31f 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -3,7 +3,10 @@
%global _python_bytecompile_extra 1
# This is faster when it works, but it doesn't always.
-%global use_jumbo 0
+%global use_jumbo 1
+
+# We usually want this.
+%global build_headless 1
# NEVER EVER EVER turn this on in official builds
%global freeworld 1
@@ -44,9 +47,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*
@@ -121,9 +124,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
@@ -145,14 +148,14 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
-%global majorversion 72
+%global majorversion 73
%if %{freeworld}
Name: chromium%{chromium_channel}%{?freeworld:-freeworld}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.3626.121
+Version: %{majorversion}.0.3683.75
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser
Url:
http://www.chromium.org/Home
@@ -252,7 +255,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-72.0.3626.121-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
@@ -264,7 +267,7 @@
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
@@ -290,27 +293,29 @@ 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
# 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
# Fix compatibility with VA-API library (libva) version 1
Patch124: chromium-71.0.3578.98-vaapi-libva1-compatibility.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch126: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch
-# Fix va check code
-Patch127: chromium-72.0.3626.121-fix-va-check.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
# Use chromium-latest.py to generate clean tarball from released build tarballs, found
here:
#
http://build.chromium.org/buildbot/official/
@@ -364,6 +369,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}
@@ -387,6 +397,11 @@ BuildRequires: nss-devel >= 3.26
BuildRequires: pciutils-devel
BuildRequires: pulseaudio-libs-devel
+# For screen sharing on Wayland, currently Fedora only thing - no epel
+%if 0%{?fedora}
+BuildRequires: pkgconfig(libpipewire-0.2)
+%endif
+
# for /usr/bin/appstream-util
BuildRequires: libappstream-glib
@@ -614,7 +629,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)
@@ -837,7 +852,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
@@ -853,18 +868,22 @@ 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
%patch121 -p1 -b .vaapi
%ifarch i686
%patch122 -p1 -b .i686permissive
%endif
-%patch123 -p1 -b .relaxva
%patch124 -p1 -b .va1compat
%patch126 -p1 -b .gcc9
-%patch127 -p1 -b .fixvacheck
+%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
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -1059,7 +1078,9 @@ CHROMIUM_BROWSER_GN_DEFINES+=' remove_webcore_debug_symbols=true
enable_hangout_
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
-# CHROMIUM_BROWSER_GN_DEFINES+=' enable_webrtc=true'
+%if 0%{?fedora}
+CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true'
+%endif
export CHROMIUM_BROWSER_GN_DEFINES
CHROMIUM_HEADLESS_GN_DEFINES=""
@@ -1090,11 +1111,9 @@ 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/abseil-cpp' \
'third_party/adobe' \
@@ -1235,6 +1254,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' \
@@ -1271,6 +1291,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' \
@@ -1370,8 +1391,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}
@@ -1397,8 +1420,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
@@ -1546,9 +1571,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}/
@@ -1706,7 +1733,9 @@ 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
%{chromium_path}/pyproto/
%{chromium_path}/resources/
@@ -1765,8 +1794,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
@@ -1821,6 +1852,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* 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
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index 6e09024..08c1f94 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,22 +1,7 @@
-From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
-Date: Thu, 24 Jan 2019 12:45:29 +0530
-Subject: [PATCH] Enable mojo with VDA2 on Linux
-
----
- chrome/browser/about_flags.cc | 8 ++++----
- chrome/browser/flag_descriptions.cc | 9 +++++++--
- chrome/browser/flag_descriptions.h | 10 ++++++++--
- gpu/config/software_rendering_list.json | 3 ++-
- media/media_options.gni | 9 ++++++---
- media/mojo/services/gpu_mojo_media_client.cc | 4 ++--
- 6 files changed, 29 insertions(+), 14 deletions(-)
-
-diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index 0a84c6ac1..be2aa1d8b 100644
---- a/chrome/browser/about_flags.cc
-+++ b/chrome/browser/about_flags.cc
-@@ -1714,7 +1714,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,
@@ -25,7 +10,7 @@ index 0a84c6ac1..be2aa1d8b 100644
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
#if defined(OS_WIN)
-@@ -2345,12 +2345,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,11 +26,10 @@ index 0a84c6ac1..be2aa1d8b 100644
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 62637e092..86f89fc6e 100644
---- a/chrome/browser/flag_descriptions.cc
-+++ b/chrome/browser/flag_descriptions.cc
-@@ -3085,15 +3085,20 @@ 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
@@ -68,11 +52,10 @@ index 62637e092..86f89fc6e 100644
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad
three-finger-click";
const char kAllowTouchpadThreeFingerClickDescription[] =
-diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 5dac660bb..6cc4115da 100644
---- a/chrome/browser/flag_descriptions.h
-+++ b/chrome/browser/flag_descriptions.h
-@@ -1846,13 +1846,19 @@ 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)
@@ -94,10 +77,9 @@ index 5dac660bb..6cc4115da 100644
extern const char kAllowTouchpadThreeFingerClickName[];
extern const char kAllowTouchpadThreeFingerClickDescription[];
-diff --git a/gpu/config/software_rendering_list.json
b/gpu/config/software_rendering_list.json
-index 65f37b3f1..ae8a1718f 100644
---- a/gpu/config/software_rendering_list.json
-+++ b/gpu/config/software_rendering_list.json
+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 @@
},
{
@@ -112,62 +94,3 @@ index 65f37b3f1..ae8a1718f 100644
"features": [
"accelerated_video_decode"
]
-diff --git a/media/media_options.gni b/media/media_options.gni
-index 46eaa5818..6e338f651 100644
---- a/media/media_options.gni
-+++ b/media/media_options.gni
-@@ -5,6 +5,7 @@
- import("//build/config/chrome_build.gni")
- import("//build/config/chromecast_build.gni")
- import("//build/config/features.gni")
-+import("//media/gpu/args.gni")
- import("//testing/libfuzzer/fuzzer_test.gni")
-
- # Do not expand this list without double-checking with OWNERS, this is a list of
-@@ -129,8 +130,9 @@ declare_args() {
- # |mojo_media_services|). When enabled, selected mojo paths will be enabled in
- # the media pipeline and corresponding services will hosted in the selected
- # remote process (e.g. "utility" process, see |mojo_media_host|).
-- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
-- is_win || enable_library_cdms
-+ enable_mojo_media =
-+ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
-+ enable_library_cdms || (is_desktop_linux && use_vaapi)
-
- # Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
- # testing only and will override the default platform MojoMediaClient, if any.
-@@ -200,7 +202,8 @@ if (enable_mojo_media) {
- ]
- _default_mojo_media_host = "gpu"
- }
-- } else if (is_chromeos || is_mac || is_win) {
-+ } else if (is_chromeos || is_mac || is_win ||
-+ (is_desktop_linux && use_vaapi)) {
- _default_mojo_media_services = [ "video_decoder" ]
- _default_mojo_media_host = "gpu"
- }
-diff --git a/media/mojo/services/gpu_mojo_media_client.cc
b/media/mojo/services/gpu_mojo_media_client.cc
-index 75f5e611c..09a8fef92 100644
---- a/media/mojo/services/gpu_mojo_media_client.cc
-+++ b/media/mojo/services/gpu_mojo_media_client.cc
-@@ -54,7 +54,7 @@ namespace media {
- namespace {
-
- #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
-- defined(OS_WIN)
-+ defined(OS_WIN) || defined(OS_LINUX)
- gpu::CommandBufferStub* GetCommandBufferStub(
- base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
- base::UnguessableToken channel_token,
-@@ -148,7 +148,7 @@ std::unique_ptr<VideoDecoder>
GpuMojoMediaClient::CreateVideoDecoder(
- android_overlay_factory_cb_, std::move(request_overlay_info_cb),
- std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
- std::move(get_stub_cb)));
--#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
-+#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) ||
defined(OS_LINUX)
- std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
- task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
- gpu_preferences_, gpu_workarounds_,
---
-2.20.1
-