From 2698a79a5d0209e9ab0c131c7c3e076428a29330 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 12 Sep 2019 17:28:51 +0200 Subject: [PATCH] Update to 77.0.3865.75 Rebase and clean the patches. --- ...um-61.0.3163.79-gcc-no-opt-safe-math.patch | 13 - chromium-68.0.3440.106-boolfix.patch | 36 --- ...mium-72.0.3626.121-fedora-user-agent.patch | 12 - chromium-72.0.3626.121-gcc5-r3.patch | 36 --- chromium-75.0.3770.100-fix-v8-gcc.patch | 14 -- chromium-75.0.3770.80-no-zlib-mangle.patch | 14 -- ...-75.0.3770.80-pure-virtual-crash-fix.patch | 24 -- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 ----- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 -------- ...0.3809.100-gcc-feature-policy-parser.patch | 76 ------ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 --- ...0.3809.100-gcc-history-move-noexcept.patch | 42 ---- ....0.3809.100-gcc-initialization-order.patch | 33 --- ...100-gcc-move-explicit-initialization.patch | 97 -------- chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ----- ...0.3809.100-gcc-themeservice-includes.patch | 36 --- chromium-76.0.3809.100-gcc-vulkan.patch | 115 --------- ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ------------------ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 --- ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 ----- ....3809.132-gcc-ambigous-instantiation.patch | 21 -- chromium-77.0.3865.75-boolfix.patch | 24 ++ ...7.0.3865.75-certificate-transparency.patch | 132 +++++----- chromium-77.0.3865.75-fedora-user-agent.patch | 12 + chromium-77.0.3865.75-fix-v8-gcc.patch | 14 ++ ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 13 + chromium-77.0.3865.75-gcc5-r3.patch | 36 +++ chromium-77.0.3865.75-no-zlib-mangle.patch | 22 ++ chromium.spec | 68 +----- sources | 2 +- 30 files changed, 199 insertions(+), 1267 deletions(-) delete mode 100644 chromium-61.0.3163.79-gcc-no-opt-safe-math.patch delete mode 100644 chromium-68.0.3440.106-boolfix.patch delete mode 100644 chromium-72.0.3626.121-fedora-user-agent.patch delete mode 100644 chromium-72.0.3626.121-gcc5-r3.patch delete mode 100644 chromium-75.0.3770.100-fix-v8-gcc.patch delete mode 100644 chromium-75.0.3770.80-no-zlib-mangle.patch delete mode 100644 chromium-75.0.3770.80-pure-virtual-crash-fix.patch delete mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch delete mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch delete mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch delete mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch delete mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch delete mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch delete mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch delete mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch delete mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch delete mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch delete mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch delete mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch create mode 100644 chromium-77.0.3865.75-boolfix.patch rename chromium-76.0.3809.132-certificate-transparency.patch => chromium-77.0.3865.75-certificate-transparency.patch (73%) create mode 100644 chromium-77.0.3865.75-fedora-user-agent.patch create mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch create mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch create mode 100644 chromium-77.0.3865.75-gcc5-r3.patch create mode 100644 chromium-77.0.3865.75-no-zlib-mangle.patch diff --git a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch b/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch deleted file mode 100644 index 183b5ab5..00000000 --- a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h ---- chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 2017-09-06 16:30:15.898454585 -0400 -+++ chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h 2017-09-06 16:30:27.570229539 -0400 -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-68.0.3440.106-boolfix.patch b/chromium-68.0.3440.106-boolfix.patch deleted file mode 100644 index ed22aa99..00000000 --- a/chromium-68.0.3440.106-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-08-09 03:21:23.066802340 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-08-09 03:25:10.638595925 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-08-09 03:21:23.067802318 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h 2018-08-09 03:24:44.935229067 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-08-08 15:11:05.000000000 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h 2018-08-09 03:21:23.067802318 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-72.0.3626.121-fedora-user-agent.patch b/chromium-72.0.3626.121-fedora-user-agent.patch deleted file mode 100644 index 5cef6f01..00000000 --- a/chromium-72.0.3626.121-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent chromium-72.0.3626.121/content/common/user_agent.cc ---- chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent 2019-03-10 14:21:02.877454982 -0400 -+++ chromium-72.0.3626.121/content/common/user_agent.cc 2019-03-10 14:22:05.728812272 -0400 -@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-72.0.3626.121-gcc5-r3.patch b/chromium-72.0.3626.121-gcc5-r3.patch deleted file mode 100644 index f4cf40b2..00000000 --- a/chromium-72.0.3626.121-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-03-01 23:10:21.000000000 -0500 -+++ chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h 2019-03-10 14:07:48.300244125 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-03-01 23:10:31.000000000 -0500 -+++ chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-03-10 14:07:48.303244046 -0400 -@@ -340,7 +340,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-03-10 14:07:48.307243941 -0400 -+++ chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-03-10 14:09:16.565920044 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - #include diff --git a/chromium-75.0.3770.100-fix-v8-gcc.patch b/chromium-75.0.3770.100-fix-v8-gcc.patch deleted file mode 100644 index 4a1a4b04..00000000 --- a/chromium-75.0.3770.100-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-75.0.3770.100/v8/src/objects/js-objects.cc ---- chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-06-25 10:55:08.132254304 -0400 -+++ chromium-75.0.3770.100/v8/src/objects/js-objects.cc 2019-06-25 10:55:23.147933648 -0400 -@@ -3792,6 +3792,10 @@ void JSObject::ApplyAttributesToDictiona - } - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium-75.0.3770.80-no-zlib-mangle.patch b/chromium-75.0.3770.80-no-zlib-mangle.patch deleted file mode 100644 index 998be67a..00000000 --- a/chromium-75.0.3770.80-no-zlib-mangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle chromium-75.0.3770.80/third_party/zlib/zconf.h ---- chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle 2019-06-05 11:12:30.420412467 -0400 -+++ chromium-75.0.3770.80/third_party/zlib/zconf.h 2019-06-05 11:17:43.512683058 -0400 -@@ -8,10 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch b/chromium-75.0.3770.80-pure-virtual-crash-fix.patch deleted file mode 100644 index 06c909ff..00000000 --- a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix 2019-06-07 15:03:43.302202979 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc 2019-06-07 15:04:25.140393048 -0400 -@@ -116,4 +116,9 @@ void RenderProcessUserData::RenderProces - base::Unretained(process_node_.get()), info.exit_code)); - } - -+void RenderProcessUserData::RenderProcessHostDestroyed( -+ content::RenderProcessHost* host) { -+ host->RemoveUserData(kRenderProcessUserDataKey); -+} -+ - } // namespace performance_manager -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix 2019-06-07 15:04:43.530039597 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h 2019-06-07 15:05:13.770458374 -0400 -@@ -47,6 +47,7 @@ class RenderProcessUserData : public bas - void RenderProcessExited( - content::RenderProcessHost* host, - const content::ChildProcessTerminationInfo& info) override; -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; - - // All instances are linked together in a doubly linked list to allow orderly - // destruction at browser shutdown time. diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 5f45a8ff..00000000 --- a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 18:38:12 +0200 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo - -AccountInfo declares them as noexcept and uses default implementation, -so all its members (including AccountId) should be noexcept. But AccountId -is not noexcept. To fix it we just need to make CoreAccountId move -operator/assign operator noexcept. - -Bug: 819294 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 ---- - -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc -index d808082..12eefe3 100644 ---- a/google_apis/gaia/core_account_id.cc -+++ b/google_apis/gaia/core_account_id.cc -@@ -6,8 +6,16 @@ - - CoreAccountId::CoreAccountId() = default; - -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default; -+ -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::~CoreAccountId() = default; - -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; -+ -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h -index 5ea602a..c2d1911 100644 ---- a/google_apis/gaia/core_account_id.h -+++ b/google_apis/gaia/core_account_id.h -@@ -14,8 +14,13 @@ - // for design and tracking). - struct CoreAccountId { - CoreAccountId(); -+ CoreAccountId(const CoreAccountId&); -+ CoreAccountId(CoreAccountId&&) noexcept; - ~CoreAccountId(); - -+ CoreAccountId& operator=(const CoreAccountId&); -+ CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing - // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch deleted file mode 100644 index e4d754a8..00000000 --- a/chromium-76.0.3809.100-gcc-cc-no-except.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 07 Jun 2019 09:50:11 +0000 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept - -As LayerTreeHostImpl::UIResourceData move constructor is declared -noexcept with default implementation, the move constructor of its -members should also be noexcept. GCC will fail to build otherwise -for mismatching noexcept declaration. - -We also set the move assignment operator. - -Bug: 819294 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Commit-Queue: José Dapena Paz -Reviewed-by: Daniel Cheng -Cr-Commit-Position: refs/heads/master@{#667064} ---- - -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc -index 2be2570..8426fa8 100644 ---- a/base/memory/shared_memory_mapping.cc -+++ b/base/memory/shared_memory_mapping.cc -@@ -33,7 +33,7 @@ - - SharedMemoryMapping::SharedMemoryMapping() = default; - --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept - : memory_(mapping.memory_), - size_(mapping.size_), - mapped_size_(mapping.mapped_size_), -@@ -42,7 +42,7 @@ - } - - SharedMemoryMapping& SharedMemoryMapping::operator=( -- SharedMemoryMapping&& mapping) { -+ SharedMemoryMapping&& mapping) noexcept { - Unmap(); - memory_ = mapping.memory_; - size_ = mapping.size_; -@@ -90,9 +90,9 @@ - - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - void* address, - size_t size, -@@ -102,9 +102,9 @@ - - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( - void* address, - size_t size, -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h -index d9569af..2b8858e 100644 ---- a/base/memory/shared_memory_mapping.h -+++ b/base/memory/shared_memory_mapping.h -@@ -32,8 +32,8 @@ - SharedMemoryMapping(); - - // Move operations are allowed. -- SharedMemoryMapping(SharedMemoryMapping&& mapping); -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; - - // Unmaps the region if the mapping is valid. - virtual ~SharedMemoryMapping(); -@@ -93,8 +93,9 @@ - ReadOnlySharedMemoryMapping(); - - // Move operations are allowed. -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; -+ ReadOnlySharedMemoryMapping& operator=( -+ ReadOnlySharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is read-only memory. This is - // page-aligned. This is nullptr for invalid instances. -@@ -171,8 +172,9 @@ - WritableSharedMemoryMapping(); - - // Move operations are allowed. -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; -+ WritableSharedMemoryMapping& operator=( -+ WritableSharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is writable memory. This is - // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch deleted file mode 100644 index 0dbffd54..00000000 --- a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 19:44:58 +0200 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace - -Compilation fails because we are declaring ParseValueForFuzzer as friend method, -but we are declaring it is in anonymous namespace. Moving to global namespace -still fails (in this case in Clang). - -So final solution is making it a public static method of FeaturePolicyParser. - -Bug: 819294 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 ---- - -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -index 3b7f4a9..eaee409 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -@@ -317,6 +317,13 @@ - return value; - } - -+void FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType feature_type, -+ const WTF::String& value_string) { -+ bool ok; -+ ParseValueForType(feature_type, value_string, &ok); -+} -+ - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, - const ParsedFeaturePolicy& policy) { - return std::any_of(policy.begin(), policy.end(), -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -index fd25d90..36af405 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -@@ -16,9 +16,6 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --// Forward declare for friendship. --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); -- - namespace blink { - - class Document; -@@ -79,8 +76,9 @@ - const FeatureNameMap& feature_names, - ExecutionContext* execution_context = nullptr); - -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); -+ - private: -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); - static PolicyValue GetFallbackValueForFeature( - mojom::FeaturePolicyFeature feature); - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -index 7f8e6aa..53350e43 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -@@ -23,9 +23,9 @@ - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - static blink::BlinkFuzzerTestSupport test_support = - blink::BlinkFuzzerTestSupport(); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, -- WTF::String(data, size)); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, -- WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); - return 0; - } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch deleted file mode 100644 index 26bba05a..00000000 --- a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 17:18:40 +0000 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr - -Other HasFraction methods as in PhysicalUnit are declared already -constexpr and using it. It breaks GCC build. - -Bug: 819294. -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 -Reviewed-by: vmpstr -Reviewed-by: Xianzhu Wang -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666336} ---- - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index f073986..b6dbc76 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -202,7 +202,9 @@ - return value_ > 0 ? LayoutUnit() : *this; - } - -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } -+ constexpr bool HasFraction() const { -+ return RawValue() % kFixedPointDenominator; -+ } - - LayoutUnit Fraction() const { - // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch deleted file mode 100644 index 2876de43..00000000 --- a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch +++ /dev/null @@ -1,42 +0,0 @@ -From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 10:27:19 +0200 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow - -In GCC, build is failing because history::QueryURLResult declares its move -assignment operator as noexcept using default implementation. That requires -its members to provide a move assignment operator that is noexcept too. - -But URLRow was missing noexcept declaration in move assignment operator (even -though it was providing noexcept to its move constructor). - -Bug: 819294 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f ---- - -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc -index 44c22fd..aec0101 100644 ---- a/components/history/core/browser/url_row.cc -+++ b/components/history/core/browser/url_row.cc -@@ -26,7 +26,7 @@ - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) = default; -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h -index 8f6f9cf..31a1ef8 100644 ---- a/components/history/core/browser/url_row.h -+++ b/components/history/core/browser/url_row.h -@@ -35,7 +35,7 @@ - - virtual ~URLRow(); - URLRow& operator=(const URLRow& other); -- URLRow& operator=(URLRow&& other); -+ URLRow& operator=(URLRow&& other) noexcept; - - URLID id() const { return id_; } - diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch deleted file mode 100644 index 3bf394f9..00000000 --- a/chromium-76.0.3809.100-gcc-initialization-order.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 21:09:01 +0000 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration - -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the -same order of the declaration. GCC fails because of that. - -Bug: 819294 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 -Reviewed-by: Zhenyao Mo -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666436} ---- - -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f649dd4..0aa6892 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -583,10 +583,10 @@ - - XSetWindowAttributes swa = { - .background_pixmap = 0, -- .bit_gravity = NorthWestGravity, -- .colormap = g_colormap, - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM - .border_pixel = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, - }; - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; - if (ui::IsCompositingManagerPresent() && diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch deleted file mode 100644 index 1d4b90fe..00000000 --- a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +++ /dev/null @@ -1,97 +0,0 @@ -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 08:00:13 +0000 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo - -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks -build because of that. Move the template specializations out of RunInfo declaration -in shape_result_inline_headeres.h to fix the GCC build issue. - -Bug: 819294 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#667901} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -index 76ee6091..c14d3a0 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -@@ -251,37 +251,6 @@ - template - struct iterator final {}; - -- // For non-zero glyph offset array -- template <> -- struct iterator final { -- // The constructor for ShapeResult -- explicit iterator(const GlyphOffsetArray& array) -- : pointer(array.storage_.get()) { -- DCHECK(pointer); -- } -- -- // The constructor for ShapeResultView -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -- DCHECK(pointer); -- } -- -- GlyphOffset operator*() const { return *pointer; } -- void operator++() { ++pointer; } -- -- const GlyphOffset* pointer; -- }; -- -- // For zero glyph offset array -- template <> -- struct iterator final { -- explicit iterator(const GlyphOffsetArray& array) { -- DCHECK(!array.HasStorage()); -- } -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -- GlyphOffset operator*() const { return GlyphOffset(); } -- void operator++() {} -- }; -- - template - iterator GetIterator() const { - return iterator(*this); -@@ -495,6 +464,37 @@ - float width_; - }; - -+// For non-zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ // The constructor for ShapeResult -+ explicit iterator(const GlyphOffsetArray& array) -+ : pointer(array.storage_.get()) { -+ DCHECK(pointer); -+ } -+ -+ // The constructor for ShapeResultView -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -+ DCHECK(pointer); -+ } -+ -+ GlyphOffset operator*() const { return *pointer; } -+ void operator++() { ++pointer; } -+ -+ const GlyphOffset* pointer; -+}; -+ -+// For zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ explicit iterator(const GlyphOffsetArray& array) { -+ DCHECK(!array.HasStorage()); -+ } -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -+ GlyphOffset operator*() const { return GlyphOffset(); } -+ void operator++() {} -+}; -+ - // Find the range of HarfBuzzRunGlyphData for the specified character index - // range. This function uses binary search twice, hence O(2 log n). - inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch deleted file mode 100644 index bc0ed980..00000000 --- a/chromium-76.0.3809.100-gcc-net-fetcher.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 16:56:27 +0000 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace - -GCC does not allow friendship declaration to anonymous namespace as done with Job -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just -makes RemoveJob method public, that was the only reason to make Job a friend. - -Error was: -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - std::unique_ptr delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ - -Bug: 819294 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 -Commit-Queue: Eric Roman -Reviewed-by: Eric Roman -Cr-Commit-Position: refs/heads/master@{#668015} ---- - -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc -index 11a1166..349c656 100644 ---- a/net/cert_net/cert_net_fetcher_impl.cc -+++ b/net/cert_net/cert_net_fetcher_impl.cc -@@ -135,21 +135,19 @@ - void Fetch(std::unique_ptr request_params, - scoped_refptr request); - -+ // Removes |job| from the in progress jobs and transfers ownership to the -+ // caller. -+ std::unique_ptr RemoveJob(Job* job); -+ - // Cancels outstanding jobs, which stops network requests and signals the - // corresponding RequestCores that the requests have completed. - void Shutdown(); - - private: -- friend class Job; -- - // Finds a job with a matching RequestPararms or returns nullptr if there was - // no match. - Job* FindJob(const RequestParams& params); - -- // Removes |job| from the in progress jobs and transfers ownership to the -- // caller. -- std::unique_ptr RemoveJob(Job* job); -- - // The in-progress jobs. This set does not contain the job which is actively - // invoking callbacks (OnJobCompleted). - JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch deleted file mode 100644 index ad40bb9e..00000000 --- a/chromium-76.0.3809.100-gcc-themeservice-includes.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 22:01:03 +0200 -Subject: [PATCH] IWYU: ThemeService requires NativeTheme - -As ThemeService referes to NativeTheme through a ScopedObserver, -the full declaration is required. - -Bug: 819294 -Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 ---- - -diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc -index d65388e2..23dc86d 100644 ---- a/chrome/browser/themes/theme_service.cc -+++ b/chrome/browser/themes/theme_service.cc -@@ -54,7 +54,6 @@ - #include "ui/gfx/color_palette.h" - #include "ui/gfx/image/image_skia.h" - #include "ui/native_theme/common_theme.h" --#include "ui/native_theme/native_theme.h" - - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "base/scoped_observer.h" -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 6c79c72..f93dc0d 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -25,6 +25,7 @@ - #include "extensions/buildflags/buildflags.h" - #include "extensions/common/extension_id.h" - #include "ui/base/theme_provider.h" -+#include "ui/native_theme/native_theme.h" - #include "ui/native_theme/native_theme_observer.h" - - class BrowserThemePack; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch deleted file mode 100644 index cf93bce6..00000000 --- a/chromium-76.0.3809.100-gcc-vulkan.patch +++ /dev/null @@ -1,115 +0,0 @@ -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 17:39:38 +0000 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. - -The notation for initialization of structs referring to its properties -is invalid in C++. This is not accepted in GCC. It was making build -fail in VulkanCommandBuffer. - -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token - .subresourceRange.baseMipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token - .subresourceRange.levelCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token - .subresourceRange.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token - .subresourceRange.layerCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token - .imageSubresource.mipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token - .imageSubresource.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token - .imageSubresource.layerCount = 1, - ^ -Bug: 819294 - -Change-Id: I999abece0c727e77964789183642ba62009c2c22 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 -Commit-Queue: José Dapena Paz -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#668033} ---- - -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc -index ba776e4..4f14c85 100644 ---- a/gpu/vulkan/vulkan_command_buffer.cc -+++ b/gpu/vulkan/vulkan_command_buffer.cc -@@ -207,21 +207,20 @@ - void VulkanCommandBuffer::TransitionImageLayout(VkImage image, - VkImageLayout old_layout, - VkImageLayout new_layout) { -- VkImageMemoryBarrier barrier = { -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, -- .srcAccessMask = GetAccessMask(old_layout), -- .dstAccessMask = GetAccessMask(new_layout), -- .oldLayout = old_layout, -- .newLayout = new_layout, -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .image = image, -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .subresourceRange.baseMipLevel = 0, -- .subresourceRange.levelCount = 1, -- .subresourceRange.baseArrayLayer = 0, -- .subresourceRange.layerCount = 1, -- }; -+ VkImageMemoryBarrier barrier = {}; -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; -+ barrier.srcAccessMask = GetAccessMask(old_layout); -+ barrier.dstAccessMask = GetAccessMask(new_layout); -+ barrier.oldLayout = old_layout; -+ barrier.newLayout = new_layout; -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.image = image; -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ barrier.subresourceRange.baseMipLevel = 0; -+ barrier.subresourceRange.levelCount = 1; -+ barrier.subresourceRange.baseArrayLayer = 0; -+ barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, - nullptr, 1, &barrier); -@@ -233,17 +232,16 @@ - uint32_t buffer_height, - uint32_t width, - uint32_t height) { -- VkBufferImageCopy region = { -- .bufferOffset = 0, -- .bufferRowLength = buffer_width, -- .bufferImageHeight = buffer_height, -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .imageSubresource.mipLevel = 0, -- .imageSubresource.baseArrayLayer = 0, -- .imageSubresource.layerCount = 1, -- .imageOffset = {0, 0, 0}, -- .imageExtent = {width, height, 1}, -- }; -+ VkBufferImageCopy region = {}; -+ region.bufferOffset = 0; -+ region.bufferRowLength = buffer_width; -+ region.bufferImageHeight = buffer_height; -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ region.imageSubresource.mipLevel = 0; -+ region.imageSubresource.baseArrayLayer = 0; -+ region.imageSubresource.layerCount = 1; -+ region.imageOffset = {0, 0, 0}; -+ region.imageExtent = {width, height, 1}; - vkCmdCopyBufferToImage(command_buffer_, buffer, image, - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); - } diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch deleted file mode 100644 index 98789d9b..00000000 --- a/chromium-76.0.3809.100-quiche-compile-fix.patch +++ /dev/null @@ -1,225 +0,0 @@ -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 -@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength - std::string TransportParameterIdToString( - TransportParameters::TransportParameterId param_id) { - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - return "original_connection_id"; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - return "idle_timeout"; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - return "stateless_reset_token"; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - return "max_packet_size"; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - return "initial_max_data"; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - return "initial_max_stream_data_bidi_local"; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - return "initial_max_stream_data_bidi_remote"; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - return "initial_max_stream_data_uni"; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - return "initial_max_streams_bidi"; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - return "initial_max_streams_uni"; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - return "ack_delay_exponent"; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - return "max_ack_delay"; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - return "disable_migration"; -- case kPreferredAddress: -+ case TransportParameters::kPreferredAddress: - return "preferred_address"; -- case kGoogleQuicParam: -+ case TransportParameters::kGoogleQuicParam: - return "google"; -- case kGoogleQuicVersion: -+ case TransportParameters::kGoogleQuicVersion: - return "google-version"; - } - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; -@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const - CBB original_connection_id_param; - if (!in.original_connection_id.IsEmpty()) { - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || - !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || - !CBB_add_bytes( - &original_connection_id_param, -@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const - if (!in.stateless_reset_token.empty()) { - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kStatelessResetToken) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || - !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || - !CBB_add_bytes(&stateless_reset_token_param, - in.stateless_reset_token.data(), -@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const - - // disable_migration - if (in.disable_migration) { -- if (!CBB_add_u16(¶ms, kDisableMigration) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || - !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. - QUIC_BUG << "Failed to write disable_migration for " << in; - return false; -@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const - QUIC_BUG << "Bad lengths " << *in.preferred_address; - return false; - } -- if (!CBB_add_u16(¶ms, kPreferredAddress) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || - !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || - !CBB_add_bytes( - &preferred_address_params, -@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const - if (in.google_quic_params) { - const QuicData& serialized_google_quic_params = - in.google_quic_params->GetSerialized(); -- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || - !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || - !CBB_add_bytes(&google_quic_params, - reinterpret_cast( -@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const - - // Google-specific version extension. - CBB google_version_params; -- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || - !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || - !CBB_add_u32(&google_version_params, in.version)) { - QUIC_BUG << "Failed to write Google version extension for " << in; -@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint - } - bool parse_success = true; - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - if (!out->original_connection_id.IsEmpty()) { - QUIC_DLOG(ERROR) << "Received a second original connection ID"; - return false; -@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint - CBS_len(&value)); - } - break; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); - break; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - if (!out->stateless_reset_token.empty()) { - QUIC_DLOG(ERROR) << "Received a second stateless reset token"; - return false; -@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint - out->stateless_reset_token.assign(CBS_data(&value), - CBS_data(&value) + CBS_len(&value)); - break; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - parse_success = out->max_packet_size.ReadFromCbs(&value); - break; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - parse_success = out->initial_max_data.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - parse_success = - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - parse_success = - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); - break; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - parse_success = out->ack_delay_exponent.ReadFromCbs(&value); - break; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - parse_success = out->max_ack_delay.ReadFromCbs(&value); - break; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - if (out->disable_migration) { - QUIC_DLOG(ERROR) << "Received a second disable migration"; - return false; -@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint - } - out->disable_migration = true; - break; -- case kPreferredAddress: { -+ case TransportParameters::kPreferredAddress: { - uint16_t ipv4_port, ipv6_port; - in_addr ipv4_address; - in6_addr ipv6_address; -@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint - QuicMakeUnique( - preferred_address); - } break; -- case kGoogleQuicParam: { -+ case TransportParameters::kGoogleQuicParam: { - if (out->google_quic_params) { - QUIC_DLOG(ERROR) << "Received a second Google parameter"; - return false; -@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint - reinterpret_cast(CBS_data(&value)), CBS_len(&value)); - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); - } break; -- case kGoogleQuicVersion: { -+ case TransportParameters::kGoogleQuicVersion: { - if (!CBS_get_u32(&value, &out->version)) { - QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; - return false; -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 -@@ -2,10 +2,12 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include -- - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" - -+#include -+#include -+#include -+ - namespace quic { - - namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch deleted file mode 100644 index 5e392e6a..00000000 --- a/chromium-76.0.3809.100-throttling-dead-beef.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 06 Jun 2019 07:54:05 +0000 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t - -We are setting kAlive and kDead values assigning values that -are bigger than the maximum signed int32. It is better to use -uint32_t in this case. - -Bug: 819294 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666619} ---- - -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h -index 43751c4..3c6f87b 100644 ---- a/services/network/throttling/throttling_controller.h -+++ b/services/network/throttling/throttling_controller.h -@@ -38,7 +38,7 @@ - - // TODO(https://crbug.com/960874): Debugging code to try and shed some light - // on why the owned maps are invalid. -- enum class Liveness : int32_t { -+ enum class Liveness : uint32_t { - kAlive = 0xCA11AB13, - kDead = 0xDEADBEEF, - }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch deleted file mode 100644 index a3929716..00000000 --- a/chromium-76.0.3809.100-weak-ptr-no-except.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 18 Jul 2019 14:26:11 +0200 -Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression - -A GCC build regression has happened on DisjointRangeLockManager, as its move -operator and constructor were declared noexcept. This was failing because the -default implementation depended on base::WeakPtr, that did not provide -noexcept declaration for them. - -So make base::WeakPtr noexcept. - -Bug: 819294 -Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 ---- - -diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc -index 64fd499..0efcc44 100644 ---- a/base/memory/weak_ptr.cc -+++ b/base/memory/weak_ptr.cc -@@ -46,7 +46,7 @@ - - WeakReference::~WeakReference() = default; - --WeakReference::WeakReference(WeakReference&& other) = default; -+WeakReference::WeakReference(WeakReference&& other) noexcept = default; - - WeakReference::WeakReference(const WeakReference& other) = default; - -diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h -index 72b5f1f..ccd22fd13 100644 ---- a/base/memory/weak_ptr.h -+++ b/base/memory/weak_ptr.h -@@ -116,9 +116,9 @@ - explicit WeakReference(const scoped_refptr& flag); - ~WeakReference(); - -- WeakReference(WeakReference&& other); -+ WeakReference(WeakReference&& other) noexcept; - WeakReference(const WeakReference& other); -- WeakReference& operator=(WeakReference&& other) = default; -+ WeakReference& operator=(WeakReference&& other) noexcept = default; - WeakReference& operator=(const WeakReference& other) = default; - - bool IsValid() const; -@@ -153,9 +153,9 @@ - ~WeakPtrBase(); - - WeakPtrBase(const WeakPtrBase& other) = default; -- WeakPtrBase(WeakPtrBase&& other) = default; -+ WeakPtrBase(WeakPtrBase&& other) noexcept = default; - WeakPtrBase& operator=(const WeakPtrBase& other) = default; -- WeakPtrBase& operator=(WeakPtrBase&& other) = default; -+ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; - - void reset() { - ref_ = internal::WeakReference(); -@@ -236,7 +236,7 @@ - ptr_ = reinterpret_cast(t); - } - template -- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { -+ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { - // Need to cast from U* to T* to do pointer adjustment in case of multiple - // inheritance. This also enforces the "U is a T" rule. - T* t = reinterpret_cast(other.ptr_); diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch deleted file mode 100644 index 73db4d4c..00000000 --- a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc ---- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 -@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni - "application/x-protobuf", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch new file mode 100644 index 00000000..c8362148 --- /dev/null +++ b/chromium-77.0.3865.75-boolfix.patch @@ -0,0 +1,24 @@ +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 +@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { + + bool is_valid() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { + return std::move(handle_); +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 +@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { + // handle. + bool is_pending() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } + diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch similarity index 73% rename from chromium-76.0.3809.132-certificate-transparency.patch rename to chromium-77.0.3865.75-certificate-transparency.patch index 8bfbceda..82e2958e 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-77.0.3865.75-certificate-transparency.patch @@ -1,18 +1,18 @@ -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 -@@ -17,6 +17,7 @@ - #include "chrome/common/pref_names.h" - #include "chrome/test/base/in_process_browser_test.h" - #include "components/prefs/pref_service.h" +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 +@@ -21,6 +21,7 @@ + #include "components/version_info/version_info.h" + #include "content/public/common/content_switches.h" + #include "content/public/common/user_agent.h" +#include "services/network/public/cpp/network_service_buildflags.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/network_service.mojom.h" #include "testing/gmock/include/gmock/gmock.h" -@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont +@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerStubResolverBrowsertest, - ::testing::Values(false, true)); + SystemNetworkContextManagerFreezeQUICUaBrowsertest, + ::testing::Values(true, false)); + +class SystemNetworkContextManagerCertificateTransparencyBrowsertest + : public SystemNetworkContextManagerBrowsertest, @@ -65,9 +65,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage + , + SystemNetworkContextManagerCertificateTransparencyBrowsertest, + ::testing::Values(base::nullopt, true, false)); -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -82,7 +82,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "base/command_line.h" #include "base/feature_list.h" #include "base/logging.h" -@@ -51,6 +53,7 @@ +@@ -50,6 +52,7 @@ #include "content/public/common/mime_handler_view_mode.h" #include "content/public/common/service_names.mojom.h" #include "content/public/common/user_agent.h" @@ -90,7 +90,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -81,6 +84,20 @@ +@@ -79,6 +82,20 @@ namespace { @@ -111,7 +111,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage // The global instance of the SystemNetworkContextmanager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau +@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) @@ -155,7 +155,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage } const base::Value* value = -@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth +@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth return CreateHttpAuthDynamicParams(g_browser_process->local_state()); } @@ -168,10 +168,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetworkContextParams() { // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 -@@ -158,6 +158,12 @@ class SystemNetworkContextManager { +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 +@@ -139,6 +139,12 @@ class SystemNetworkContextManager { static network::mojom::HttpAuthDynamicParamsPtr GetHttpAuthDynamicParamsForTesting(); @@ -184,10 +184,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage private: class URLLoaderFactoryForSystem; -diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm +diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 +@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); } @@ -196,9 +196,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.cert CertificateTransparencyEnforcementDisabledForCas) { net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 @@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/run_loop.h" @@ -226,10 +226,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_bro void SetUpOnMainThread() override { run_loop_ = std::make_unique(); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi +diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 +@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi SecurityStateTabHelperTest() : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); @@ -243,10 +243,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_bro } void SetUpOnMainThread() override { -diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 -@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : +diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 +@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : public: CertificateTransparencySSLUITest() : CertVerifierBrowserTest(), @@ -263,9 +263,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificat void SetUpOnMainThread() override { CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 -+++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 ++++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 @@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } @@ -286,10 +286,10 @@ diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_po private: // Returns true if the log identified by |log_id| (the SHA-256 hash of the // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc ---- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 -@@ -35,6 +35,7 @@ +diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc +--- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 +@@ -36,6 +36,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/prefs/pref_service_factory.h" @@ -297,7 +297,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #include "mojo/public/cpp/bindings/strong_binding.h" #include "net/base/layered_network_delegate.h" #include "net/base/load_flags.h" -@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A +@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); #endif // BUILDFLAG(ENABLE_REPORTING) @@ -314,7 +314,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- net::HttpNetworkSession::Params session_params; bool is_quic_force_disabled = false; if (network_service_ && network_service_->quic_disabled()) -@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A +@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A #if BUILDFLAG(IS_CT_SUPPORTED) std::vector> ct_logs; @@ -335,7 +335,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A +@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } @@ -353,9 +353,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = -diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc ---- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc +--- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -374,10 +374,10 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer #include "components/network_session_configurator/common/network_switches.h" #include "components/prefs/testing_pref_service.h" +#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/interface_request.h" - #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/bindings/remote.h" + #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -113,6 +116,11 @@ +@@ -115,6 +118,11 @@ #include "url/scheme_host_port.h" #include "url/url_constants.h" @@ -386,11 +386,11 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer +#include "services/network/public/mojom/ct_log_info.mojom.h" +#endif + - #if BUILDFLAG(ENABLE_REPORTING) - #include "net/network_error_logging/network_error_logging_service.h" - #include "net/reporting/reporting_cache.h" -@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki - EXPECT_EQ("None", response_body); + #if !BUILDFLAG(DISABLE_FTP_SUPPORT) + #include "net/ftp/ftp_auth_cache.h" + #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) +@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, + true /* was_cached */, true /* is_navigation */); } +#if BUILDFLAG(IS_CT_SUPPORTED) @@ -462,9 +462,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer } // namespace } // namespace network -diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 +diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -488,10 +488,10 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + // If the log is currently qualified, this will not be set. + mojo_base.mojom.TimeDelta? disqualified_at; }; -diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 -@@ -238,15 +238,6 @@ struct NetworkContextParams { +diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 +@@ -239,15 +239,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; @@ -507,7 +507,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. bool http_09_on_non_default_ports_enabled = false; -@@ -299,6 +290,15 @@ struct NetworkContextParams { +@@ -300,6 +291,15 @@ struct NetworkContextParams { // servers, so they can discover misconfigurations. bool enable_certificate_reporting = false; @@ -523,7 +523,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables Expect CT reporting, which sends reports for opted-in sites that // don't serve sufficient Certificate Transparency information. [EnableIf=is_ct_supported] -@@ -310,6 +310,13 @@ struct NetworkContextParams { +@@ -311,6 +311,13 @@ struct NetworkContextParams { [EnableIf=is_ct_supported] array ct_logs; diff --git a/chromium-77.0.3865.75-fedora-user-agent.patch b/chromium-77.0.3865.75-fedora-user-agent.patch new file mode 100644 index 00000000..8f6de515 --- /dev/null +++ b/chromium-77.0.3865.75-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent chromium-77.0.3865.75/content/common/user_agent.cc +--- chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent 2019-09-12 15:49:11.902270729 +0200 ++++ chromium-77.0.3865.75/content/common/user_agent.cc 2019-09-12 15:50:11.555732044 +0200 +@@ -35,7 +35,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MACOSX) + return "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + return "Linux; "; + #elif defined(OS_POSIX) diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch new file mode 100644 index 00000000..385778c2 --- /dev/null +++ b/chromium-77.0.3865.75-fix-v8-gcc.patch @@ -0,0 +1,14 @@ +diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc +--- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 ++++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 +@@ -3773,6 +3773,10 @@ Handle CreateElementDi + return new_element_dictionary; + } + ++template void JSObject::ApplyAttributesToDictionary( ++ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, ++ const PropertyAttributes attributes); ++ + template + Maybe JSObject::PreventExtensionsWithTransition( + Handle object, ShouldThrow should_throw) { diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch new file mode 100644 index 00000000..d342e2de --- /dev/null +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -0,0 +1,13 @@ +diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 +@@ -24,8 +24,7 @@ + #elif !defined(__native_client__) && \ + ((defined(__clang__) && \ + ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ +- (defined(__GNUC__) && __GNUC__ >= 5)) ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) + #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch new file mode 100644 index 00000000..34b858a8 --- /dev/null +++ b/chromium-77.0.3865.75-gcc5-r3.patch @@ -0,0 +1,36 @@ +diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 ++++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 ++++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 ++++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch new file mode 100644 index 00000000..c32d2264 --- /dev/null +++ b/chromium-77.0.3865.75-no-zlib-mangle.patch @@ -0,0 +1,22 @@ +diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h +--- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 ++++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 +@@ -9,18 +9,6 @@ + #define ZCONF_H + + /* +- * This library is also built as a part of AOSP, which does not need to include +- * chromeconf.h. This config does not want chromeconf.h, so it can set this +- * macro to opt out. While this works today, there's no guarantee that building +- * zlib outside of Chromium keeps working in the future. +- */ +-#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) +-/* This include does prefixing as below, but with an updated set of names. Also +- * sets up export macros in component builds. */ +-#include "chromeconf.h" +-#endif +- +-/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium.spec b/chromium.spec index 877f8f72..a943ad54 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,14 +164,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 76 +%global majorversion 77 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.132 +Version: %{majorversion}.0.3865.75 Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -211,20 +211,20 @@ Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch # Fix libavutil include pathing to find arch specific timer.h # For some reason, this only fails on aarch64. No idea why. Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch # from gentoo -Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch # From gentoo -Patch21: chromium-72.0.3626.121-gcc5-r3.patch +Patch21: chromium-77.0.3865.75-gcc5-r3.patch # To use round with gcc, you need to #include Patch22: chromium-65.0.3325.146-gcc-round-fix.patch # Include proper headers to invoke memcpy() Patch23: chromium-65.0.3325.146-memcpy-fix.patch # ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-68.0.3440.106-boolfix.patch +Patch24: chromium-77.0.3865.75-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch # Do not use unrar code, it is non-free @@ -232,7 +232,7 @@ Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch # Add "Fedora" to the user agent string -Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +Patch29: chromium-77.0.3865.75-fedora-user-agent.patch # Try to fix version.py for Rawhide Patch30: chromium-71.0.3578.98-py2-bootstrap.patch # Fix default on redeclaration error @@ -260,43 +260,11 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# Fix Vulkan compilation with gcc -# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 -Patch47: chromium-76.0.3809.100-gcc-vulkan.patch -# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b -Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch -# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 -Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch -# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c -Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch -# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch -# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e -Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc -Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch -# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb -Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch -# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 -Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch -# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc -Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch -# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 -Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c -Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 -Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -305,7 +273,7 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-76.0.3809.132-certificate-transparency.patch +Patch64: chromium-77.0.3865.75-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -846,7 +814,7 @@ udev. %patch22 -p1 -b .gcc-round-fix %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix -%patch25 -p1 -b .aarch64fix +#%patch25 -p1 -b .aarch64fix %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -861,23 +829,8 @@ udev. %patch38 -p1 -b .disable-ndnpc %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b -%patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .gcc-vulkan -%patch48 -p1 -b .gcc-cc-no-except -%patch49 -p1 -b .gcc-net-fetcher -%patch50 -p1 -b .quiche-compile-fix -%patch51 -p1 -b .throttling-dead-beef -%patch52 -p1 -b .gcc-ambigous-instantiation -%patch53 -p1 -b .weak-ptr-no-except -%patch54 -p1 -b .gcc-feature-policy-parser -%patch55 -p1 -b .gcc-hasfraction-constexpr -%patch56 -p1 -b .gcc-move-explicit-initialization -%patch57 -p1 -b .gcc-initialization-order -%patch58 -p1 -b .gcc-history-move-noexcept -%patch59 -p1 -b .gcc-accountinfo-move-noexcept -%patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined @@ -1466,6 +1419,7 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +echo # Now do the full browser %if 0%{freeworld} ../depot_tools/ninja -C %{target} -vvv media diff --git a/sources b/sources index 2d38a7c3..a1d28bfa 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6