From 6f1fccc2d52923b614aca9b34c835cd9997b6947 Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Wed, 10 Mar 2021 14:14:40 -0500 Subject: [PATCH 1/2] chromium: update to 89.0.4389.82. - Built for x86_64, x86_64-musl, i686. - Tested on x86_64. - Use pipewire 0.3 (default in 90). - Remove Google API client id and secret. - Video acceleration is now a feature that must be enabled in chrome://flags. --- .../files/musl-patches/musl-fixes.patch | 22 +-- .../chromium-87-openscreen-include.patch | 25 ---- .../chromium-88-AXTreeFormatter-include.patch | 27 ---- ...ium-88-BookmarkModelObserver-include.patch | 21 --- ...um-88-CompositorFrameReporter-dcheck.patch | 36 ----- .../chromium-88-StringPool-include.patch | 20 --- ...romium-88-federated_learning-include.patch | 21 --- ...hromium-88-ideographicSpaceCharacter.patch | 27 ---- .../patches/chromium-88-ityp-include.patch | 25 ---- .../patches/chromium-88-vaapi-attribute.patch | 39 ----- ...chromium-89-AXTreeSerializer-include.patch | 25 ++++ ...-add-dependency-on-opus-in-webcodecs.patch | 43 ++++++ .../patches/chromium-89-dawn-include.patch | 28 ++++ .../patches/chromium-89-quiche-dcheck.patch | 29 ++++ .../patches/chromium-89-skia-CropRect.patch | 38 +++++ ...mium-89-x11-ozone-fix-two-edge-cases.patch | 135 ++++++++++++++++++ ...remove-unsupported-compiler-warnings.patch | 26 ---- .../patches/xxx-ppc64le-support.patch | 32 ++--- srcpkgs/chromium/template | 15 +- 19 files changed, 327 insertions(+), 307 deletions(-) delete mode 100644 srcpkgs/chromium/patches/chromium-87-openscreen-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-StringPool-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-ityp-include.patch delete mode 100644 srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-AXTreeSerializer-include.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-add-dependency-on-opus-in-webcodecs.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-dawn-include.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-quiche-dcheck.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-skia-CropRect.patch create mode 100644 srcpkgs/chromium/patches/chromium-89-x11-ozone-fix-two-edge-cases.patch delete mode 100644 srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch index a7832ff32e8d..aec60fd62092 100644 --- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch +++ b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch @@ -75,24 +75,24 @@ #if HAVE_UNISTD_H #include diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -39,7 +39,9 @@ - #endif // defined(OS_ANDROID) && defined(__arm__) - - #if defined(OS_LINUX) && !defined(OS_CHROMEOS) +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-03-10 07:23:00.145810088 -0500 ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc 2021-03-10 10:57:19.405962671 -0500 +@@ -55,7 +55,9 @@ + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(__GLIBC__) #include +#endif #include "base/linux_util.h" #include "base/strings/string_split.h" -@@ -295,7 +297,7 @@ void RecordLinuxDistro() { - #endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) - +@@ -316,7 +318,7 @@ void RecordLinuxGlibcVersion() { --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if defined(__GLIBC__) && !defined(OS_CHROMEOS) + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS) base::Version version(gnu_get_libc_version()); UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE; diff --git a/srcpkgs/chromium/patches/chromium-87-openscreen-include.patch b/srcpkgs/chromium/patches/chromium-87-openscreen-include.patch deleted file mode 100644 index 03ae0e9eda7e..000000000000 --- a/srcpkgs/chromium/patches/chromium-87-openscreen-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 2 Oct 2020 12:11:58 +0000 -Subject: [PATCH] IWYU: uint8_t is defined in stdint.h - ---- - third_party/openscreen/src/util/crypto/random_bytes.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/openscreen/src/util/crypto/random_bytes.h b/third_party/openscreen/src/util/crypto/random_bytes.h -index 3cb2fa8..025b52c 100644 ---- third_party/openscreen/src/util/crypto/random_bytes.h -+++ third_party/openscreen/src/util/crypto/random_bytes.h -@@ -7,6 +7,8 @@ - - #include - -+#include -+ - namespace openscreen { - - std::array GenerateRandomBytes16(); --- -2.26.2 - diff --git a/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch b/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch deleted file mode 100644 index 547810989206..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6e402d97c2dec5726f37e95f97b7f7e12b1d3b1d Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 11 Nov 2020 11:02:13 +0100 -Subject: [PATCH] IWYU: include headers for std::vector and std::unique_ptr in AXTreeFormatter - -Fix these build errors with libstdc++: -../../ui/accessibility/platform/inspect/tree_formatter.h:35:12: error: ‘std::vector’ has not been declared -../../ui/accessibility/platform/inspect/tree_formatter.h:61:16: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type - -Bug: 957519 -Change-Id: I402ac0644255b3cd4932ff2fe72d999b125a7895 ---- - -diff --git a/ui/accessibility/platform/inspect/tree_formatter.h b/ui/accessibility/platform/inspect/tree_formatter.h -index 4a70a4d..bb23768 100644 ---- ui/accessibility/platform/inspect/tree_formatter.h -+++ ui/accessibility/platform/inspect/tree_formatter.h -@@ -5,6 +5,9 @@ - #ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ - #define UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ - -+#include -+#include -+ - #include "ui/accessibility/platform/inspect/inspect.h" - - #include "ui/gfx/native_widget_types.h" diff --git a/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch b/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch deleted file mode 100644 index 0b26a60a36e7..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 127ec3b1bf26ab37f2ae8333f284008868756274 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 21 Nov 2020 15:59:23 +0000 -Subject: [PATCH] IWYU: size_t is defined stddef.h - -Change-Id: I4400ac7c6004b49ec6e72c44f2754e2166642f88 ---- - -diff --git a/components/bookmarks/browser/bookmark_model_observer.h b/components/bookmarks/browser/bookmark_model_observer.h -index 69c40e7..0e5eb96 100644 ---- components/bookmarks/browser/bookmark_model_observer.h -+++ components/bookmarks/browser/bookmark_model_observer.h -@@ -7,6 +7,8 @@ - - #include - -+#include -+ - class GURL; - - namespace bookmarks { diff --git a/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch b/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch deleted file mode 100644 index aa1c52e0b7e2..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 56c654a91600e3bf254aa9f66c1151b0850b6ee4 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 11 Nov 2020 10:24:47 +0100 -Subject: [PATCH] GCC: do not pass unique_ptr to DCHECK_NE, but the actual pointer, in CompositorFrameReporter - -DCHECK_NE comparison requires CheckOpValueStr to be defined for the -type, or providing an output stream operator. A unique_ptr does not -provide any. - -Compilation in GCC is failing in CompositorFrameReporter because of -this: -../../cc/metrics/compositor_frame_reporter.cc: In member function ‘void cc::CompositorFrameReporter::ReportEventLatencyHistograms() const’: -../../base/check_op.h:224:59: error: no matching function for call to ‘CheckOpValueStr(const std::unique_ptr&)’ - -Fixed comparing the result of get() method for unique_ptr instead of -the unique_ptr. - -Bug: 819294 -Change-Id: I11103d1867c7196c1de92e72f9f12dcfd31c29f1 - -(updated to use DCHECK as suggested in comments) ---- - -diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc -index 725beb0..fafd0f3 100644 ---- cc/metrics/compositor_frame_reporter.cc -+++ cc/metrics/compositor_frame_reporter.cc -@@ -686,7 +686,7 @@ - - void CompositorFrameReporter::ReportEventLatencyHistograms() const { - for (const auto& event_metrics : events_metrics_) { -- DCHECK_NE(event_metrics, nullptr); -+ DCHECK(event_metrics); - const std::string histogram_base_name = - GetEventLatencyHistogramBaseName(*event_metrics); - const int event_type_index = static_cast(event_metrics->type()); diff --git a/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch b/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch deleted file mode 100644 index e55bbae2ece7..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 372366b4180533f27d3250a50810828370d697b0 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 21 Nov 2020 16:12:18 +0000 -Subject: [PATCH] IWYU: include limits for std::numeric_limits - -Change-Id: Ia5226e1432a622f4f4abc8f1b18bcab8638a73c6 ---- - -diff --git a/src/trace_processor/containers/string_pool.h b/src/trace_processor/containers/string_pool.h -index 11ae91c..58c6db2 100644 ---- third_party/perfetto/src/trace_processor/containers/string_pool.h -+++ third_party/perfetto/src/trace_processor/containers/string_pool.h -@@ -22,6 +22,7 @@ - - #include - #include -+#include - - #include "perfetto/ext/base/optional.h" - #include "perfetto/ext/base/paged_memory.h" diff --git a/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch b/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch deleted file mode 100644 index 3eb1537d8012..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch +++ /dev/null @@ -1,21 +0,0 @@ -From bcb20babee602b55fe4bd026e13a41d10b89632f Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 21 Nov 2020 15:55:02 +0000 -Subject: [PATCH] IWYU: include limits for std::numeric_limits - -Change-Id: I1b6b07ebb397a29c84d3ed51ae41523e3ecab497 ---- - -diff --git a/components/federated_learning/floc_constants.cc b/components/federated_learning/floc_constants.cc -index df66e5d..2eb50f1 100644 ---- components/federated_learning/floc_constants.cc -+++ components/federated_learning/floc_constants.cc -@@ -4,6 +4,8 @@ - - #include "components/federated_learning/floc_constants.h" - -+#include -+ - namespace federated_learning { - - // This is only for experimentation and won't be served to websites. diff --git a/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch b/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch deleted file mode 100644 index 38a11423b2de..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 75ff882bb5f2fcd14431e65fa638ae72bdb47086 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 15 Nov 2020 14:31:23 +0000 -Subject: [PATCH] fix ideographicSpaceCharacter constant for system icu - -https://chromium-review.googlesource.com/c/chromium/src/+/1687411 -renamed ideographicSpaceCharacter to kIdeographicSpaceCharacter. ---- - third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -index fb8ab05..5d4ea13 100644 ---- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -+++ third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -@@ -432,7 +432,7 @@ String TextCodecICU::Decode(const char* bytes, - // ICU decodes it as U+E5E5. - if (!strcmp(encoding_.GetName(), "GBK")) { - if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) -- resultString.Replace(0xE5E5, ideographicSpaceCharacter); -+ resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); - // Make GBK compliant to the encoding spec and align with GB18030 - resultString.Replace(0x01F9, 0xE7C8); - // FIXME: Once https://www.w3.org/Bugs/Public/show_bug.cgi?id=28740#c3 --- -2.26.2 - diff --git a/srcpkgs/chromium/patches/chromium-88-ityp-include.patch b/srcpkgs/chromium/patches/chromium-88-ityp-include.patch deleted file mode 100644 index c54b6fffd541..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-ityp-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From bc383a5dd7fa8f2b535f28815fd6932fbc0d2a45 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 28 Oct 2020 16:00:35 +0000 -Subject: [PATCH] IWYU: include stddef.h for size_t - ---- - third_party/dawn/src/common/ityp_array.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/dawn/src/common/ityp_array.h b/third_party/dawn/src/common/ityp_array.h -index 48e080f..c784198 100644 ---- third_party/dawn/src/common/ityp_array.h -+++ third_party/dawn/src/common/ityp_array.h -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - namespace ityp { - - // ityp::array is a helper class that wraps std::array with the restriction that --- -2.26.2 - diff --git a/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch b/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch deleted file mode 100644 index e4161af45c7f..000000000000 --- a/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 6 Nov 2020 11:18:42 +0000 -Subject: [PATCH] GCC: fix attribute on function definition - -GCC does not accept attributes at the end for function definitions. -Solution is to move it before function name. Otherwise GCC fails like -this: - -../../base/compiler_specific.h:97:28: error: attributes are not allowed -on a function-definition - 97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) - | ^~~~~~~~~~~~~ - ../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in - expansion of macro 'WARN_UNUSED_RESULT' - 322 | const T* data) WARN_UNUSED_RESULT { - | ^~~~~~~~~~~~~~~~~~ ---- - media/gpu/vaapi/vaapi_wrapper.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h -index fd1fd82..deeda1f 100644 ---- media/gpu/vaapi/vaapi_wrapper.h -+++ media/gpu/vaapi/vaapi_wrapper.h -@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper - // Convenient templatized version of SubmitBuffer() where |size| is deduced to - // be the size of the type of |*data|. - template -- bool SubmitBuffer(VABufferType va_buffer_type, -- const T* data) WARN_UNUSED_RESULT { -+ bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type, -+ const T* data) { - return SubmitBuffer(va_buffer_type, sizeof(T), data); - } - // Batch-version of SubmitBuffer(), where the lock for accessing libva is --- -2.26.2 - diff --git a/srcpkgs/chromium/patches/chromium-89-AXTreeSerializer-include.patch b/srcpkgs/chromium/patches/chromium-89-AXTreeSerializer-include.patch new file mode 100644 index 000000000000..7372e44d1547 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-AXTreeSerializer-include.patch @@ -0,0 +1,25 @@ +From c06ddc4935bf1394812c011ce5d93898ccc8a53a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Tue, 09 Feb 2021 19:22:57 +0000 +Subject: [PATCH] IWYU: add ctime for std::time + +Bug: None +Change-Id: I8bdae43209984242b9f5e538d74ece4409b65e3c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2679610 +Reviewed-by: Katie Dektar +Commit-Queue: Katie Dektar +Cr-Commit-Position: refs/heads/master@{#852287} +--- + +diff --git a/ui/accessibility/ax_tree_serializer.h b/ui/accessibility/ax_tree_serializer.h +index ddbbdcd..1790e3b 100644 +--- ui/accessibility/ax_tree_serializer.h ++++ ui/accessibility/ax_tree_serializer.h +@@ -8,6 +8,7 @@ + #include + #include + ++#include + #include + #include + #include diff --git a/srcpkgs/chromium/patches/chromium-89-add-dependency-on-opus-in-webcodecs.patch b/srcpkgs/chromium/patches/chromium-89-add-dependency-on-opus-in-webcodecs.patch new file mode 100644 index 000000000000..c25897791d95 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-add-dependency-on-opus-in-webcodecs.patch @@ -0,0 +1,43 @@ +From b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Wed, 27 Jan 2021 20:31:51 +0000 +Subject: [PATCH] add dependency on opus in webcodecs + +webcodecs uses opus, but dependency is missing. With unbundled +opus library build fails, because include path is incomplete. + +Bug: 1169758 +Change-Id: I01369364327461196a81002479636cf45017669a +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644623 +Reviewed-by: Dale Curtis +Commit-Queue: Dale Curtis +Cr-Commit-Position: refs/heads/master@{#847754} +--- + third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 + + third_party/blink/renderer/modules/webcodecs/DEPS | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn +index fdf4ca0fafc72..01a7bf809ffca 100644 +--- third_party/blink/renderer/modules/webcodecs/BUILD.gn ++++ third_party/blink/renderer/modules/webcodecs/BUILD.gn +@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") { + "//media/mojo/clients", + "//media/mojo/mojom", + "//third_party/libyuv:libyuv", ++ "//third_party/opus", + ] + if (media_use_openh264) { + deps += [ "//third_party/openh264:encoder" ] +diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS +index b8dd596da8caf..ea1919d12205a 100644 +--- third_party/blink/renderer/modules/webcodecs/DEPS ++++ third_party/blink/renderer/modules/webcodecs/DEPS +@@ -19,6 +19,7 @@ include_rules = [ + + "+third_party/libyuv", + "+third_party/openh264", ++ "+third_party/opus", + + "+ui/gfx/color_space.h", + "+ui/gfx/geometry/rect.h", diff --git a/srcpkgs/chromium/patches/chromium-89-dawn-include.patch b/srcpkgs/chromium/patches/chromium-89-dawn-include.patch new file mode 100644 index 000000000000..9876ba20eb51 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-dawn-include.patch @@ -0,0 +1,28 @@ +From 5a56bfe8d281250a1deee0d116a9fcde65b9c29a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 15 Jan 2021 18:37:05 +0000 +Subject: [PATCH] IWYU: add various missing includes + +std::weak_ptr and std::shared_ptr require map +*int*_t types require cstdint +--- + third_party/dawn/src/dawn_wire/client/Device.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/dawn/src/dawn_wire/client/Device.h b/third_party/dawn/src/dawn_wire/client/Device.h +index 3f16700..1082549 100644 +--- third_party/dawn/src/dawn_wire/client/Device.h ++++ third_party/dawn/src/dawn_wire/client/Device.h +@@ -22,7 +22,9 @@ + #include "dawn_wire/client/ApiObjects_autogen.h" + #include "dawn_wire/client/ObjectBase.h" + ++#include + #include ++#include + + namespace dawn_wire { namespace client { + +-- +2.26.2 + diff --git a/srcpkgs/chromium/patches/chromium-89-quiche-dcheck.patch b/srcpkgs/chromium/patches/chromium-89-quiche-dcheck.patch new file mode 100644 index 000000000000..b2f164fac9ba --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-quiche-dcheck.patch @@ -0,0 +1,29 @@ +From 7cd4eab0bfca6192f14d6143410e1ae774eb1c29 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 31 Dec 2020 11:57:22 +0000 +Subject: [PATCH] GCC: do not pass unique_ptr to DCHECK_NE, but the actual + pointer + +DCHECK_NE comparison requires CheckOpValueStr to be defined for the +type, or providing an output stream operator. A unique_ptr does not +provide any. USE DCHECK instead. +--- + net/third_party/quiche/src/quic/core/quic_path_validator.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/third_party/quiche/src/quic/core/quic_path_validator.cc b/net/third_party/quiche/src/quic/core/quic_path_validator.cc +index 0722216..fb2aeaf 100644 +--- net/third_party/quiche/src/quic/core/quic_path_validator.cc ++++ net/third_party/quiche/src/quic/core/quic_path_validator.cc +@@ -68,7 +68,7 @@ void QuicPathValidator::OnPathResponse(const QuicPathFrameBuffer& probing_data, + void QuicPathValidator::StartPathValidation( + std::unique_ptr context, + std::unique_ptr result_delegate) { +- DCHECK_NE(nullptr, context); ++ DCHECK(context); + QUIC_DLOG(INFO) << "Start validating path " << *context + << " via writer: " << context->WriterToUse(); + if (path_context_ != nullptr) { +-- +2.26.2 + diff --git a/srcpkgs/chromium/patches/chromium-89-skia-CropRect.patch b/srcpkgs/chromium/patches/chromium-89-skia-CropRect.patch new file mode 100644 index 000000000000..9712c92658f6 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-skia-CropRect.patch @@ -0,0 +1,38 @@ +diff --git a/third_party/skia/include/effects/SkImageFilters.h b/third_party/skia/include/effects/SkImageFilters.h +index 04cce0a..d06b007 100644 +--- third_party/skia/include/effects/SkImageFilters.h ++++ third_party/skia/include/effects/SkImageFilters.h +@@ -23,6 +23,9 @@ class SkColorFilter; + class SkPaint; + class SkRegion; + ++constexpr SkRect kNoCropRect = {SK_ScalarNegativeInfinity, SK_ScalarNegativeInfinity, ++ SK_ScalarInfinity, SK_ScalarInfinity}; ++ + // A set of factory functions providing useful SkImageFilter effects. For image filters that take an + // input filter, providing nullptr means it will automatically use the dynamic source image. This + // source depends on how the filter is applied, but is either the contents of a saved layer when +@@ -33,8 +36,6 @@ public: + // to those types as a crop rect for the image filter factories. It's not intended to be used + // directly. + struct CropRect { +- static constexpr SkRect kNoCropRect = {SK_ScalarNegativeInfinity, SK_ScalarNegativeInfinity, +- SK_ScalarInfinity, SK_ScalarInfinity}; + CropRect() : fCropRect(kNoCropRect) {} + // Intentionally not explicit so callers don't have to use this type but can use SkIRect or + // SkRect as desired. +diff --git a/third_party/skia/src/effects/imagefilters/SkImageFilters.cpp b/third_party/skia/src/effects/imagefilters/SkImageFilters.cpp +index 5290b00..fb97fc1 100644 +--- third_party/skia/src/effects/imagefilters/SkImageFilters.cpp ++++ third_party/skia/src/effects/imagefilters/SkImageFilters.cpp +@@ -47,10 +47,6 @@ static SkImageFilter::CropRect to_legacy_crop_rect(const SkImageFilters::CropRec + : SkImageFilter::CropRect(SkRect::MakeEmpty(), 0x0); + } + +-// Allow kNoCropRect to be referenced (for certain builds, e.g. macOS libFuzzer chromium target, +-// see crbug.com/1139725) +-constexpr SkRect SkImageFilters::CropRect::kNoCropRect; +- + void SkImageFilters::RegisterFlattenables() { + SkAlphaThresholdFilter::RegisterFlattenables(); + SkArithmeticImageFilter::RegisterFlattenables(); diff --git a/srcpkgs/chromium/patches/chromium-89-x11-ozone-fix-two-edge-cases.patch b/srcpkgs/chromium/patches/chromium-89-x11-ozone-fix-two-edge-cases.patch new file mode 100644 index 000000000000..7fb586da169a --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-89-x11-ozone-fix-two-edge-cases.patch @@ -0,0 +1,135 @@ +From 5e3a738b1204941aab9f15c0eb3d06e20fefd96e Mon Sep 17 00:00:00 2001 +From: Scott Violet +Date: Mon, 8 Mar 2021 21:07:39 +0000 +Subject: [PATCH] x11/ozone: fix two edge cases + +WindowTreeHost::OnHostMovedInPixels() may trigger a nested message +loop (tab dragging), which when the stack unravels means this may +be deleted. This adds an early out if this happens. + +X11WholeScreenMoveLoop has a similar issue, in so far as notifying +the delegate may delete this. + +BUG=1185482 +TEST=WindowTreeHostPlatform.DeleteHostFromOnHostMovedInPixels + +Change-Id: Ieca1c90b3e4358da50b332abe2941fdbb50c5c25 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2743555 +Reviewed-by: Thomas Anderson +Commit-Queue: Scott Violet +Cr-Commit-Position: refs/heads/master@{#860852} +--- + ui/aura/window_tree_host_platform.cc | 10 ++++- + ui/aura/window_tree_host_platform_unittest.cc | 40 ++++++++++++++++++- + ui/base/x/x11_whole_screen_move_loop.cc | 4 ++ + 3 files changed, 51 insertions(+), 3 deletions(-) + +diff --git a/ui/aura/window_tree_host_platform.cc b/ui/aura/window_tree_host_platform.cc +index ce8395fe07..7589542026 100644 +--- ui/aura/window_tree_host_platform.cc ++++ ui/aura/window_tree_host_platform.cc +@@ -214,13 +214,21 @@ void WindowTreeHostPlatform::OnBoundsChanged(const gfx::Rect& new_bounds) { + float current_scale = compositor()->device_scale_factor(); + float new_scale = ui::GetScaleFactorForNativeView(window()); + gfx::Rect old_bounds = bounds_in_pixels_; ++ auto weak_ref = GetWeakPtr(); + bounds_in_pixels_ = new_bounds; +- if (bounds_in_pixels_.origin() != old_bounds.origin()) ++ if (bounds_in_pixels_.origin() != old_bounds.origin()) { + OnHostMovedInPixels(bounds_in_pixels_.origin()); ++ // Changing the bounds may destroy this. ++ if (!weak_ref) ++ return; ++ } + if (bounds_in_pixels_.size() != old_bounds.size() || + current_scale != new_scale) { + pending_size_ = gfx::Size(); + OnHostResizedInPixels(bounds_in_pixels_.size()); ++ // Changing the size may destroy this. ++ if (!weak_ref) ++ return; + } + DCHECK_GT(on_bounds_changed_recursion_depth_, 0); + if (--on_bounds_changed_recursion_depth_ == 0) { +diff --git a/ui/aura/window_tree_host_platform_unittest.cc b/ui/aura/window_tree_host_platform_unittest.cc +index eda14e2f0c..4de039c88a 100644 +--- ui/aura/window_tree_host_platform_unittest.cc ++++ ui/aura/window_tree_host_platform_unittest.cc +@@ -34,7 +34,7 @@ class TestWindowTreeHost : public WindowTreeHostPlatform { + // OnHostWill/DidProcessBoundsChange. Additionally, this triggers a bounds + // change from within OnHostResized(). Such a scenario happens in production + // code. +-class TestWindowTreeHostObserver : public aura::WindowTreeHostObserver { ++class TestWindowTreeHostObserver : public WindowTreeHostObserver { + public: + TestWindowTreeHostObserver(WindowTreeHostPlatform* host, + ui::PlatformWindow* platform_window) +@@ -51,7 +51,7 @@ class TestWindowTreeHostObserver : public aura::WindowTreeHostObserver { + return on_host_will_process_bounds_change_count_; + } + +- // aura::WindowTreeHostObserver: ++ // WindowTreeHostObserver: + void OnHostResized(WindowTreeHost* host) override { + if (!should_change_bounds_in_on_resized_) + return; +@@ -92,5 +92,41 @@ TEST_F(WindowTreeHostPlatformTest, HostWillProcessBoundsChangeRecursion) { + EXPECT_EQ(1, observer.on_host_will_process_bounds_change_count()); + } + ++// Deletes WindowTreeHostPlatform from OnHostMovedInPixels(). ++class DeleteHostWindowTreeHostObserver : public WindowTreeHostObserver { ++ public: ++ explicit DeleteHostWindowTreeHostObserver( ++ std::unique_ptr host) ++ : host_(std::move(host)) { ++ host_->AddObserver(this); ++ } ++ ~DeleteHostWindowTreeHostObserver() override = default; ++ ++ TestWindowTreeHost* host() { return host_.get(); } ++ ++ // WindowTreeHostObserver: ++ void OnHostMovedInPixels(WindowTreeHost* host, ++ const gfx::Point& new_origin_in_pixels) override { ++ host_->RemoveObserver(this); ++ host_.reset(); ++ } ++ ++ private: ++ std::unique_ptr host_; ++ ++ DISALLOW_COPY_AND_ASSIGN(DeleteHostWindowTreeHostObserver); ++}; ++ ++// Verifies WindowTreeHostPlatform can be safely deleted when calling ++// OnHostMovedInPixels(). ++// Regression test for https://crbug.com/1185482 ++TEST_F(WindowTreeHostPlatformTest, DeleteHostFromOnHostMovedInPixels) { ++ std::unique_ptr host = ++ std::make_unique(); ++ DeleteHostWindowTreeHostObserver observer(std::move(host)); ++ observer.host()->SetBoundsInPixels(gfx::Rect(1, 2, 3, 4)); ++ EXPECT_EQ(nullptr, observer.host()); ++} ++ + } // namespace + } // namespace aura +diff --git a/ui/base/x/x11_whole_screen_move_loop.cc b/ui/base/x/x11_whole_screen_move_loop.cc +index 5ed215db66..db678799db 100644 +--- ui/base/x/x11_whole_screen_move_loop.cc ++++ ui/base/x/x11_whole_screen_move_loop.cc +@@ -78,9 +78,13 @@ X11WholeScreenMoveLoop::~X11WholeScreenMoveLoop() { + void X11WholeScreenMoveLoop::DispatchMouseMovement() { + if (!last_motion_in_screen_) + return; ++ auto weak_ref = weak_factory_.GetWeakPtr(); + delegate_->OnMouseMovement(last_motion_in_screen_->root_location(), + last_motion_in_screen_->flags(), + last_motion_in_screen_->time_stamp()); ++ // The delegate may delete this during dispatch. ++ if (!weak_ref) ++ return; + last_motion_in_screen_.reset(); + } + diff --git a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch deleted file mode 100644 index 3016b065212d..000000000000 --- a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- build/config/compiler/BUILD.gn.orig 2021-01-20 09:01:44.362114311 -0500 -+++ build/config/compiler/BUILD.gn 2021-01-20 09:03:41.880232248 -0500 -@@ -1534,9 +1534,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", - ] - - cflags_c += [ -@@ -1548,13 +1545,6 @@ - # TODO(https://crbug.com/1143700): Clean up and re-enable. - cflags_objc = [ "-Wno-gnu-folding-constant" ] - } -- -- if (enable_wmax_tokens) { -- cflags += [ "-Wmax-tokens" ] -- } else { -- # TODO(https://crbug.com/1049569): Remove after Clang 87b235db. -- cflags += [ "-Wno-max-tokens" ] -- } - } - } - } diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch index 805755c21258..18adf8640222 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch @@ -2401,12 +2401,17 @@ index 9f46a489..aa677c4e 100644 diff --git third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc index be22c903..c5df23d1 100644 ---- third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -+++ third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -@@ -159,9 +159,11 @@ void TestAgainstTarget(PtraceConnection* connection) { +--- third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc.orig 2021-03-09 17:06:14.499663323 -0500 ++++ third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc 2021-03-09 17:11:42.509506138 -0500 +@@ -190,14 +190,12 @@ + const std::string& module_name) { const bool is_vdso_mapping = device == 0 && inode == 0 && mapping_name == "[vdso]"; +-#if defined(ARCH_CPU_X86) +- static constexpr char kPrefix[] = "linux-gate.so."; +-#else static constexpr char kPrefix[] = "linux-vdso.so."; +-#endif + static constexpr char kPrefix64[] = "linux-vdso64.so."; return is_vdso_mapping == (module_name.empty() || @@ -2551,9 +2556,9 @@ index b96abfe7..df12ca56 100644 #endif diff --git third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc index 5b572361..049c3285 100644 ---- third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -+++ third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -@@ -612,6 +612,8 @@ bool WriteTestModule(const base::FilePath& module_path) { +--- third_party/crashpad/crashpad/snapshot/linux/test_modules.cc.orig 2021-03-09 17:15:12.092044647 -0500 ++++ third_party/crashpad/crashpad/snapshot/linux/test_modules.cc 2021-03-09 17:15:32.078096007 -0500 +@@ -110,6 +110,8 @@ module.ehdr.e_machine = EM_AARCH64; #elif defined(ARCH_CPU_MIPSEL) || defined(ARCH_CPU_MIPS64EL) module.ehdr.e_machine = EM_MIPS; @@ -2747,21 +2752,6 @@ index d3d5ebdf..3fd730cb 100644 if (!MapInsertOrReplace(&values_, type, value, nullptr)) { LOG(ERROR) << "duplicate auxv entry"; return false; -diff --git third_party/crashpad/crashpad/util/linux/ptrace_broker.cc third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -index 155a1e0c..5e50ceb5 100644 ---- third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -+++ third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -@@ -94,8 +94,8 @@ int PtraceBroker::Run() { - } - - bool PtraceBroker::AllocateAttachments() { -- constexpr size_t page_size = 4096; -- constexpr size_t alloc_size = -+ static size_t page_size = getpagesize(); -+ size_t alloc_size = - (sizeof(ScopedPtraceAttach) + page_size - 1) & ~(page_size - 1); - void* alloc = sbrk(alloc_size); - if (reinterpret_cast(alloc) == -1) { diff --git third_party/crashpad/crashpad/util/linux/ptracer.cc third_party/crashpad/crashpad/util/linux/ptracer.cc index 557e0d36..08ae434b 100644 --- third_party/crashpad/crashpad/util/linux/ptracer.cc diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 098cb904da98..5800c4e6e105 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=88.0.4324.182 +version=89.0.4389.82 revision=1 archs="i686* x86_64* aarch64* armv7l* ppc64le*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" @@ -9,7 +9,7 @@ maintainer="Enno Boland " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=30411fc3ec2d33df4c5cad41f21affa3823c80f7dbd394f6d68f9a1e81015b81 +checksum=df4914407b68afdc6449cb8e3f1b08d110eb8689ac41f86490e337fa4d1be379 nocross=yes lib32disabled=yes @@ -36,7 +36,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-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 xcb-proto - $(vopt_if pipewire libpipewire0.2-devel) $(vopt_if sndio sndio-devel)" + $(vopt_if pipewire pipewire-devel) $(vopt_if sndio sndio-devel)" depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils" case "$XBPS_TARGET_MACHINE" in @@ -91,7 +91,7 @@ do_configure() { # compile gn early, so it can be used to generate gni stuff AR="ar" CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD LD=$CXX_FOR_BUILD \ - python2 tools/gn/bootstrap/bootstrap.py --skip-generate-buildfiles + tools/gn/bootstrap/bootstrap.py --skip-generate-buildfiles # we need to generate ppc64 stuff for libvpx as it's not shipped # this has to be done before unbundling, but after gn is built @@ -152,16 +152,14 @@ do_configure() { done # switch to system provided dependencies - python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${system} + build/linux/unbundle/replace_gn_files.py --system-libraries ${system} - python2 third_party/libaddressinput/chromium/tools/update-strings.py + third_party/libaddressinput/chromium/tools/update-strings.py # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Void Linux use ONLY. conf+=( 'google_api_key="AIzaSyA9gWazKaHaNIPPg2hrMj6_ZSG8AFmq738"' - 'google_default_client_id="126659149423-hoo6ickbk3p1u2qjsdsp0ddciurfvb4t.apps.googleusercontent.com"' - 'google_default_client_secret="_ozIx2D-DKm_se_2NPwV4l5b"' ) conf+=( @@ -199,6 +197,7 @@ do_configure() { conf+=( "rtc_use_pipewire=$(vopt_if pipewire true false)" + 'rtc_pipewire_version="0.3"' ) # Use explicit library dependencies instead of dlopen. From 43d41a133f20273112db5e258d91328ccfe4e102 Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Wed, 10 Mar 2021 14:20:48 -0500 Subject: [PATCH 2/2] chromium-widevine: update to 89.0.4389.82. --- srcpkgs/chromium-widevine/INSTALL | 2 +- srcpkgs/chromium-widevine/template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/chromium-widevine/INSTALL b/srcpkgs/chromium-widevine/INSTALL index 4c9600e6eca4..e7026792dd76 100644 --- a/srcpkgs/chromium-widevine/INSTALL +++ b/srcpkgs/chromium-widevine/INSTALL @@ -1,6 +1,6 @@ # INSTALL -checksum=ab00e9412f5f20e30c7db5dc987473248f4adf9ebf2c3f928ef62e1ffb104fe6 +checksum=183089861c5c4c048b479f64b3baac2345bbd06736115210f4180d4c69fc1feb _baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable" _filename="google-chrome-stable_${VERSION%_*}-1_amd64.deb" DISTFILE="${_baseUrl}/${_filename}" diff --git a/srcpkgs/chromium-widevine/template b/srcpkgs/chromium-widevine/template index d7a0587caf5a..4f016b60aa97 100644 --- a/srcpkgs/chromium-widevine/template +++ b/srcpkgs/chromium-widevine/template @@ -6,7 +6,7 @@ _chromeVersion="current" _channel="stable" pkgname=chromium-widevine -version=88.0.4324.182 +version=89.0.4389.82 revision=1 archs="x86_64" create_wrksrc=yes