git: 2bc6cc38f24d - main - www/chromium: fix MP4 video playback

From: Rene Ladan <rene_at_FreeBSD.org>
Date: Wed, 23 Feb 2022 16:53:21 UTC
The branch main has been updated by rene:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2bc6cc38f24dd256461df52f2eda7be12b1c28c5

commit 2bc6cc38f24dd256461df52f2eda7be12b1c28c5
Author:     Robert Nagy <robert@openbsd.org>
AuthorDate: 2022-02-23 16:50:34 +0000
Commit:     Rene Ladan <rene@FreeBSD.org>
CommitDate: 2022-02-23 16:52:31 +0000

    www/chromium: fix MP4 video playback
    
    PR:             255561
    Reported by:    patovm04@gmail.com
---
 www/chromium/Makefile                                    |  1 +
 ...base_allocator_partition__allocator_page__allocator.h | 11 +++++++++++
 ...tition__allocator_page__allocator__internals__posix.h | 16 ++++++++++++++++
 3 files changed, 28 insertions(+)

diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index d8adb70ae88c..cc137ed98bf4 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,6 +2,7 @@
 
 PORTNAME=	chromium
 PORTVERSION=	98.0.4758.102
+PORTREVISION=	1
 CATEGORIES=	www
 MASTER_SITES=	https://commondatastorage.googleapis.com/chromium-browser-official/ \
 		LOCAL/rene/chromium/:fonts
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h
new file mode 100644
index 000000000000..3d932a28ff32
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/page_allocator.h.orig	2022-02-23 16:08:07 UTC
++++ base/allocator/partition_allocator/page_allocator.h
+@@ -170,7 +170,7 @@ BASE_EXPORT void DecommitAndZeroSystemPages(void* addr
+ // Whether decommitted memory is guaranteed to be zeroed when it is
+ // recommitted. Do not assume that this will not change over time.
+ constexpr BASE_EXPORT bool DecommittedMemoryIsAlwaysZeroed() {
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
+   return false;
+ #else
+   return true;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
new file mode 100644
index 000000000000..c5069330b3dd
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
@@ -0,0 +1,16 @@
+--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig	2022-02-23 16:08:07 UTC
++++ base/allocator/partition_allocator/page_allocator_internals_posix.h
+@@ -339,8 +339,12 @@ bool TryRecommitSystemPagesInternal(
+ }
+ 
+ void DiscardSystemPagesInternal(void* address, size_t length) {
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
++#if defined(OS_BSD)
++  int ret = madvise(address, length, MADV_FREE);
++#else
+   int ret = madvise(address, length, MADV_FREE_REUSABLE);
++#endif
+   if (ret) {
+     // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
+     ret = madvise(address, length, MADV_DONTNEED);