Merge branch 'master' into epel8
This commit is contained in:
commit
83eb914815
|
@ -1,30 +0,0 @@
|
||||||
From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
|
|
||||||
From: vasilvv <vasilvv@google.com>
|
|
||||||
Date: Wed, 03 Apr 2019 13:58:53 -0700
|
|
||||||
Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
|
|
||||||
|
|
||||||
QuicStreamSendBuffer constructor is implicitely required in the
|
|
||||||
initialization of the vector of substreams in QuicCryptoStream.
|
|
||||||
Though clang apparently ignores that, GCC fails to build.
|
|
||||||
|
|
||||||
BUG=chromium:819294
|
|
||||||
|
|
||||||
Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
|
|
||||||
|
|
||||||
PiperOrigin-RevId: 241800134
|
|
||||||
Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
|
||||||
index e34514b..74e9d0d 100644
|
|
||||||
--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
|
||||||
+++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
|
||||||
@@ -62,7 +62,7 @@
|
|
||||||
public:
|
|
||||||
explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
|
|
||||||
QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
|
|
||||||
- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
|
|
||||||
+ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
|
|
||||||
~QuicStreamSendBuffer();
|
|
||||||
|
|
||||||
// Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
|
|
|
@ -1,45 +0,0 @@
|
||||||
diff -up chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h.gcc10-aarch64-hack chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h
|
|
||||||
--- chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h.gcc10-aarch64-hack 2020-06-18 14:47:30.912177044 +0000
|
|
||||||
+++ chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h 2020-06-18 14:51:08.230506417 +0000
|
|
||||||
@@ -141,6 +141,15 @@ static inline D bit_pun(const S& s) {
|
|
||||||
return d;
|
|
||||||
}
|
|
||||||
|
|
||||||
+// This is a hack to work around GCC PR95726
|
|
||||||
+template <typename D, typename S>
|
|
||||||
+static inline D bit_pun2(const S& s) {
|
|
||||||
+ static_assert(sizeof(D) == sizeof(S), "");
|
|
||||||
+ D d;
|
|
||||||
+ memcpy(&d, &s, sizeof(D));
|
|
||||||
+ return d;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
// Translate from a value type T to its corresponding Mask, the result of a comparison.
|
|
||||||
template <typename T> struct Mask { using type = T; };
|
|
||||||
template <> struct Mask<float > { using type = int32_t; };
|
|
||||||
@@ -554,9 +563,9 @@ static inline Vec<N,uint8_t> approx_scal
|
|
||||||
static inline Vec<4,float> if_then_else(const Vec<4,int >& c,
|
|
||||||
const Vec<4,float>& t,
|
|
||||||
const Vec<4,float>& e) {
|
|
||||||
- return bit_pun<Vec<4,float>>(vbslq_f32(bit_pun<uint32x4_t> (c),
|
|
||||||
- bit_pun<float32x4_t>(t),
|
|
||||||
- bit_pun<float32x4_t>(e)));
|
|
||||||
+ return bit_pun<Vec<4,float>>(vbslq_f32(bit_pun2<uint32x4_t> (c),
|
|
||||||
+ bit_pun2<float32x4_t>(t),
|
|
||||||
+ bit_pun2<float32x4_t>(e)));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -581,9 +590,9 @@ static inline Vec<N,uint8_t> approx_scal
|
|
||||||
const Vec<4,float>& y,
|
|
||||||
const Vec<4,float>& z) {
|
|
||||||
// These instructions tend to work like z += xy, so the order here is z,x,y.
|
|
||||||
- return bit_pun<Vec<4,float>>(vfmaq_f32(bit_pun<float32x4_t>(z),
|
|
||||||
- bit_pun<float32x4_t>(x),
|
|
||||||
- bit_pun<float32x4_t>(y)));
|
|
||||||
+ return bit_pun<Vec<4,float>>(vfmaq_f32(bit_pun2<float32x4_t>(z),
|
|
||||||
+ bit_pun2<float32x4_t>(x),
|
|
||||||
+ bit_pun2<float32x4_t>(y)));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
diff -up chromium-85.0.4183.102/net/cookies/cookie_monster.cc.fixme chromium-85.0.4183.102/net/cookies/cookie_monster.cc
|
|
||||||
--- chromium-85.0.4183.102/net/cookies/cookie_monster.cc.fixme 2020-09-21 14:52:06.606722391 -0400
|
|
||||||
+++ chromium-85.0.4183.102/net/cookies/cookie_monster.cc 2020-09-21 14:53:40.247366159 -0400
|
|
||||||
@@ -1151,9 +1151,14 @@ CookieMonster::CookieMap::iterator Cooki
|
|
||||||
// |num_keys_| counter.
|
|
||||||
bool different_prev =
|
|
||||||
inserted == cookies_.begin() || std::prev(inserted)->first != key;
|
|
||||||
- bool different_next =
|
|
||||||
- inserted == cookies_.end() || std::next(inserted)->first != key;
|
|
||||||
- if (different_prev && different_next)
|
|
||||||
+ // According to std::multiqueue documentation:
|
|
||||||
+ // "If the container has elements with equivalent key, inserts at the upper
|
|
||||||
+ // bound of that range. (since C++11)"
|
|
||||||
+ // This means that "inserted" iterator either points to the last element in
|
|
||||||
+ // the map, or the element succeeding it has to have different key.
|
|
||||||
+ DCHECK(std::next(inserted) == cookies_.end() ||
|
|
||||||
+ std::next(inserted)->first != key);
|
|
||||||
+ if (different_prev)
|
|
||||||
++num_keys_;
|
|
||||||
|
|
||||||
return inserted;
|
|
||||||
@@ -1373,7 +1378,7 @@ void CookieMonster::InternalDeleteCookie
|
|
||||||
bool different_prev =
|
|
||||||
it == cookies_.begin() || std::prev(it)->first != it->first;
|
|
||||||
bool different_next =
|
|
||||||
- it == cookies_.end() || std::next(it)->first != it->first;
|
|
||||||
+ std::next(it) == cookies_.end() || std::next(it)->first != it->first;
|
|
||||||
if (different_prev && different_next)
|
|
||||||
--num_keys_;
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
From f64e2d2daa64749995253f8ad00679ce74abdc1b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
|
||||||
Date: Wed, 19 Aug 2020 11:02:00 +0200
|
|
||||||
Subject: [PATCH] GCC: ConsumeDurationNumber cannot be a constexpr
|
|
||||||
|
|
||||||
Declaring base::ConsumeDurationNumber as constexpr is not valid, as it
|
|
||||||
uses the BasicStringPiece::begin method, that is not constexpr.
|
|
||||||
|
|
||||||
build error in GCC:
|
|
||||||
../../base/time/time.cc: In function ‘constexpr base::Optional<base::{anonymous}::ParsedDecimal> base::{anonymous}::ConsumeDurationNumber(base::StringPiece&)’:
|
|
||||||
../../base/time/time.cc:67:63: error: call to non-‘constexpr’ function ‘const value_type* base::BasicStringPiece<STRING_TYPE>::begin() const [with STRING_TYPE = std::__cxx11::basic_string<char>; base::BasicStringPiece<STRING_TYPE>::const_iterator = const char*; base::BasicStringPiece<STRING_TYPE>::value_type = char]’
|
|
||||||
67 | StringPiece::const_iterator orig_start = number_string.begin();
|
|
||||||
| ~~~~~~~~~~~~~~~~~~~^~
|
|
||||||
|
|
||||||
Bug: 859294
|
|
||||||
Change-Id: Id987d003f66052848d7083bb33abc3acfd109b73
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/base/time/time.cc b/base/time/time.cc
|
|
||||||
index 1b1a830..7c47419 100644
|
|
||||||
--- a/base/time/time.cc
|
|
||||||
+++ b/base/time/time.cc
|
|
||||||
@@ -61,8 +61,7 @@
|
|
||||||
//
|
|
||||||
// Adapted from absl:
|
|
||||||
// https://cs.chromium.org/chromium/src/third_party/abseil-cpp/absl/time/duration.cc?l=807&rcl=2c22e9135f107a4319582ae52e2e3e6b201b6b7c
|
|
||||||
-constexpr Optional<ParsedDecimal> ConsumeDurationNumber(
|
|
||||||
- StringPiece& number_string) {
|
|
||||||
+Optional<ParsedDecimal> ConsumeDurationNumber(StringPiece& number_string) {
|
|
||||||
ParsedDecimal res;
|
|
||||||
StringPiece::const_iterator orig_start = number_string.begin();
|
|
||||||
// Parse contiguous digits.
|
|
|
@ -1,31 +0,0 @@
|
||||||
From 2879a6ba43b65c33e3c02432b4ae7a7462d24096 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephan Hartmann <stha09@googlemail.com>
|
|
||||||
Date: Fri, 28 Aug 2020 07:23:29 +0000
|
|
||||||
Subject: [PATCH] GCC: fix ImageMemoryBarrierData initialization
|
|
||||||
|
|
||||||
GCC can't convert constant string to char[40]. Use const char * instead.
|
|
||||||
Otherwise fails like this:
|
|
||||||
|
|
||||||
src/libANGLE/renderer/vulkan/vk_helpers.cpp:121:1: error: could not convert
|
|
||||||
'...' from '<brace-enclosed initializer list>' to
|
|
||||||
'const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>'
|
|
||||||
---
|
|
||||||
third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
|
|
||||||
index af957d7..7fe82ae 100644
|
|
||||||
--- a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
|
|
||||||
+++ b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
|
|
||||||
@@ -73,7 +73,7 @@ enum BarrierType
|
|
||||||
|
|
||||||
struct ImageMemoryBarrierData
|
|
||||||
{
|
|
||||||
- char name[40];
|
|
||||||
+ const char *name;
|
|
||||||
|
|
||||||
// The Vk layout corresponding to the ImageLayout key.
|
|
||||||
VkImageLayout layout;
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
From e4b5d6eddf876509c05cb377bc4ce67fae0f3b1c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
|
||||||
Date: Fri, 21 Aug 2020 07:40:33 +0000
|
|
||||||
Subject: [PATCH] GCC: default move constructor of ServiceWorkerRunningInfo noexcept requires StrongAlias noexcept too.
|
|
||||||
|
|
||||||
Fix for this GCC compilation error:
|
|
||||||
../../content/public/browser/service_worker_running_info.cc:26:1: error: function ‘content::ServiceWorkerRunningInfo::ServiceWorkerRunningInfo(content::ServiceWorkerRunningInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’
|
|
||||||
26 | ServiceWorkerRunningInfo::ServiceWorkerRunningInfo(
|
|
||||||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Problem comes from blink::ServiceWorkerToken move constructor being declared
|
|
||||||
noexcept, but its parent StrongAlias not having noexcept.
|
|
||||||
|
|
||||||
Fix making StrongAlias move constructor noexcept too.
|
|
||||||
|
|
||||||
Bug: 819294
|
|
||||||
Change-Id: I127a435b3d1f52f01a40700457ce6e67d5d67af2
|
|
||||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2359077
|
|
||||||
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
|
|
||||||
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
|
||||||
Cr-Commit-Position: refs/heads/master@{#800495}
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/base/util/type_safety/strong_alias.h b/base/util/type_safety/strong_alias.h
|
|
||||||
index ea93928..df49749 100644
|
|
||||||
--- a/base/util/type_safety/strong_alias.h
|
|
||||||
+++ b/base/util/type_safety/strong_alias.h
|
|
||||||
@@ -70,7 +70,8 @@
|
|
||||||
public:
|
|
||||||
constexpr StrongAlias() = default;
|
|
||||||
constexpr explicit StrongAlias(const UnderlyingType& v) : value_(v) {}
|
|
||||||
- constexpr explicit StrongAlias(UnderlyingType&& v) : value_(std::move(v)) {}
|
|
||||||
+ constexpr explicit StrongAlias(UnderlyingType&& v) noexcept
|
|
||||||
+ : value_(std::move(v)) {}
|
|
||||||
|
|
||||||
constexpr UnderlyingType& value() & { return value_; }
|
|
||||||
constexpr const UnderlyingType& value() const& { return value_; }
|
|
||||||
From 4924144afd81017920885aecf4aedfe5d86ae71c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
|
||||||
Date: Fri, 21 Aug 2020 18:32:11 +0200
|
|
||||||
Subject: [PATCH] GCC: pending fix for ServiceWorkerRunningInfo noexcept in move constructor
|
|
||||||
|
|
||||||
It is not enough to make StrongAlias noexcept. TokenType needs to also
|
|
||||||
provide noexcept move constructor.
|
|
||||||
|
|
||||||
Bug: 819294
|
|
||||||
Change-Id: Ib85faa18f66b41053fb71ecee32e818e05685080
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/base/util/type_safety/token_type.h b/base/util/type_safety/token_type.h
|
|
||||||
index 0a12679..2cbfdb7 100644
|
|
||||||
--- a/base/util/type_safety/token_type.h
|
|
||||||
+++ b/base/util/type_safety/token_type.h
|
|
||||||
@@ -23,6 +23,9 @@
|
|
||||||
TokenType() : Super(base::UnguessableToken::Create()) {}
|
|
||||||
explicit TokenType(const base::UnguessableToken& token) : Super(token) {}
|
|
||||||
TokenType(const TokenType& token) : Super(token.value()) {}
|
|
||||||
+ TokenType(TokenType&& token) noexcept : Super(token.value()) {}
|
|
||||||
+ TokenType& operator=(const TokenType& token) = default;
|
|
||||||
+ TokenType& operator=(TokenType&& token) noexcept = default;
|
|
||||||
|
|
||||||
// This object allows default assignment operators for compatibility with
|
|
||||||
// STL containers.
|
|
|
@ -1,25 +0,0 @@
|
||||||
From 849e5c6b3a8746d9205102bd3df4e140cead405a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephan Hartmann <stha09@googlemail.com>
|
|
||||||
Date: Sat, 18 Jul 2020 15:11:13 +0000
|
|
||||||
Subject: [PATCH] GCC: remove explicit from AtomicReference constructor
|
|
||||||
|
|
||||||
---
|
|
||||||
.../nearby/src/cpp/platform_v2/public/atomic_reference.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
|
|
||||||
index 5742724..bbb8c01 100644
|
|
||||||
--- a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
|
|
||||||
+++ b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
|
|
||||||
@@ -37,7 +37,7 @@ class AtomicReference<T, std::enable_if_t<sizeof(T) <= sizeof(std::uint32_t) &&
|
|
||||||
final {
|
|
||||||
public:
|
|
||||||
using Platform = api::ImplementationPlatform;
|
|
||||||
- explicit AtomicReference(T value)
|
|
||||||
+ AtomicReference(T value)
|
|
||||||
: impl_(Platform::CreateAtomicUint32(static_cast<std::uint32_t>(value))) {
|
|
||||||
}
|
|
||||||
~AtomicReference() = default;
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephan Hartmann <stha09@googlemail.com>
|
|
||||||
Date: Sat, 18 Jul 2020 14:15:50 +0000
|
|
||||||
Subject: [PATCH] IWYU: memcpy is defined in cstring
|
|
||||||
|
|
||||||
---
|
|
||||||
third_party/nearby/src/cpp/platform_v2/base/byte_array.h | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
|
|
||||||
index ee5d0eb..4b1d79b 100644
|
|
||||||
--- a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
|
|
||||||
+++ b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
|
|
||||||
@@ -17,6 +17,7 @@
|
|
||||||
|
|
||||||
#include <array>
|
|
||||||
#include <cstdint>
|
|
||||||
+#include <cstring>
|
|
||||||
#include <string>
|
|
||||||
#include <type_traits>
|
|
||||||
#include <utility>
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
Bug: https://bugs.gentoo.org/750038
|
||||||
|
Upstream bug: https://crbug.com/1135070
|
||||||
|
|
||||||
|
--- a/content/browser/service_worker/service_worker_container_host.cc
|
||||||
|
+++ b/content/browser/service_worker/service_worker_container_host.cc
|
||||||
|
@@ -626,6 +626,16 @@
|
||||||
|
int64_t registration_id) {
|
||||||
|
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
|
||||||
|
DCHECK(base::Contains(registration_object_hosts_, registration_id));
|
||||||
|
+
|
||||||
|
+ // ServiceWorkerRegistrationObjectHost to be deleted may have the last reference to
|
||||||
|
+ // ServiceWorkerRegistration that indirectly owns this ServiceWorkerContainerHost.
|
||||||
|
+ // If we erase the object host directly from the map, |this| could be deleted
|
||||||
|
+ // during the map operation and may crash. To avoid the case, we take the
|
||||||
|
+ // ownership of the object host from the map first, and then erase the entry
|
||||||
|
+ // from the map. See https://crbug.com/1135070 for details.
|
||||||
|
+ std::unique_ptr<ServiceWorkerRegistrationObjectHost> to_be_deleted =
|
||||||
|
+ std::move(registration_object_hosts_[registration_id]);
|
||||||
|
+ DCHECK(to_be_deleted);
|
||||||
|
registration_object_hosts_.erase(registration_id);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Fri, 6 Nov 2020 11:18:42 +0000
|
||||||
|
Subject: [PATCH] GCC: fix attribute on function definition
|
||||||
|
|
||||||
|
GCC does not accept attributes at the end for function definitions.
|
||||||
|
Solution is to move it before function name. Otherwise GCC fails like
|
||||||
|
this:
|
||||||
|
|
||||||
|
../../base/compiler_specific.h:97:28: error: attributes are not allowed
|
||||||
|
on a function-definition
|
||||||
|
97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||||
|
| ^~~~~~~~~~~~~
|
||||||
|
../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in
|
||||||
|
expansion of macro 'WARN_UNUSED_RESULT'
|
||||||
|
322 | const T* data) WARN_UNUSED_RESULT {
|
||||||
|
| ^~~~~~~~~~~~~~~~~~
|
||||||
|
---
|
||||||
|
media/gpu/vaapi/vaapi_wrapper.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
|
||||||
|
index fd1fd82..deeda1f 100644
|
||||||
|
--- a/media/gpu/vaapi/vaapi_wrapper.h
|
||||||
|
+++ b/media/gpu/vaapi/vaapi_wrapper.h
|
||||||
|
@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper
|
||||||
|
// Convenient templatized version of SubmitBuffer() where |size| is deduced to
|
||||||
|
// be the size of the type of |*data|.
|
||||||
|
template <typename T>
|
||||||
|
- bool SubmitBuffer(VABufferType va_buffer_type,
|
||||||
|
- const T* data) WARN_UNUSED_RESULT {
|
||||||
|
+ bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type,
|
||||||
|
+ const T* data) {
|
||||||
|
return SubmitBuffer(va_buffer_type, sizeof(T), data);
|
||||||
|
}
|
||||||
|
// Batch-version of SubmitBuffer(), where the lock for accessing libva is
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
diff --git a/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
|
||||||
|
index 19f9aab5b..8073637e9 100644
|
||||||
|
--- a/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
|
||||||
|
+++ b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
|
||||||
|
@@ -35,6 +35,7 @@
|
||||||
|
|
||||||
|
#include "absl/synchronization/internal/graphcycles.h"
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
#include "absl/base/internal/hide_ptr.h"
|
||||||
|
diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp
|
||||||
|
index 013f1dfb2..3ce63c192 100644
|
||||||
|
--- a/third_party/angle/src/libANGLE/HandleAllocator.cpp
|
||||||
|
+++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
|
||||||
|
#include "libANGLE/HandleAllocator.h"
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
|
diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
|
||||||
|
index fd651958f..1e8d0606c 100644
|
||||||
|
--- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc
|
||||||
|
+++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
|
||||||
|
@@ -14,9 +14,9 @@
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
#include "src/trace_processor/containers/string_pool.h"
|
||||||
|
|
||||||
|
-#include <limits>
|
||||||
|
|
||||||
|
#include "perfetto/base/logging.h"
|
||||||
|
#include "perfetto/ext/base/utils.h"
|
||||||
|
diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc
|
||||||
|
index 00496b335..0dccfeb8a 100644
|
||||||
|
--- a/third_party/perfetto/src/trace_processor/db/column.cc
|
||||||
|
+++ b/third_party/perfetto/src/trace_processor/db/column.cc
|
||||||
|
@@ -14,6 +14,7 @@
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
#include "src/trace_processor/db/column.h"
|
||||||
|
|
||||||
|
#include "src/trace_processor/db/compare.h"
|
||||||
|
diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc
|
||||||
|
index 837bfeba9..cdd56817d 100644
|
||||||
|
--- a/third_party/perfetto/src/trace_processor/types/variadic.cc
|
||||||
|
+++ b/third_party/perfetto/src/trace_processor/types/variadic.cc
|
||||||
|
@@ -14,6 +14,7 @@
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
#include "src/trace_processor/types/variadic.h"
|
||||||
|
|
||||||
|
namespace perfetto {
|
||||||
|
diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
|
||||||
|
index be91def6b..73f202356 100644
|
||||||
|
--- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
|
||||||
|
+++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
|
||||||
|
@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
|
||||||
|
}
|
||||||
|
|
||||||
|
GType ax_platform_atk_hyperlink_get_type() {
|
||||||
|
- static volatile gsize type_volatile = 0;
|
||||||
|
+ static gsize type_volatile = 0;
|
||||||
|
|
||||||
|
AXPlatformNodeAuraLinux::EnsureGTypeInit();
|
||||||
|
|
||||||
|
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
|
||||||
|
index 04125c6fd..6c64e5d8e 100644
|
||||||
|
--- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
|
||||||
|
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
|
||||||
|
@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
|
||||||
|
GType GetType() {
|
||||||
|
AXPlatformNodeAuraLinux::EnsureGTypeInit();
|
||||||
|
|
||||||
|
- static volatile gsize type_volatile = 0;
|
||||||
|
+ static gsize type_volatile = 0;
|
||||||
|
if (g_once_init_enter(&type_volatile)) {
|
||||||
|
static const GTypeInfo type_info = {
|
||||||
|
sizeof(AXPlatformNodeAuraLinuxClass), // class_size
|
||||||
|
diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc
|
||||||
|
index c663a2074..38a342484 100644
|
||||||
|
--- a/ui/gtk/gtk_key_bindings_handler.cc
|
||||||
|
+++ b/ui/gtk/gtk_key_bindings_handler.cc
|
||||||
|
@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
|
||||||
|
}
|
||||||
|
|
||||||
|
GType GtkKeyBindingsHandler::HandlerGetType() {
|
||||||
|
- static volatile gsize type_id_volatile = 0;
|
||||||
|
+ static gsize type_id_volatile = 0;
|
||||||
|
if (g_once_init_enter(&type_id_volatile)) {
|
||||||
|
GType type_id = g_type_register_static_simple(
|
||||||
|
GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
|
||||||
|
diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
|
||||||
|
index c0b5a805b..e6f921926 100644
|
||||||
|
--- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
|
||||||
|
+++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
|
||||||
|
@@ -2,6 +2,7 @@
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
+#include <cstddef>
|
||||||
|
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
|
||||||
|
|
||||||
|
#include "base/observer_list.h"
|
||||||
|
diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
|
||||||
|
index 4ad2afa1f..5c4596e12 100644
|
||||||
|
--- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
|
||||||
|
+++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
|
||||||
|
@@ -2,6 +2,7 @@
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
+#include <cstddef>
|
||||||
|
#include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc
|
||||||
|
index 657a3c96b..ad641a082 100644
|
||||||
|
--- a/components/bookmarks/browser/base_bookmark_model_observer.cc
|
||||||
|
+++ b/components/bookmarks/browser/base_bookmark_model_observer.cc
|
||||||
|
@@ -2,6 +2,8 @@
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
+#include <cstddef>
|
||||||
|
+
|
||||||
|
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
|
||||||
|
|
||||||
|
namespace bookmarks {
|
|
@ -177,14 +177,14 @@ BuildRequires: libicu-devel >= 5.4
|
||||||
%global chromoting_client_id %nil
|
%global chromoting_client_id %nil
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global majorversion 86
|
%global majorversion 87
|
||||||
|
|
||||||
%if %{freeworld}
|
%if %{freeworld}
|
||||||
Name: chromium%{chromium_channel}%{nsuffix}
|
Name: chromium%{chromium_channel}%{nsuffix}
|
||||||
%else
|
%else
|
||||||
Name: chromium%{chromium_channel}
|
Name: chromium%{chromium_channel}
|
||||||
%endif
|
%endif
|
||||||
Version: %{majorversion}.0.4240.198
|
Version: %{majorversion}.0.4280.66
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
%if %{?freeworld}
|
%if %{?freeworld}
|
||||||
%if %{?shared}
|
%if %{?shared}
|
||||||
|
@ -240,8 +240,6 @@ Patch53: chromium-77.0.3865.75-gcc-include-memory.patch
|
||||||
Patch54: chromium-79-gcc-protobuf-alignas.patch
|
Patch54: chromium-79-gcc-protobuf-alignas.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-78-protobuf-RepeatedPtrField-export.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-78-protobuf-RepeatedPtrField-export.patch
|
||||||
Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch
|
Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
|
|
||||||
Patch56: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
|
|
||||||
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
|
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
|
||||||
Patch57: chromium-80.0.3987.87-missing-cstdint-header.patch
|
Patch57: chromium-80.0.3987.87-missing-cstdint-header.patch
|
||||||
# Missing <cstring> (thanks c++17)
|
# Missing <cstring> (thanks c++17)
|
||||||
|
@ -249,22 +247,19 @@ Patch58: chromium-80.0.3987.106-missing-cstring-header.patch
|
||||||
# prepare for using system ffmpeg (clean)
|
# prepare for using system ffmpeg (clean)
|
||||||
# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup
|
# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup
|
||||||
Patch59: chromium-53-ffmpeg-no-deprecation-errors.patch
|
Patch59: chromium-53-ffmpeg-no-deprecation-errors.patch
|
||||||
# Work around aarch64 gcc bug (PR95726)
|
|
||||||
# Patch60: chromium-83.0.4103.97-gcc10-aarch64-hack.patch
|
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-84-blink-disable-clang-format.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-84-blink-disable-clang-format.patch
|
||||||
Patch61: chromium-84-blink-disable-clang-format.patch
|
Patch61: chromium-84-blink-disable-clang-format.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-fix-char_traits.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-fix-char_traits.patch
|
||||||
Patch62: chromium-fix-char_traits.patch
|
Patch62: chromium-fix-char_traits.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ConsumeDurationNumber-constexpr.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-87-CursorFactory-include.patch
|
||||||
Patch63: chromium-86-ConsumeDurationNumber-constexpr.patch
|
Patch63: chromium-87-CursorFactory-include.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ImageMemoryBarrierData-init.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-87-openscreen-include.patch
|
||||||
Patch64: chromium-86-ImageMemoryBarrierData-init.patch
|
Patch64: chromium-87-openscreen-include.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-86-nearby-explicit.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-87-ServiceWorkerContainerHost-crash.patch
|
||||||
Patch65: chromium-86-nearby-explicit.patch
|
Patch65: chromium-87-ServiceWorkerContainerHost-crash.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-86-nearby-include.patch
|
# https://github.com/stha09/chromium-patches/blob/master/chromium-88-vaapi-attribute.patch
|
||||||
Patch66: chromium-86-nearby-include.patch
|
Patch66: chromium-88-vaapi-attribute.patch
|
||||||
# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ServiceWorkerRunningInfo-noexcept.patch
|
|
||||||
Patch67: chromium-86-ServiceWorkerRunningInfo-noexcept.patch
|
|
||||||
# Silence GCC warnings during gn compile
|
# Silence GCC warnings during gn compile
|
||||||
Patch68: chromium-84.0.4147.105-gn-gcc-cleanup.patch
|
Patch68: chromium-84.0.4147.105-gn-gcc-cleanup.patch
|
||||||
# Fix missing cstring in remoting code
|
# Fix missing cstring in remoting code
|
||||||
|
@ -273,8 +268,6 @@ Patch69: chromium-84.0.4147.125-remoting-cstring.patch
|
||||||
Patch70: chromium-84.0.4147.125-i686-fix_textrels.patch
|
Patch70: chromium-84.0.4147.125-i686-fix_textrels.patch
|
||||||
# Work around binutils bug in aarch64 (F33+)
|
# Work around binutils bug in aarch64 (F33+)
|
||||||
Patch71: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch
|
Patch71: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch
|
||||||
# https://github.com/chromium/chromium/commit/53478caee862624fc6d73516f8d64253854b146f
|
|
||||||
Patch72: chromium-85.0.4183.102-invalid-end-CookieMonster-53478ca.patch
|
|
||||||
|
|
||||||
# Use lstdc++ on EPEL7 only
|
# Use lstdc++ on EPEL7 only
|
||||||
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
|
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
|
||||||
|
@ -308,6 +301,9 @@ Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch
|
||||||
# Apply these patches to work around EPEL8 issues
|
# Apply these patches to work around EPEL8 issues
|
||||||
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
|
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
|
||||||
|
|
||||||
|
# And fixes for new compilers
|
||||||
|
Patch400: %{name}-gcc11.patch
|
||||||
|
|
||||||
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
|
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
|
||||||
# http://build.chromium.org/buildbot/official/
|
# http://build.chromium.org/buildbot/official/
|
||||||
# For Chromium Fedora use chromium-latest.py --stable --ffmpegclean --ffmpegarm
|
# For Chromium Fedora use chromium-latest.py --stable --ffmpegclean --ffmpegarm
|
||||||
|
@ -879,23 +875,19 @@ udev.
|
||||||
%patch53 -p1 -b .gcc-include-memory
|
%patch53 -p1 -b .gcc-include-memory
|
||||||
%patch54 -p1 -b .base-gcc-no-alignas
|
%patch54 -p1 -b .base-gcc-no-alignas
|
||||||
%patch55 -p1 -b .protobuf-export
|
%patch55 -p1 -b .protobuf-export
|
||||||
%patch56 -p1 -b .gcc-quiche
|
|
||||||
%patch57 -p1 -b .missing-cstdint
|
%patch57 -p1 -b .missing-cstdint
|
||||||
%patch58 -p1 -b .missing-cstring
|
%patch58 -p1 -b .missing-cstring
|
||||||
%patch59 -p1 -b .ffmpeg-deprecations
|
%patch59 -p1 -b .ffmpeg-deprecations
|
||||||
# %%patch60 -p1 -b .gcc10-aarch64-hack
|
|
||||||
%patch61 -p1 -b .blink-disable-clang-format
|
%patch61 -p1 -b .blink-disable-clang-format
|
||||||
%patch62 -p1 -b .fix-char_traits
|
%patch62 -p1 -b .fix-char_traits
|
||||||
%patch63 -p1 -b .ConsumeDurationNumber-constexpr
|
%patch63 -p1 -b .CursorFactory-include
|
||||||
%patch64 -p1 -b .ImageMemoryBarrierData-init
|
%patch64 -p1 -b .openscreen-include
|
||||||
%patch65 -p1 -b .nearby-explicit
|
%patch65 -p1 -b .ServiceWorkerContainerHost-crash
|
||||||
%patch66 -p1 -b .nearby-include
|
%patch66 -p1 -b .vaapi-attribute
|
||||||
%patch67 -p1 -b .ServiceWorkerRunningInfo-noexcept
|
|
||||||
%patch68 -p1 -b .gn-gcc-cleanup
|
%patch68 -p1 -b .gn-gcc-cleanup
|
||||||
%patch69 -p1 -b .remoting-cstring
|
%patch69 -p1 -b .remoting-cstring
|
||||||
%patch70 -p1 -b .i686-textrels
|
%patch70 -p1 -b .i686-textrels
|
||||||
%patch71 -p1 -b .aarch64-clearkeycdm-binutils-workaround
|
%patch71 -p1 -b .aarch64-clearkeycdm-binutils-workaround
|
||||||
%patch72 -p1 -b .invalid-end-CookieMonster
|
|
||||||
|
|
||||||
# Fedora branded user agent
|
# Fedora branded user agent
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
|
@ -929,6 +921,8 @@ udev.
|
||||||
%patch300 -p1 -b .disblegnomekeyring
|
%patch300 -p1 -b .disblegnomekeyring
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%patch400 -p1 -b .gcc11
|
||||||
|
|
||||||
# Change shebang in all relevant files in this directory and all subdirectories
|
# Change shebang in all relevant files in this directory and all subdirectories
|
||||||
# See `man find` for how the `-exec command {} +` syntax works
|
# See `man find` for how the `-exec command {} +` syntax works
|
||||||
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
|
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
|
||||||
|
@ -1926,6 +1920,13 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 18 2020 Tom Callaway <spot@fedoraproject.org> - 87.0.4280.66-1
|
||||||
|
- update to 87.0.4280.66
|
||||||
|
|
||||||
|
* Thu Nov 12 2020 Jeff Law <law@fedoraproject.org> - 86.0.4240.198-1
|
||||||
|
- Fix missing #inclues for gcc-11
|
||||||
|
- Fix bogus volatile caught by gcc-11
|
||||||
|
|
||||||
* Thu Nov 12 2020 Tom Callaway <spot@fedoraproject.org> - 86.0.4240.198-1
|
* Thu Nov 12 2020 Tom Callaway <spot@fedoraproject.org> - 86.0.4240.198-1
|
||||||
- update to 86.0.4240.198
|
- update to 86.0.4240.198
|
||||||
|
|
||||||
|
|
2
sources
2
sources
|
@ -20,4 +20,4 @@ SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a7813786
|
||||||
SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708
|
SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708
|
||||||
SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad
|
SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad
|
||||||
SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a
|
SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a
|
||||||
SHA512 (chromium-86.0.4240.198-clean.tar.xz) = f83f6126faa826a1040d183d535ad6ae0bee77ec3d4c504740b04ddc3ab6b69a76d30a7b855ce1da30e9716f50e52b24e66236272be795a947b1799504a2ce5c
|
SHA512 (chromium-87.0.4280.66-clean.tar.xz) = eba1c5e3a42c226dc4668aa995d14d05254fe2a9941eb712bf48e27a5055cd02de19c82e05f37e2e345305442063734de96e8d3e5a550ed6279d12bfbf5450ef
|
||||||
|
|
Loading…
Reference in New Issue