commit:     774d25d68d6fce0e1fc0168f50f515c988e6ebf6
Author:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 24 09:47:31 2021 +0000
Commit:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
CommitDate: Sat Jul 24 09:48:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=774d25d6

www-client/chromium: stable channel bump to 92.0.4515.107

Bug: https://bugs.gentoo.org/803167
Bug: https://bugs.gentoo.org/803467
Bug: https://bugs.gentoo.org/769989
Bug: https://bugs.gentoo.org/803260
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>

 www-client/chromium/Manifest                       |  3 +-
 ...515.80.ebuild => chromium-92.0.4515.107.ebuild} | 16 +++----
 .../files/chromium-92-GetUsableSize-nullptr.patch  | 46 ++++++++++++++++++++
 .../chromium/files/chromium-freetype-2.11.patch    | 50 ++++++++++++++++++++++
 4 files changed, 103 insertions(+), 12 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index a4bc9b45d5a..a301c93fedd 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,8 +1,9 @@
 DIST chromium-91-patchset-6.tar.xz 4280 BLAKE2B 
18887953453133589cfc5df58d24725047235fac3652cc7af7bd117fbc94aa9a2e1b1dd3147f772f84d8fa3e7b5b77159abc1e408d7b24b065bb1f12cebbfb2f
 SHA512 
49b4aaedfbb1fa5629dbb453bb74f5735c05b14407ea3d2bb1eaee9686e03661a3c471357d085ab839dff16df92d71dae3a6f17486c017a79a836c1d8780a250
 DIST chromium-91-ppc64le-6.tar.xz 28968 BLAKE2B 
5153be672aec91899d9eabe3ddf4c3d0b4b2d307e396afa2a83bf3102bc540fa62d69df365057128227428bd3abfc8cab9203fae41e5150191025d8ecea935ab
 SHA512 
78071d204bf04a13a132a63a3d268a0d6d05a895c1ee55a41176fb5cca975c502e69a83ca0388ecea92c041f24235c452abdfbf0ee557e93db6685589fb9428b
 DIST chromium-91.0.4472.164.tar.xz 950253100 BLAKE2B 
4de7222dbf8fb22115518625ebc8eb62eca281bd4a28ee9d4f4450545aa4155a5bf7478f56d9ba482c102deea5c7b3214299549480c19d972b1380931f7ba4df
 SHA512 
3d15b7df6d6627084bc82cfb6f9c52f917cdb03cea73f85199e6d41eb9636db867e56ea60d69a8bbc92dd8cb59f13b4ae6c609d59f32fe04f88c33252225f8a5
+DIST chromium-92-glibc-2.33-patch.tar.xz 12636 BLAKE2B 
0621d2135c1a0864374010c36959deda7b612d448e28780bfe8968fcd45363c091a84413eb3c6f560e9f805a421b910f33e9cc023055e7bf7801aa374d41dc80
 SHA512 
6d9e999c0b18186f2db28a804f9f84f6b472cf2fac33d72a0b09ded3106f43378a6eaf52b316e0b07a3876d9074ba299a285bdf06193553ee81bdbea4bc66294
 DIST chromium-92-patchset-7.tar.xz 4004 BLAKE2B 
8587663a072eb08abacbc2e54924855f29efefdbec46acf5cb8b0cc40b816b96ba7694c4ab1abe997572a6dbecf94ea27f368a7337263adfff44f2b4b042d862
 SHA512 
65c8267ab0921719c71d4b03a4315bbb1ceec35ce4794de9dcc6099b2c349baf4782b67316ebb8c9db233630b7fc89fa0baf719f9f0f41eb39972cdeb437e612
-DIST chromium-92.0.4515.80.tar.xz 957805500 BLAKE2B 
9c622d45fd62b58ff1c8f3cb8745502747e3a6ee8f453a35927212f2ff71cfeb216cc7fc1e78010e4f5178b18062ddc36aa74c1dcb3daf32ba8ef08285fb196f
 SHA512 
04ba2c24c987e9885674e7efd2a2b9415673424f1f3a18e1d79afb2683d984927b15067003040e8fb92ff8be31cda042aac052e9369a1a3709d6b11bf9d1df7a
+DIST chromium-92.0.4515.107.tar.xz 957809240 BLAKE2B 
61f34c6de424dbc0bed4a3f6ede42c936389e3280ffccc6db8750674fc512257120fad4006bf5e31701cfebf9cd12df96bb2936296293312317dee85748bf773
 SHA512 
8814a3371e38836cee02178fa06bee612d00efe561791278351ef5312f5225742d416043fe6e25e9e353ae3d82dbd5ef57c9b1f115423da6537288e9aece779a
 DIST chromium-93-patchset-5.tar.xz 4404 BLAKE2B 
f347a66c5767bb03dd6a0feda433f51f5110e0429c6f55494000bd1a61a4f3b6a218e7f12ce91a02adae94ee0a85d0aceb12aef5a0537e9362f23817edb662c0
 SHA512 
39d3bd5ad51e33d5d82a42d5289ab137bdb3280e4d2d647fce86eb59d14a01e9f31531cf82ba9055168c18d1fb96e3013e2d40dc89b30c725c89241d34b7b25d
 DIST chromium-93.0.4557.4.tar.xz 1034639148 BLAKE2B 
d515e5be84f63bd21e757750963188390bc1b888aeb50a1b7767805784e6efce1c89f058fe5bcdf73a8790677a2b76cd3f01cc6df1b245996924ae46e91911d6
 SHA512 
b5b214d639becdfdb4a6bd2ee04c9556ee4eca0e436ed6580c8e6d9e5a37476ae1fa208eef741aa8d8535f30f1e751041aaf02fff57dbd685341d7b5866a81cc
 DIST highway-0.12.1.tar.gz 1480579 BLAKE2B 
2889f96e33ae4411b14dae2229d86b0581f2044f50d6bb829a83417f0d67f0c9a8c03d552d09a985231ea11e88497fa405efcb85d158b5734b477bec5764a1eb
 SHA512 
d14aeffc80739a5993177fb190ac03998d495004e9c54126c0e0b174c28be52a3f3fe581d8a08db67c34bd00045223d1850e7b384a2e7fe37a8150d7908004cb

diff --git a/www-client/chromium/chromium-92.0.4515.80.ebuild 
b/www-client/chromium/chromium-92.0.4515.107.ebuild
similarity index 98%
rename from www-client/chromium/chromium-92.0.4515.80.ebuild
rename to www-client/chromium/chromium-92.0.4515.107.ebuild
index ed824b3cebf..42231b2a855 100644
--- a/www-client/chromium/chromium-92.0.4515.80.ebuild
+++ b/www-client/chromium/chromium-92.0.4515.107.ebuild
@@ -19,6 +19,7 @@ PPC64LE_PATCHSET="91-ppc64le-6"
 
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
        
https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
        
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz
+       
https://dev.gentoo.org/~sultan/distfiles/www-client/${PN}/${PN}-92-glibc-2.33-patch.tar.xz
        arm64? ( 
https://github.com/google/highway/archive/refs/tags/0.12.1.tar.gz -> 
highway-0.12.1.tar.gz )
        ppc64? ( 
https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-${PPC64LE_PATCHSET}.tar.xz )"
 
@@ -230,21 +231,14 @@ src_prepare() {
 
        local PATCHES=(
                "${WORKDIR}/patches"
+               "${WORKDIR}/sandbox-patches/chromium-syscall_broker.patch"
+               "${WORKDIR}/sandbox-patches/chromium-fstatat-crash.patch"
                "${FILESDIR}/chromium-92-EnumTable-crash.patch"
+               "${FILESDIR}/chromium-92-GetUsableSize-nullptr.patch"
+               "${FILESDIR}/chromium-freetype-2.11.patch"
                "${FILESDIR}/chromium-shim_headers.patch"
        )
 
-       # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, 
bug #769989
-       if has_version -d ">=sys-libs/glibc-2.33"; then
-               ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp 
sandbox might"
-               ewarn "still not work correctly. In case of issues, try to 
disable seccomp"
-               ewarn "sandbox by adding --disable-seccomp-filter-sandbox to 
CHROMIUM_FLAGS"
-               ewarn "in /etc/chromium/default."
-               PATCHES+=(
-                       "${FILESDIR}/chromium-glibc-2.33.patch"
-               )
-       fi
-
        use ppc64 && eapply -p0 "${WORKDIR}/${PN}"-ppc64le
 
        default

diff --git a/www-client/chromium/files/chromium-92-GetUsableSize-nullptr.patch 
b/www-client/chromium/files/chromium-92-GetUsableSize-nullptr.patch
new file mode 100644
index 00000000000..e36ed1b6615
--- /dev/null
+++ b/www-client/chromium/files/chromium-92-GetUsableSize-nullptr.patch
@@ -0,0 +1,46 @@
+From 61e16c92ff24bb71b9b7309a9d6d470ee91738bc Mon Sep 17 00:00:00 2001
+From: Bartek Nowierski <[email protected]>
+Date: Wed, 21 Jul 2021 15:01:38 +0000
+Subject: [PATCH] [PA] Make GetUsableSize() handle nullptr gracefully
+
+malloc_usable_size() is expected to not crush on NULL and return 0.
+
+Bug: 1221442
+Change-Id: I6a3b90dcf3a8ad18114c206d87b98f60d5f50eb1
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3042177
+Commit-Queue: Bartek Nowierski <[email protected]>
+Commit-Queue: Kentaro Hara <[email protected]>
+Auto-Submit: Bartek Nowierski <[email protected]>
+Reviewed-by: Kentaro Hara <[email protected]>
+Cr-Commit-Position: refs/heads/master@{#903900}
+---
+
+diff --git a/base/allocator/partition_allocator/partition_alloc_unittest.cc 
b/base/allocator/partition_allocator/partition_alloc_unittest.cc
+index c1212011..8863984 100644
+--- a/base/allocator/partition_allocator/partition_alloc_unittest.cc
++++ b/base/allocator/partition_allocator/partition_alloc_unittest.cc
+@@ -2838,6 +2838,10 @@
+   }
+ }
+ 
++TEST_F(PartitionAllocTest, GetUsableSizeNull) {
++  EXPECT_EQ(0ULL, PartitionRoot<ThreadSafe>::GetUsableSize(nullptr));
++}
++
+ TEST_F(PartitionAllocTest, GetUsableSize) {
+   size_t delta = SystemPageSize() + 1;
+   for (size_t size = 1; size <= kMinDirectMappedDownsize; size += delta) {
+diff --git a/base/allocator/partition_allocator/partition_root.h 
b/base/allocator/partition_allocator/partition_root.h
+index b72a1d9..baac9525 100644
+--- a/base/allocator/partition_allocator/partition_root.h
++++ b/base/allocator/partition_allocator/partition_root.h
+@@ -1220,6 +1220,9 @@
+ // PartitionAlloc's internal data. Used as malloc_usable_size.
+ template <bool thread_safe>
+ ALWAYS_INLINE size_t PartitionRoot<thread_safe>::GetUsableSize(void* ptr) {
++  // malloc_usable_size() is expected to handle NULL gracefully and return 0.
++  if (!ptr)
++    return 0;
+   auto* slot_span = SlotSpan::FromSlotInnerPtr(ptr);
+   auto* root = FromSlotSpan(slot_span);
+   return slot_span->GetUsableSize(root);

diff --git a/www-client/chromium/files/chromium-freetype-2.11.patch 
b/www-client/chromium/files/chromium-freetype-2.11.patch
new file mode 100644
index 00000000000..aee6dc82e98
--- /dev/null
+++ b/www-client/chromium/files/chromium-freetype-2.11.patch
@@ -0,0 +1,50 @@
+--- a/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
++++ b/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
+@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
+             canvas->drawPaint(colrPaint);
+             break;
+         }
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM:
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED:
++#endif
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
+         case FT_COLR_PAINTFORMAT_ROTATE:
+         case FT_COLR_PAINTFORMAT_SKEW:
+@@ -759,10 +763,17 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, 
FT_COLR_Paint colrv1_paint
+     SkMatrix transform;
+ 
+     switch (colrv1_paint.format) {
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM: {
++            transform = ToSkMatrix(colrv1_paint.u.transform.affine);
++            break;
++        }
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED: {
+             transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
+             break;
+         }
++#endif
+         case FT_COLR_PAINTFORMAT_TRANSLATE: {
+             transform = SkMatrix::Translate(
+                 SkFixedToScalar(colrv1_paint.u.translate.dx),
+@@ -880,10 +891,17 @@ bool colrv1_traverse_paint(SkCanvas* canvas,
+             traverse_result = colrv1_start_glyph(canvas, palette, face, 
paint.u.colr_glyph.glyphID,
+                                                  FT_COLOR_NO_ROOT_TRANSFORM);
+             break;
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM:
++            colrv1_transform(canvas, face, paint);
++            traverse_result = colrv1_traverse_paint(canvas, palette, face,
++                                                    paint.u.transform.paint, 
visited_set);
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED:
+             colrv1_transform(canvas, face, paint);
+             traverse_result = colrv1_traverse_paint(canvas, palette, face,
+                                                     
paint.u.transformed.paint, visited_set);
++#endif
+             break;
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
+             colrv1_transform(canvas, face, paint);

Reply via email to