go 73, go!

This commit is contained in:
Tom Callaway 2019-03-14 17:26:19 -04:00
parent 6f3b08b26c
commit 9071ee2d2f
14 changed files with 762 additions and 125 deletions

1
.gitignore vendored
View File

@ -73,3 +73,4 @@
/chromium-70.0.3538.110-clean.tar.xz
/chromium-71.0.3578.98-clean.tar.xz
/chromium-72.0.3626.121-clean.tar.xz
/chromium-73.0.3683.75-clean.tar.xz

108
chromium-73-gcc-0.patch Normal file
View File

@ -0,0 +1,108 @@
From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@intel.com>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@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

99
chromium-73-gcc-1.patch Normal file
View File

@ -0,0 +1,99 @@
From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@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

51
chromium-73-gcc-2.patch Normal file
View File

@ -0,0 +1,51 @@
From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@intel.com>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@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

69
chromium-73-gcc-3.patch Normal file
View File

@ -0,0 +1,69 @@
From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@intel.com>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@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

59
chromium-73-gcc-4.patch Normal file
View File

@ -0,0 +1,59 @@
From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@intel.com>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kentaro Hara <haraken@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

65
chromium-73-gcc-5.patch Normal file
View File

@ -0,0 +1,65 @@
From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@chromium.org>
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: mark a. foltz <mfoltz@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

88
chromium-73-gcc-6.patch Normal file
View File

@ -0,0 +1,88 @@
From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@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@intel.com>
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Alan Cutter <alancutter@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;

View File

@ -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 = ""

View File

@ -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
}

View File

@ -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>

File diff suppressed because one or more lines are too long

View File

@ -1,22 +1,7 @@
From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <akarshan.biswas@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

View File

@ -16,4 +16,4 @@ SHA512 (Tinos-Bold.ttf) = 54aeca804c06a4d5c57ade596e73df91a6a1c4401c4aadba55d987
SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0e22a16414278217f37497b904a18540273c0e2d79d4f1faabde3b0eb5446283b318c73bafb38
SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (chromium-72.0.3626.121-clean.tar.xz) = 28f4ebee0139fdad94529a57da86f817175e86cdc72bfa6c727ac75b134c56b8729a59cce7c12294b8c7dfe64edaf193ae6d246746b4c04dc353aca7d7e95c89
SHA512 (chromium-73.0.3683.75-clean.tar.xz) = f240e8d58f8093db409e4a90a6c2c8dbbef3e5c0ba1d9acd8fd907be4e34042c76329881a4880bf52cc91b8e4949704d041279f91d76fd614c7d2d7020436fe6