Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] chromium: update to 84.0.4147.89.
@ 2020-07-19 22:17 pbui
  2020-07-22 20:49 ` [PR PATCH] [Merged]: " jnbr
  0 siblings, 1 reply; 2+ messages in thread
From: pbui @ 2020-07-19 22:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

There is a new pull request by pbui against master on the void-packages repository

https://github.com/pbui/void-packages chromium
https://github.com/void-linux/void-packages/pull/23656

chromium: update to 84.0.4147.89.
- Built for i686, x86_64, x86_64-musl.
- Tested on x86_64.

- Removed yasm (upstream uses nasm).
- Added xcb-proto (and some symlink hacking to make it build with Python2)

- Update musl-fixes patch (some changes have been upstreamed).

- Also update chromium-widevine.

A patch file from https://github.com/void-linux/void-packages/pull/23656.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-23656.patch --]
[-- Type: text/x-diff, Size: 48585 bytes --]

From 56311f1bfb26f4626ddfbe12d957745632590855 Mon Sep 17 00:00:00 2001
From: Peter Bui <pbui@github.bx612.space>
Date: Sun, 19 Jul 2020 12:59:50 -0400
Subject: [PATCH 1/2] chromium: update to 84.0.4147.89.

[ci skip]

- Built for i686, x86_64, x86_64-musl.
- Tested on x86_64.

- Removed yasm (upstream uses nasm).
- Added xcb-proto (and some symlink hacking to make it build with
  Python2)

- Update musl-fixes patch (some changes have been upstreamed).
---
 .../files/musl-patches/musl-fixes.patch       |  33 ++---
 ...chromium-84-crashpad-include-cstring.patch |  90 ++++++++++++
 ...chromium-84-gcc-DCHECK_EQ-unique_ptr.patch |  29 ++++
 .../chromium-84-std-vector-const.patch        |  49 +++++++
 .../patches/clean-up-a-call-to-set_utf8.patch |  34 -----
 ...remove-unsupported-compiler-warnings.patch |  14 +-
 .../upstream-AXObject-stl-iterator.patch      |  36 +++++
 ...-ListContainerHelper-include-cstring.patch |  30 ++++
 ...pstream-add-missing-algorithm-header.patch |  29 ----
 .../upstream-add-missing-limits-header.patch  |  32 ----
 .../upstream-add-missing-memory-header.patch  |  32 ----
 ...teForCurrentDocument-from-destructor.patch |  71 +++++++++
 ...struction-of-ServiceWorkerObjectHost.patch | 138 ------------------
 ...mplete-type-in-AXTree-for-NodeSetSiz.patch |  62 --------
 ...link-custom-iterators-STL-compatible.patch |  95 ------------
 ...calls-and-just-send-a-normal-message.patch |  42 ++++++
 srcpkgs/chromium/template                     |  15 +-
 17 files changed, 373 insertions(+), 458 deletions(-)
 create mode 100644 srcpkgs/chromium/patches/chromium-84-crashpad-include-cstring.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-84-std-vector-const.patch
 delete mode 100644 srcpkgs/chromium/patches/clean-up-a-call-to-set_utf8.patch
 create mode 100644 srcpkgs/chromium/patches/upstream-AXObject-stl-iterator.patch
 create mode 100644 srcpkgs/chromium/patches/upstream-ListContainerHelper-include-cstring.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-add-missing-algorithm-header.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-add-missing-limits-header.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-add-missing-memory-header.patch
 create mode 100644 srcpkgs/chromium/patches/upstream-avoid-calling-DeleteForCurrentDocument-from-destructor.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-avoid-double-destruction-of-ServiceWorkerObjectHost.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
 delete mode 100644 srcpkgs/chromium/patches/upstream-make-some-of-blink-custom-iterators-STL-compatible.patch
 create mode 100644 srcpkgs/chromium/patches/upstream-remove-NotifyError-calls-and-just-send-a-normal-message.patch

diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
index f29d66b98ca..6b50f61fcbd 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
@@ -26,17 +26,6 @@
  namespace google_breakpad {
  
  // Wraps platform-dependent implementations of accessors to ucontext_t structs.
---- ./third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h.orig
-+++ ./third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-@@ -48,7 +48,7 @@
- #if defined(__aarch64__)
- typedef struct fpsimd_context fpstate_t;
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
--typedef struct _libc_fpstate fpstate_t;
-+typedef struct _fpstate fpstate_t;
- #endif
- 
- // These entries store a list of memory regions that the client wants included
 --- ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h.orig
 +++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
 @@ -36,6 +36,7 @@
@@ -47,18 +36,6 @@
  
  #include "common/memory_range.h"
  
-@@ -51,9 +52,9 @@
-   typedef ElfW(Phdr) Phdr;
-   typedef ElfW(Word) Word;
-   typedef ElfW(Addr) Addr;
--#if __WORDSIZE == 32
-+#if ULONG_MAX == 0xffffffff
-   static const int kClass = ELFCLASS32;
--#elif __WORDSIZE == 64
-+#elif ULONG_MAX == 0xffffffffffffffff
-   static const int kClass = ELFCLASS64;
- #else
- #error "Unsupported __WORDSIZE for ElfCoreDump."
 --- ./sandbox/linux/suid/process_util.h.orig
 +++ ./sandbox/linux/suid/process_util.h
 @@ -11,6 +11,14 @@
@@ -213,3 +190,13 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
  
  /*
   * GNU-specific, but avoids the realpath(..., NULL)
+--- mojo/public/cpp/platform/named_platform_channel_posix.cc.orig	2020-07-19 13:26:10.696171063 -0400
++++ mojo/public/cpp/platform/named_platform_channel_posix.cc	2020-07-19 13:26:43.680151714 -0400
+@@ -5,6 +5,7 @@
+ #include "mojo/public/cpp/platform/named_platform_channel.h"
+ 
+ #include <errno.h>
++#include <string.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
diff --git a/srcpkgs/chromium/patches/chromium-84-crashpad-include-cstring.patch b/srcpkgs/chromium/patches/chromium-84-crashpad-include-cstring.patch
new file mode 100644
index 00000000000..2cdd9e702fd
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-84-crashpad-include-cstring.patch
@@ -0,0 +1,90 @@
+From effd506ce070d58e731bd6086681b9cded8573ed Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Sun, 10 May 2020 07:24:38 +0000
+Subject: [PATCH] IWYU: add a bunch of missing cstring includes
+
+---
+ .../crashpad/snapshot/minidump/minidump_context_converter.cc    | 2 ++
+ third_party/crashpad/crashpad/util/linux/ptrace_client.cc       | 1 +
+ .../crashpad/crashpad/util/net/http_multipart_builder.cc        | 1 +
+ third_party/crashpad/crashpad/util/net/http_transport_socket.cc | 2 ++
+ third_party/crashpad/crashpad/util/process/process_memory.cc    | 1 +
+ third_party/crashpad/crashpad/util/stream/log_output_stream.cc  | 1 +
+ 6 files changed, 8 insertions(+)
+
+diff --git a/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc b/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc
+index 0c840deac..1d163b42f 100644
+--- third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc
++++ third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc
+@@ -14,6 +14,8 @@
+ 
+ #include "snapshot/minidump/minidump_context_converter.h"
+ 
++#include <cstring>
++
+ #include "base/stl_util.h"
+ #include "minidump/minidump_context.h"
+ 
+diff --git a/third_party/crashpad/crashpad/util/linux/ptrace_client.cc b/third_party/crashpad/crashpad/util/linux/ptrace_client.cc
+index f097ad985..e91ce2eca 100644
+--- third_party/crashpad/crashpad/util/linux/ptrace_client.cc
++++ third_party/crashpad/crashpad/util/linux/ptrace_client.cc
+@@ -17,6 +17,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ 
++#include <cstring>
+ #include <string>
+ 
+ #include "base/logging.h"
+diff --git a/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc b/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
+index 267960b27..8ed7edc2f 100644
+--- third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
++++ third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
+@@ -16,6 +16,7 @@
+ 
+ #include <sys/types.h>
+ 
++#include <cstring>
+ #include <utility>
+ #include <vector>
+ 
+diff --git a/third_party/crashpad/crashpad/util/net/http_transport_socket.cc b/third_party/crashpad/crashpad/util/net/http_transport_socket.cc
+index 4dd01b6e7..60cd60c17 100644
+--- third_party/crashpad/crashpad/util/net/http_transport_socket.cc
++++ third_party/crashpad/crashpad/util/net/http_transport_socket.cc
+@@ -19,6 +19,8 @@
+ #include <poll.h>
+ #include <sys/socket.h>
+ 
++#include <cstring>
++
+ #include "base/logging.h"
+ #include "base/macros.h"
+ #include "base/numerics/safe_conversions.h"
+diff --git a/third_party/crashpad/crashpad/util/process/process_memory.cc b/third_party/crashpad/crashpad/util/process/process_memory.cc
+index ab87b940f..e02bcea81 100644
+--- third_party/crashpad/crashpad/util/process/process_memory.cc
++++ third_party/crashpad/crashpad/util/process/process_memory.cc
+@@ -15,6 +15,7 @@
+ #include "util/process/process_memory.h"
+ 
+ #include <algorithm>
++#include <cstring>
+ 
+ #include "base/logging.h"
+ #include "util/numeric/safe_assignment.h"
+diff --git a/third_party/crashpad/crashpad/util/stream/log_output_stream.cc b/third_party/crashpad/crashpad/util/stream/log_output_stream.cc
+index 03c0a5a02..45d823aa4 100644
+--- third_party/crashpad/crashpad/util/stream/log_output_stream.cc
++++ third_party/crashpad/crashpad/util/stream/log_output_stream.cc
+@@ -15,6 +15,7 @@
+ #include "util/stream/log_output_stream.h"
+ 
+ #include <algorithm>
++#include <cstring>
+ 
+ #include "base/logging.h"
+ 
+-- 
+2.26.2
diff --git a/srcpkgs/chromium/patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch b/srcpkgs/chromium/patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch
new file mode 100644
index 00000000000..3245a0b10de
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch
@@ -0,0 +1,29 @@
+From 9b749dc5c7fdb0f4b1bd0df5901beb6af1b81ff1 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Sat, 9 May 2020 16:46:07 +0000
+Subject: [PATCH] GCC: fix DCHECK_EQ in NGInlineNode::SegmentScriptRuns
+
+data->segments is a std::unique_ptr, but underlying CheckOpValueStr
+has no overloaded function for std::unique_ptr.
+However, overloaded function with const void* exists and can be
+used with std::unique_ptr::get().
+---
+ .../blink/renderer/core/layout/ng/inline/ng_inline_node.cc      | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
+index 55ca9e3..ee691df 100644
+--- third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
++++ third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
+@@ -891,7 +891,7 @@ void NGInlineNode::SegmentText(NGInlineNodeData* data) {
+ 
+ // Segment NGInlineItem by script, Emoji, and orientation using RunSegmenter.
+ void NGInlineNode::SegmentScriptRuns(NGInlineNodeData* data) {
+-  DCHECK_EQ(data->segments, nullptr);
++  DCHECK_EQ(data->segments.get(), nullptr);
+ 
+   String& text_content = data->text_content;
+   if (text_content.IsEmpty()) {
+-- 
+2.26.2
+
diff --git a/srcpkgs/chromium/patches/chromium-84-std-vector-const.patch b/srcpkgs/chromium/patches/chromium-84-std-vector-const.patch
new file mode 100644
index 00000000000..9df09f13678
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-84-std-vector-const.patch
@@ -0,0 +1,49 @@
+From df982a547c5e88777a6134e5d18a1482d933f1cf Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Wed, 27 May 2020 10:38:26 +0000
+Subject: [PATCH] libstdc++: std::vector must have non-const value_type
+
+Bug: 957519
+Change-Id: I535b3bcf318f98cecbf4be1520ffe4126abcacd8
+---
+
+diff --git a/extensions/common/features/feature_flags.cc b/extensions/common/features/feature_flags.cc
+index 5b63764..7efa308 100644
+--- extensions/common/features/feature_flags.cc
++++ extensions/common/features/feature_flags.cc
+@@ -19,7 +19,7 @@
+ constexpr base::Feature kFeatureFlags[] = {
+     {"DeclarativeNetRequest", base::FEATURE_ENABLED_BY_DEFAULT}};
+ 
+-const std::vector<const base::Feature>* g_feature_flags_test_override = nullptr;
++const std::vector<base::Feature>* g_feature_flags_test_override = nullptr;
+ 
+ template <typename T>
+ const base::Feature* GetFeature(T begin,
+@@ -52,8 +52,8 @@
+ }
+ 
+ ScopedFeatureFlagsOverride CreateScopedFeatureFlagsOverrideForTesting(
+-    const std::vector<const base::Feature>* features) {
+-  return base::AutoReset<const std::vector<const base::Feature>*>(
++    const std::vector<base::Feature>* features) {
++  return base::AutoReset<const std::vector<base::Feature>*>(
+       &g_feature_flags_test_override, features);
+ }
+ 
+diff --git a/extensions/common/features/feature_flags.h b/extensions/common/features/feature_flags.h
+index d1a5dd3..b57740b 100644
+--- extensions/common/features/feature_flags.h
++++ extensions/common/features/feature_flags.h
+@@ -25,9 +25,9 @@
+ // in scope. Clients must ensure that |features| remains alive (non-dangling)
+ // while the returned value is in scope.
+ using ScopedFeatureFlagsOverride =
+-    base::AutoReset<const std::vector<const base::Feature>*>;
++    base::AutoReset<const std::vector<base::Feature>*>;
+ ScopedFeatureFlagsOverride CreateScopedFeatureFlagsOverrideForTesting(
+-    const std::vector<const base::Feature>* features);
++    const std::vector<base::Feature>* features);
+ 
+ }  // namespace extensions
+ 
diff --git a/srcpkgs/chromium/patches/clean-up-a-call-to-set_utf8.patch b/srcpkgs/chromium/patches/clean-up-a-call-to-set_utf8.patch
deleted file mode 100644
index 382601db107..00000000000
--- a/srcpkgs/chromium/patches/clean-up-a-call-to-set_utf8.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ede390a0b18e4565abf8ac1e1ff717e1d43fc320 Mon Sep 17 00:00:00 2001
-From: Paul Wankadia <junyer@chromium.org>
-Date: Tue, 14 Apr 2020 16:54:51 +0000
-Subject: [PATCH] Clean up a call to set_utf8().
-
-This is part of an effort to rewrite calls to utf8() and set_utf8()
-(in RE2::Options) as calls to encoding() and set_encoding(),
-respectively. utf8() and set_utf8() have been marked as the "legacy"
-interface since 2008, so it is long past time that we get rid of them.
-
-R=parastoog@google.com
-
-Change-Id: I62c48cd575a55b519d5264ed857f927c163068b2
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145261
-Reviewed-by: Parastoo Geranmayeh <parastoog@google.com>
-Commit-Queue: Paul Wankadia <junyer@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#758886}
----
- components/autofill/core/browser/address_rewriter.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/components/autofill/core/browser/address_rewriter.cc b/components/autofill/core/browser/address_rewriter.cc
-index 1b85a50974c..030a5aba146 100644
---- components/autofill/core/browser/address_rewriter.cc
-+++ components/autofill/core/browser/address_rewriter.cc
-@@ -57,7 +57,7 @@ void CompileRulesFromData(const std::string& data_string,
-                           CompiledRuleVector* compiled_rules) {
-   base::StringPiece data = data_string;
-   re2::RE2::Options options;
--  options.set_utf8(true);
-+  options.set_encoding(RE2::Options::EncodingUTF8);
-   options.set_word_boundary(true);
- 
-   size_t token_end = 0;
diff --git a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
index 73042bc38e9..c601f372a86 100644
--- a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
+++ b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
@@ -1,12 +1,12 @@
---- build/config/compiler/BUILD.gn.orig	2020-05-20 09:34:53.358598296 -0400
-+++ build/config/compiler/BUILD.gn	2020-05-20 09:35:40.589648947 -0400
-@@ -1508,9 +1508,6 @@
+--- build/config/compiler/BUILD.gn.orig	2020-07-18 09:24:00.272560391 -0400
++++ build/config/compiler/BUILD.gn	2020-07-18 10:09:09.225465782 -0400
+@@ -1495,9 +1495,6 @@
+ 
            # TODO(https://crbug.com/1028110): Evaluate and possible enable.
            "-Wno-deprecated-copy",
- 
+-
 -          # TODO(https://crbug.com/1050281): Clean up, enable.
 -          "-Wno-non-c-typedef-for-linkage",
--
-           # TODO(https://crbug.com/1059231): Clean up, enable.
-           "-Wno-pointer-to-int-cast",
          ]
+ 
+         cflags_c += [
diff --git a/srcpkgs/chromium/patches/upstream-AXObject-stl-iterator.patch b/srcpkgs/chromium/patches/upstream-AXObject-stl-iterator.patch
new file mode 100644
index 00000000000..f0eef29d33b
--- /dev/null
+++ b/srcpkgs/chromium/patches/upstream-AXObject-stl-iterator.patch
@@ -0,0 +1,36 @@
+From f3dfe39f9fd3091cf1a7146b936d9de77a459435 Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <ptworek@vewd.com>
+Date: Mon, 18 May 2020 15:24:35 +0000
+Subject: [PATCH] Make blink::AXObject::AncestorsIterator STL compatible.
+
+Commit 31e5188ffc9a04295997d22bfdb68fc367bef047, "Used some methods from
+AXRoleProperties in AXObject" started using std::any_of with this custom
+iterator type. Unfortunately this iterator does not provide traits
+mandated by the standard. This works fine for libcxx, but fails when
+compiling the code against libstdc++.
+
+Bug: 819294
+Change-Id: I78fe25475593d73ce255f1de955aa41e936dff86
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207112
+Reviewed-by: Kentaro Hara <haraken@chromium.org>
+Commit-Queue: Piotr Tworek <ptworek@vewd.com>
+Cr-Commit-Position: refs/heads/master@{#769713}
+---
+
+diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.h b/third_party/blink/renderer/modules/accessibility/ax_object.h
+index 841715b..fbb87bf 100644
+--- third_party/blink/renderer/modules/accessibility/ax_object.h
++++ third_party/blink/renderer/modules/accessibility/ax_object.h
+@@ -274,6 +274,12 @@
+   class MODULES_EXPORT AncestorsIterator final
+       : public GarbageCollected<AncestorsIterator> {
+    public:
++    using iterator_category = std::forward_iterator_tag;
++    using value_type = AXObject;
++    using difference_type = ptrdiff_t;
++    using pointer = value_type*;
++    using reference = value_type&;
++
+     ~AncestorsIterator() = default;
+ 
+     AncestorsIterator(const AncestorsIterator& other)
diff --git a/srcpkgs/chromium/patches/upstream-ListContainerHelper-include-cstring.patch b/srcpkgs/chromium/patches/upstream-ListContainerHelper-include-cstring.patch
new file mode 100644
index 00000000000..8d605b38d3e
--- /dev/null
+++ b/srcpkgs/chromium/patches/upstream-ListContainerHelper-include-cstring.patch
@@ -0,0 +1,30 @@
+From 408bded3befc625e16ef18f2ff5467e040b203e7 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Wed, 27 May 2020 16:34:56 +0000
+Subject: [PATCH] ListContainerHelper: Include <cstring> for memcpy()
+
+IWYU. This fixes the libstdc++ build after commit 41989bd89 ("Remove/replace
+unnecessary logging.h includes in .cc files (cc)").
+
+Bug: 957519
+Change-Id: I1e782e8310ca548947b2d541af6a2159d928d1f3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2218090
+Reviewed-by: vmpstr <vmpstr@chromium.org>
+Commit-Queue: vmpstr <vmpstr@chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/heads/master@{#772267}
+---
+
+diff --git a/cc/base/list_container_helper.cc b/cc/base/list_container_helper.cc
+index afd386e..7b594b4 100644
+--- cc/base/list_container_helper.cc
++++ cc/base/list_container_helper.cc
+@@ -7,6 +7,7 @@
+ #include <stddef.h>
+ 
+ #include <algorithm>
++#include <cstring>
+ #include <vector>
+ 
+ #include "base/check_op.h"
diff --git a/srcpkgs/chromium/patches/upstream-add-missing-algorithm-header.patch b/srcpkgs/chromium/patches/upstream-add-missing-algorithm-header.patch
deleted file mode 100644
index 0de478ce405..00000000000
--- a/srcpkgs/chromium/patches/upstream-add-missing-algorithm-header.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 2b9d6daa0ab5ce45ec5555466d5a5a583a020ea8 Mon Sep 17 00:00:00 2001
-From: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
-Date: Sat, 18 Apr 2020 00:27:38 +0000
-Subject: [PATCH] Add missing algorithm header in crx_install_error.cc
-
-This is needed for the use of std::find.
-
-Change-Id: I2dc43b3887c467986c5346be5a9e27a987e1e5b3
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152333
-Reviewed-by: Ken Rockot <rockot@google.com>
-Commit-Queue: Ken Rockot <rockot@google.com>
-Cr-Commit-Position: refs/heads/master@{#760272}
----
- extensions/browser/install/crx_install_error.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc
-index a9765bb0a5a..bd0d3e35a16 100644
---- extensions/browser/install/crx_install_error.cc
-+++ extensions/browser/install/crx_install_error.cc
-@@ -4,6 +4,8 @@
- 
- #include "extensions/browser/install/crx_install_error.h"
- 
-+#include <algorithm>
-+
- #include "base/logging.h"
- #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"
- 
diff --git a/srcpkgs/chromium/patches/upstream-add-missing-limits-header.patch b/srcpkgs/chromium/patches/upstream-add-missing-limits-header.patch
deleted file mode 100644
index 1972056d369..00000000000
--- a/srcpkgs/chromium/patches/upstream-add-missing-limits-header.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 74f76a6be385ef056b0be2362c32c728141cca16 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Fri, 17 Apr 2020 16:04:12 +0000
-Subject: [PATCH] IWYU: std::numeric_limits is defined in limits
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: Ifbc379adc5bb7242c21e7da0bcfc28f49e4dd06f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2153111
-Reviewed-by: François Doray <fdoray@chromium.org>
-Commit-Queue: François Doray <fdoray@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#760075}
----
- .../graph/policies/background_tab_loading_policy_helpers.cc      | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
-index 4881c010bb9..593501d16a7 100644
---- chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc.orig	2020-05-20 09:08:05.395896528 -0400
-+++ chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc	2020-05-20 09:12:27.367172702 -0400
-@@ -3,6 +3,10 @@
- // found in the LICENSE file.
- 
- #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
-+
-+#include <cmath>
-+#include <limits>
-+
- #include "base/logging.h"
- 
- namespace performance_manager {
diff --git a/srcpkgs/chromium/patches/upstream-add-missing-memory-header.patch b/srcpkgs/chromium/patches/upstream-add-missing-memory-header.patch
deleted file mode 100644
index b3c0b25634a..00000000000
--- a/srcpkgs/chromium/patches/upstream-add-missing-memory-header.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 40d994e4aa2e4d5077c1810e4623549618a19c05 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek@vewd.com>
-Date: Mon, 27 Apr 2020 16:31:46 +0000
-Subject: [PATCH] Include "memory" header to get the definition of
- std::unique_ptr.
-
-Right now the code im the affected fails to build when using libstdc++
-instead of bundled libcxx. Apparently libcxx pulls the necessary header
-indirectly.
-
-Change-Id: Ie5e86f228434ab16d622ae7a912d9ce607258931
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164645
-Reviewed-by: Jochen Eisinger <jochen@chromium.org>
-Commit-Queue: Jochen Eisinger <jochen@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#762881}
----
- .../blink/renderer/core/html/trust_token_attribute_parsing.h    | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-index f5a7ab03892..ef19cfaf680 100644
---- third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-+++ third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
-@@ -5,6 +5,8 @@
- #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
- #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
- 
-+#include <memory>
-+
- #include "base/optional.h"
- #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
- #include "third_party/blink/renderer/core/core_export.h"
diff --git a/srcpkgs/chromium/patches/upstream-avoid-calling-DeleteForCurrentDocument-from-destructor.patch b/srcpkgs/chromium/patches/upstream-avoid-calling-DeleteForCurrentDocument-from-destructor.patch
new file mode 100644
index 00000000000..812c9c163b0
--- /dev/null
+++ b/srcpkgs/chromium/patches/upstream-avoid-calling-DeleteForCurrentDocument-from-destructor.patch
@@ -0,0 +1,71 @@
+From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001
+From: Yuzu Saijo <yuzus@chromium.org>
+Date: Tue, 2 Jun 2020 04:51:11 +0000
+Subject: [PATCH] [content] Avoid calling DeleteForCurrentDocument from
+ destructor
+
+This CL removes the call to DeleteForCurrentDocument from the destructor
+of ManifestManagerHost.
+
+This intends to fix a crash which happens from time to time using
+RenderDocumentHostUserData.
+
+Change-Id: I1336fb62328dcb0cf9991499f399bf3665d29b75
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224737
+Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
+Reviewed-by: Alexander Timin <altimin@chromium.org>
+Reviewed-by: Sreeja Kamishetty <sreejakshetty@chromium.org>
+Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
+Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#774006}
+---
+ content/browser/manifest/manifest_manager_host.cc | 7 +++++--
+ content/browser/manifest/manifest_manager_host.h  | 2 ++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc
+index 3a2efba889a..1bd88d91edc 100644
+--- content/browser/manifest/manifest_manager_host.cc
++++ content/browser/manifest/manifest_manager_host.cc
+@@ -22,7 +22,7 @@ ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host)
+ }
+ 
+ ManifestManagerHost::~ManifestManagerHost() {
+-  OnConnectionError();
++  DispatchPendingCallbacks();
+ }
+ 
+ void ManifestManagerHost::BindObserver(
+@@ -55,7 +55,7 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() {
+   return *manifest_manager_;
+ }
+ 
+-void ManifestManagerHost::OnConnectionError() {
++void ManifestManagerHost::DispatchPendingCallbacks() {
+   std::vector<GetManifestCallback> callbacks;
+   for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) {
+     callbacks.push_back(std::move(*it.GetCurrentValue()));
+@@ -63,7 +63,10 @@ void ManifestManagerHost::OnConnectionError() {
+   callbacks_.Clear();
+   for (auto& callback : callbacks)
+     std::move(callback).Run(GURL(), blink::Manifest());
++}
+ 
++void ManifestManagerHost::OnConnectionError() {
++  DispatchPendingCallbacks();
+   if (GetForCurrentDocument(manifest_manager_frame_)) {
+     DeleteForCurrentDocument(manifest_manager_frame_);
+   }
+diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h
+index 96951ae30bc..f706c20bdb8 100644
+--- content/browser/manifest/manifest_manager_host.h
++++ content/browser/manifest/manifest_manager_host.h
+@@ -55,6 +55,8 @@ class ManifestManagerHost
+   using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>;
+ 
+   blink::mojom::ManifestManager& GetManifestManager();
++
++  void DispatchPendingCallbacks();
+   void OnConnectionError();
+ 
+   void OnRequestManifestResponse(int request_id,
diff --git a/srcpkgs/chromium/patches/upstream-avoid-double-destruction-of-ServiceWorkerObjectHost.patch b/srcpkgs/chromium/patches/upstream-avoid-double-destruction-of-ServiceWorkerObjectHost.patch
deleted file mode 100644
index 14c59582e65..00000000000
--- a/srcpkgs/chromium/patches/upstream-avoid-double-destruction-of-ServiceWorkerObjectHost.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From bd59ce32629ef684624821419c43967b73d2989e Mon Sep 17 00:00:00 2001
-From: Hiroki Nakagawa <nhiroki@chromium.org>
-Date: Fri, 8 May 2020 08:25:31 +0000
-Subject: [PATCH] ServiceWorker: Avoid double destruction of
- ServiceWorkerObjectHost on connection error
-
-This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
-on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
-with the GCC build toolchain.
-
-> How does the issue happen?
-
-ServiceWorkerObjectHost has a cyclic reference like this:
-
-ServiceWorkerObjectHost
-  --([1] scoped_refptr)--> ServiceWorkerVersion
-    --([2] std::unique_ptr)--> ServiceWorkerProviderHost
-      --([3] std::unique_ptr)--> ServiceWorkerContainerHost
-        --([4] std::unique_ptr)--> ServiceWorkerObjectHost
-
-Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
-map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
-
-When ServiceWorkerObjectHost::OnConnectionError() is called, the
-function removes the reference [4] from the map, and destroys
-ServiceWorkerObjectHost. If the object host has the last reference [1]
-to ServiceWorkerVersion, the destruction also cuts off the references
-[2] and [3], and destroys ServiceWorkerProviderHost and
-ServiceWorkerContainerHost.
-
-This seems to work well on the Chromium's default toolchain, but not
-work on the GCC toolchain. According to the report, destruction of
-ServiceWorkerContainerHost happens while the map owned by the container
-host is erasing the ServiceWorkerObjectHost, and this results in crash
-due to double destruction of the object host.
-
-I don't know the reason why this happens only on the GCC toolchain, but
-I suspect the order of object destruction on std::map::erase() could be
-different depending on the toolchains.
-
-> How does this CL fix this?
-
-The ideal fix is to redesign the ownership model of
-ServiceWorkerVersion, but it's not feasible in the short term.
-
-Instead, this CL avoids destruction of ServiceWorkerObjectHost on
-std::map::erase(). The new code takes the ownership of the object host
-from the map first, and then erases the entry from the map. This
-separates timings to erase the map entry and to destroy the object host,
-so the crash should no longer happen.
-
-Bug: 1056598
-Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2094496
-Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
-Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#766770}
----
- .../service_worker_container_host.cc          | 10 +++++
- .../service_worker_object_host_unittest.cc    | 38 +++++++++++++++++++
- 2 files changed, 48 insertions(+)
-
-diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc
-index ec7fb1449af..98c62093b0e 100644
---- content/browser/service_worker/service_worker_container_host.cc
-+++ content/browser/service_worker/service_worker_container_host.cc
-@@ -669,6 +669,16 @@ void ServiceWorkerContainerHost::RemoveServiceWorkerObjectHost(
-     int64_t version_id) {
-   DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
-   DCHECK(base::Contains(service_worker_object_hosts_, version_id));
-+
-+  // ServiceWorkerObjectHost to be deleted may have the last reference to
-+  // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
-+  // If we erase the object host directly from the map, |this| could be deleted
-+  // during the map operation and may crash. To avoid the case, we take the
-+  // ownership of the object host from the map first, and then erase the entry
-+  // from the map. See https://crbug.com/1056598 for details.
-+  std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
-+      std::move(service_worker_object_hosts_[version_id]);
-+  DCHECK(to_be_deleted);
-   service_worker_object_hosts_.erase(version_id);
- }
- 
-diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc
-index 408d7c1f9d1..6eab59040ab 100644
---- content/browser/service_worker/service_worker_object_host_unittest.cc
-+++ content/browser/service_worker/service_worker_object_host_unittest.cc
-@@ -200,6 +200,19 @@ class ServiceWorkerObjectHostTest : public testing::Test {
-     return registration_info;
-   }
- 
-+  void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
-+                             int64_t version_id) {
-+    // ServiceWorkerObjectHost has the last reference to the version.
-+    ServiceWorkerObjectHost* object_host =
-+        GetServiceWorkerObjectHost(container_host, version_id);
-+    EXPECT_TRUE(object_host->version_->HasOneRef());
-+
-+    // Make sure that OnConnectionError induces destruction of the version and
-+    // the object host.
-+    object_host->receivers_.Clear();
-+    object_host->OnConnectionError();
-+  }
-+
-   BrowserTaskEnvironment task_environment_;
-   std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
-   scoped_refptr<ServiceWorkerRegistration> registration_;
-@@ -409,5 +422,30 @@ TEST_F(ServiceWorkerObjectHostTest, DispatchExtendableMessageEvent_FromClient) {
-             events[0]->source_info_for_client->client_type);
- }
- 
-+// This is a regression test for https://crbug.com/1056598.
-+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
-+  const GURL scope("https://www.example.com/");
-+  const GURL script_url("https://www.example.com/service_worker.js");
-+  Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
-+  SetUpRegistration(scope, script_url);
-+
-+  // Create the provider host.
-+  ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
-+            StartServiceWorker(version_.get()));
-+
-+  // Set up the case where the last reference to the version is owned by the
-+  // service worker object host.
-+  ServiceWorkerContainerHost* container_host =
-+      version_->provider_host()->container_host();
-+  ServiceWorkerVersion* version_rawptr = version_.get();
-+  version_ = nullptr;
-+  ASSERT_TRUE(version_rawptr->HasOneRef());
-+
-+  // Simulate the connection error that induces the object host destruction.
-+  // This shouldn't crash.
-+  CallOnConnectionError(container_host, version_rawptr->version_id());
-+  base::RunLoop().RunUntilIdle();
-+}
-+
- }  // namespace service_worker_object_host_unittest
- }  // namespace content
diff --git a/srcpkgs/chromium/patches/upstream-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch b/srcpkgs/chromium/patches/upstream-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
deleted file mode 100644
index 0306d14ab26..00000000000
--- a/srcpkgs/chromium/patches/upstream-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Mon, 20 Apr 2020 18:21:43 +0000
-Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for
- NodeSetSizePosInSetInfo
-
-has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
-move declaration from ax_tree.cc.
-
-std: :unordered_map<T, U> requires U to be fully declared. ax_tree.h
-Bug: 957519
-Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132403
-Reviewed-by: David Tseng <dtseng@chromium.org>
-Commit-Queue: David Tseng <dtseng@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#760588}
----
- ui/accessibility/ax_tree.cc | 10 ++--------
- ui/accessibility/ax_tree.h  |  9 ++++++++-
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
-index 7b8d9b1b161..e9154028d66 100644
---- ui/accessibility/ax_tree.cc
-+++ ui/accessibility/ax_tree.cc
-@@ -567,14 +567,8 @@ struct AXTreeUpdateState {
-   const AXTree& tree;
- };
- 
--struct AXTree::NodeSetSizePosInSetInfo {
--  NodeSetSizePosInSetInfo() = default;
--  ~NodeSetSizePosInSetInfo() = default;
--
--  int32_t pos_in_set = 0;
--  int32_t set_size = 0;
--  base::Optional<int> lowest_hierarchical_level;
--};
-+AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
-+AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
- 
- struct AXTree::OrderedSetContent {
-   explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
-diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
-index a51ca8de4c8..8c1c57517ac 100644
---- ui/accessibility/ax_tree.h
-+++ ui/accessibility/ax_tree.h
-@@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree {
-   bool enable_extra_mac_nodes_ = false;
- 
-   // Contains pos_in_set and set_size data for an AXNode.
--  struct NodeSetSizePosInSetInfo;
-+  struct NodeSetSizePosInSetInfo {
-+    NodeSetSizePosInSetInfo();
-+    ~NodeSetSizePosInSetInfo();
-+
-+    int32_t pos_in_set = 0;
-+    int32_t set_size = 0;
-+    base::Optional<int> lowest_hierarchical_level;
-+  };
- 
-   // Represents the content of an ordered set which includes the ordered set
-   // items and the ordered set container if it exists.
diff --git a/srcpkgs/chromium/patches/upstream-make-some-of-blink-custom-iterators-STL-compatible.patch b/srcpkgs/chromium/patches/upstream-make-some-of-blink-custom-iterators-STL-compatible.patch
deleted file mode 100644
index de162e18a64..00000000000
--- a/srcpkgs/chromium/patches/upstream-make-some-of-blink-custom-iterators-STL-compatible.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From d3cabbc7321d349a9bffda482df5afc0d4df1ac2 Mon Sep 17 00:00:00 2001
-From: Piotr Tworek <ptworek@vewd.com>
-Date: Thu, 30 Apr 2020 21:33:47 +0000
-Subject: [PATCH] Make some of blink custom iterators STL compatible.
-
-Blink has recently started using functions like std::any_of with some of
-the custom iterators it provides. On Linux this works in the default
-setup using libcxx, but fails with even the most recent versions of
-libstdc++. In all cases the error message (text in bug report) complains
-about lack of matching std::__iterator_category definition.
-
-From what I understand the error message is basically saying those
-iterators are not STL compatible due to missing traits as described
-in https://en.cppreference.com/w/cpp/iterator/iterator_traits. Such
-traits are provided by custom iterators defined in //base, or //cc.
-
-This patch adds the necessary traits to iterators that are currently
-affected by this problem.
-
-Bug: 1076869
-Change-Id: I9950a7100c32499ba96647317fa70b87dc22eaf9
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2174199
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Commit-Queue: Piotr Tworek <ptworek@vewd.com>
-Cr-Commit-Position: refs/heads/master@{#764426}
----
- .../core/layout/ng/ng_physical_container_fragment.h  |  6 ++++++
- .../blink/renderer/platform/wtf/hash_iterators.h     | 12 ++++++++++++
- third_party/blink/renderer/platform/wtf/hash_table.h |  6 ++++++
- 3 files changed, 24 insertions(+)
-
-diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-index 1256e77c146..8b93107f2fc 100644
---- third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-+++ third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
-@@ -38,6 +38,12 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment {
-       STACK_ALLOCATED();
- 
-      public:
-+      using iterator_category = std::bidirectional_iterator_tag;
-+      using value_type = NGLink;
-+      using difference_type = ptrdiff_t;
-+      using pointer = value_type*;
-+      using reference = value_type&;
-+
-       ConstIterator(const NGLink* current) : current_(current) {}
- 
-       const NGLink& operator*() const { return *PostLayoutOrCurrent(); }
-diff --git a/third_party/blink/renderer/platform/wtf/hash_iterators.h b/third_party/blink/renderer/platform/wtf/hash_iterators.h
-index f8e66e6be85..6003d02c509 100644
---- third_party/blink/renderer/platform/wtf/hash_iterators.h
-+++ third_party/blink/renderer/platform/wtf/hash_iterators.h
-@@ -53,6 +53,12 @@ struct HashTableConstIteratorAdapter<HashTableType,
-   typedef HashTableConstValuesIterator<HashTableType, KeyType, MappedType>
-       ValuesIterator;
- 
-+  using iterator_category = std::bidirectional_iterator_tag;
-+  using value_type = HashTableType;
-+  using difference_type = ptrdiff_t;
-+  using pointer = value_type*;
-+  using reference = value_type&;
-+
-   HashTableConstIteratorAdapter() = default;
-   HashTableConstIteratorAdapter(
-       const typename HashTableType::const_iterator& impl)
-@@ -94,6 +100,12 @@ struct HashTableIteratorAdapter<HashTableType,
-   typedef HashTableValuesIterator<HashTableType, KeyType, MappedType>
-       ValuesIterator;
- 
-+  using iterator_category = std::bidirectional_iterator_tag;
-+  using value_type = HashTableType;
-+  using difference_type = ptrdiff_t;
-+  using pointer = value_type*;
-+  using reference = value_type&;
-+
-   HashTableIteratorAdapter() = default;
-   HashTableIteratorAdapter(const typename HashTableType::iterator& impl)
-       : impl_(impl) {}
-diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h
-index f596fb5d41e..5a4468d6bd1 100644
---- third_party/blink/renderer/platform/wtf/hash_table.h
-+++ third_party/blink/renderer/platform/wtf/hash_table.h
-@@ -2204,6 +2204,12 @@ struct HashTableConstIteratorAdapter {
-   STACK_ALLOCATED();
- 
-  public:
-+  using iterator_category = std::bidirectional_iterator_tag;
-+  using value_type = HashTableType;
-+  using difference_type = ptrdiff_t;
-+  using pointer = value_type*;
-+  using reference = value_type&;
-+
-   HashTableConstIteratorAdapter() = default;
-   HashTableConstIteratorAdapter(
-       const typename HashTableType::const_iterator& impl)
diff --git a/srcpkgs/chromium/patches/upstream-remove-NotifyError-calls-and-just-send-a-normal-message.patch b/srcpkgs/chromium/patches/upstream-remove-NotifyError-calls-and-just-send-a-normal-message.patch
new file mode 100644
index 00000000000..c9d259b0074
--- /dev/null
+++ b/srcpkgs/chromium/patches/upstream-remove-NotifyError-calls-and-just-send-a-normal-message.patch
@@ -0,0 +1,42 @@
+From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001
+From: Ted Meyer <tmathmeyer@chromium.org>
+Date: Mon, 1 Jun 2020 19:31:18 +0000
+Subject: [PATCH] Remove NotifyError calls and just send a normal message
+ instead
+
+rewrote the TODO as well.
+
+Bug: 1088055
+Change-Id: If83ceeb3a786a1813e41bd3ac6c7309791e92400
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223010
+Auto-Submit: Ted Meyer <tmathmeyer@chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
+Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#773776}
+---
+ media/filters/decoder_selector.cc | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc
+index bb06378b92d..9f510bb578c 100644
+--- media/filters/decoder_selector.cc
++++ media/filters/decoder_selector.cc
+@@ -165,13 +165,11 @@ void DecoderSelector<StreamType>::OnDecoderInitializeDone(Status status) {
+   DCHECK(task_runner_->BelongsToCurrentThread());
+ 
+   if (!status.is_ok()) {
+-    // TODO(tmathmeyer) this might be noisy in media log. Consider batching
+-    // all failures as causes to a single Status object and only surfacing it if
+-    // decoder selection fails entirely.
+-    media_log_->NotifyError(
+-        Status(StatusCode::kDecoderFailedInitialization)
+-            .WithData("Decoder name", decoder_->GetDisplayName())
+-            .AddCause(std::move(status)));
++    // TODO(tmathmeyer) this was too noisy in media log. Batch all the logs
++    // together and then send them as an informational notice instead of
++    // using NotifyError.
++    MEDIA_LOG(INFO, media_log_)
++        << "Failed to initialize " << decoder_->GetDisplayName();
+ 
+     // Try the next decoder on the list.
+     decoder_.reset();
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 5295224da83..96a8953d335 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See http://www.chromium.org/developers/calendar for the latest version
-version=83.0.4103.116
+version=84.0.4147.89
 revision=1
 archs="i686 x86_64*"
 short_desc="Google's attempt at creating a safer, faster, and more stable browser"
@@ -9,7 +9,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=bb0c7e8dfee9f3a5e30eca7f34fc9f21caefa82a86c058c552f52b1ae2da2ac3
+checksum=17970d998c125b40765141f2cd346d1674f05dbd4a28fdcf31f9e3540890c679
 
 lib32disabled=yes
 nodebug=yes
@@ -22,7 +22,7 @@ desc_option_vaapi="Enable support for VA-API"
 desc_option_pulseaudio="Enable support for PulseAudio"
 desc_option_sndio="Enable support for sndio"
 
-hostmakedepends="$(vopt_if clang clang) yasm python pkgconf perl gperf bison ninja nodejs hwids
+hostmakedepends="$(vopt_if clang clang) python pkgconf perl gperf bison ninja nodejs hwids
  libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk)"
 makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel
@@ -33,7 +33,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
  re2-devel fontconfig-devel freetype-devel opus-devel
- ffmpeg-devel libva-devel python-setuptools $(vopt_if sndio sndio-devel)"
+ ffmpeg-devel libva-devel python-setuptools xcb-proto $(vopt_if sndio sndio-devel)"
 depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils"
 
 build_options_default="clang pulseaudio vaapi"
@@ -73,6 +73,9 @@ post_extract() {
 		sed -i '/config("compiler")/ a cflags_cc = [ "-fno-delete-null-pointer-checks" ]' \
 			build/config/linux/BUILD.gn
 	fi
+
+	# Make xcbgen available to ui/gfx/x/gen_xproto.py running under Python 2
+	ln -s /usr/lib/python3.*/site-packages/xcbgen "${wrksrc}"
 }
 do_configure() {
 	local system="" conf=()
@@ -111,7 +114,6 @@ do_configure() {
 		opus
 		re2
 		snappy
-		yasm
 	"
 
 	# remove build scripts for system provided dependencies - basically does the
@@ -124,7 +126,6 @@ do_configure() {
 			\! -path './base/third_party/icu/*' \
 			\! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
 			\! -path './third_party/harfbuzz-ng/utils/hb_scoped.h' \
-			\! -path './third_party/yasm/run_yasm.py' \
 			\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
 			-delete
 	done
@@ -240,6 +241,8 @@ do_configure() {
 	out/Release/gn gen out/Release --args="${conf[*]}"
 }
 do_build() {
+	export PYTHONPATH=${wrksrc}
+
 	ninja -C out/Release ${makejobs} chrome chromedriver mksnapshot
 }
 do_install() {

From a0a14490084fb24279fb7653b5013515324a77e1 Mon Sep 17 00:00:00 2001
From: Peter Bui <pbui@github.bx612.space>
Date: Sun, 19 Jul 2020 18:09:53 -0400
Subject: [PATCH 2/2] chromium-widevine: update to 84.0.4147.89.

[ci skip]
---
 srcpkgs/chromium-widevine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chromium-widevine/template b/srcpkgs/chromium-widevine/template
index 8a0e5b70ec4..70f097c7c08 100644
--- a/srcpkgs/chromium-widevine/template
+++ b/srcpkgs/chromium-widevine/template
@@ -6,7 +6,7 @@ _chromeVersion="current"
 _channel="stable"
 
 pkgname=chromium-widevine
-version=83.0.4103.116
+version=84.0.4147.89
 revision=1
 archs="x86_64"
 create_wrksrc=yes
@@ -17,7 +17,7 @@ depends="chromium binutils xz"
 homepage="https://www.google.com/chrome"
 repository=nonfree
 distfiles="https://dl.google.com/linux/direct/google-chrome-${_channel}_${_chromeVersion}_amd64.deb"
-checksum=861cc9c0ca8471f875e3413a8255c277c074d1a28064002fb694695096d8febd
+checksum=9f8fd8f23a8402c45ef90668285dd37407ae13801fda652fb31a4f2ff47ef0c3
 
 do_extract() {
 	:

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PR PATCH] [Merged]: chromium: update to 84.0.4147.89.
  2020-07-19 22:17 [PR PATCH] chromium: update to 84.0.4147.89 pbui
@ 2020-07-22 20:49 ` jnbr
  0 siblings, 0 replies; 2+ messages in thread
From: jnbr @ 2020-07-22 20:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 444 bytes --]

There's a merged pull request on the void-packages repository

chromium: update to 84.0.4147.89.
https://github.com/void-linux/void-packages/pull/23656

Description:
- Built for i686, x86_64, x86_64-musl.
- Tested on x86_64.

- Removed yasm (upstream uses nasm).
- Added xcb-proto (and some symlink hacking to make it build with Python2)

- Update musl-fixes patch (some changes have been upstreamed).

- Also update chromium-widevine.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-07-22 20:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-19 22:17 [PR PATCH] chromium: update to 84.0.4147.89 pbui
2020-07-22 20:49 ` [PR PATCH] [Merged]: " jnbr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).