public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Than Ngo <than@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/chromium] epel9-next: update to 124.0.6367.60
Date: Fri, 07 Aug 2026 16:06:15 GMT	[thread overview]
Message-ID: <178611877519.1.5255250850203549279.rpms-chromium-5a65c0c54117@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 5a65c0c541174fb297f86e38139e51341cb7c45f
Author : Than Ngo <than@redhat.com>
Date   : 2024-04-17T16:19:03+02:00
Stats  : +191/-300 in 11 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/5a65c0c541174fb297f86e38139e51341cb7c45f?branch=epel9-next

Log:
update to 124.0.6367.60

---
diff --git a/chromium-115-clang-warnings.patch b/chromium-115-clang-warnings.patch
deleted file mode 100644
index 2bbd08f..0000000
--- a/chromium-115-clang-warnings.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff -up chromium-115.0.5790.98/sql/recover_module/cursor.h.me chromium-115.0.5790.98/sql/recover_module/cursor.h
---- chromium-115.0.5790.98/sql/recover_module/cursor.h.me	2023-07-21 20:13:43.587451992 +0200
-+++ chromium-115.0.5790.98/sql/recover_module/cursor.h	2023-07-21 20:16:24.989457148 +0200
-@@ -61,6 +61,10 @@ class VirtualCursor {
-   // The VirtualCursor instance that embeds a given SQLite virtual table cursor.
-   //
-   // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor().
-+#ifdef __GNUC__
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Winvalid-offsetof"
-+#endif
-   static inline VirtualCursor* FromSqliteCursor(
-       sqlite3_vtab_cursor* sqlite_cursor) {
-     VirtualCursor* result = reinterpret_cast<VirtualCursor*>(
-@@ -69,6 +73,9 @@ class VirtualCursor {
-     CHECK_EQ(sqlite_cursor, &result->sqlite_cursor_);
-     return result;
-   }
-+#ifdef __GNUC__
-+#pragma GCC diagnostic pop
-+#endif
- 
-   // Seeks the cursor to the first readable row. Returns a SQLite status code.
-   int First();
-diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp
---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp.me	2023-07-21 20:10:05.119385885 +0200
-+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp	2023-07-21 20:10:14.386558331 +0200
-@@ -14,7 +14,6 @@
- #include "libANGLE/histogram_macros.h"
- #include "platform/PlatformMethods.h"
- 
--#define USE_SYSTEM_ZLIB
- #include "compression_utils_portable.h"
- 
- namespace egl
-diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp
---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp.me	2023-07-21 20:10:36.864976619 +0200
-+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp	2023-07-21 20:11:07.629549228 +0200
-@@ -8,7 +8,6 @@
- //   layer to warm up the cache from disk.
- 
- // Include zlib first, otherwise FAR gets defined elsewhere.
--#define USE_SYSTEM_ZLIB
- #include "compression_utils_portable.h"
- 
- #include "libANGLE/MemoryProgramCache.h"
-diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp
---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp.me	2023-07-21 20:09:44.206996746 +0200
-+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp	2023-07-21 20:09:51.834138674 +0200
-@@ -10,7 +10,6 @@
- 
- #include "libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h"
- 
--#define USE_SYSTEM_ZLIB
- #include "compression_utils_portable.h"
- 
- namespace rx

diff --git a/chromium-122-clang16-buildflags.patch b/chromium-122-clang16-buildflags.patch
deleted file mode 100644
index 6725f3b..0000000
--- a/chromium-122-clang16-buildflags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up chromium-122.0.6261.39/build/config/compiler/BUILD.gn.me chromium-122.0.6261.39/build/config/compiler/BUILD.gn
---- chromium-122.0.6261.39/build/config/compiler/BUILD.gn.me	2024-02-19 21:58:15.835818177 +0100
-+++ chromium-122.0.6261.39/build/config/compiler/BUILD.gn	2024-02-19 21:59:11.661880633 +0100
-@@ -1856,15 +1856,12 @@ config("default_warnings") {
- 
-         # TODO(crbug.com/1494809): Evaluate and possibly enable.
-         "-Wno-vla-extension",
--
--        # TODO(https://crbug.com/1490607): Fix and re-enable.
--        "-Wno-thread-safety-reference-return",
-       ]
- 
-       if (!is_nacl) {
-         cflags_cc += [
-           # TODO(https://crbug.com/1513724): Fix and re-enable.
--          "-Wno-c++11-narrowing-const-reference",
-+          "-Wno-c++11-narrowing",
-         ]
-       }
-     }

diff --git a/chromium-122-el8-support-64kpage.patch b/chromium-122-el8-support-64kpage.patch
deleted file mode 100644
index 0c8a8ac..0000000
--- a/chromium-122-el8-support-64kpage.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff -up chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h.el8-support-64kpage.patch chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h
---- chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h.el8-support-64kpage.patch	2024-01-30 21:24:10.000000000 +0100
-+++ chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h	2024-02-01 17:20:37.178877448 +0100
-@@ -146,7 +146,13 @@ struct PartitionBucket {
-   // Returns a slot number starting from the beginning of the slot span.
-   PA_ALWAYS_INLINE size_t GetSlotNumber(size_t offset_in_slot_span) const {
-     // See the static assertion for `kReciprocalShift` above.
--    PA_DCHECK(offset_in_slot_span <= kMaxBucketed);
-+    // TODO(casey.smalley@arm.com): triggers on Aarch64/Linux
-+    // systems with 64k system pages. Constants need to be
-+    // adjusted to prevent different parts of the allocator
-+    // from overlapping. For now this will allow 64k pages
-+    // to function on Aarch64/Linux systems, albeit not
-+    // very efficiently.
-+    // PA_DCHECK(offset_in_slot_span <= kMaxBucketed);
-     PA_DCHECK(slot_size <= kMaxBucketed);
- 
-     const size_t offset_in_slot =
-diff -up chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h.el8-support-64kpage.patch chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h
---- chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h.el8-support-64kpage.patch	2024-02-01 17:20:37.178877448 +0100
-+++ chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h	2024-02-01 17:31:08.500268457 +0100
-@@ -17,10 +17,8 @@ namespace partition_alloc::internal {
- // PartitionPageSize() is 4 times the OS page size.
- static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket;
- #elif (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)) && defined(ARCH_CPU_ARM64)
--// System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is
--// currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code,
--// so we use the 16 kiB maximum (64 kiB will crash).
--static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket;
-+// System page size can be 4, 16, or 64 kiB on Linux on AArch64.
-+static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 16) / kSmallestBucket;
- #else
- // A slot span can "span" multiple PartitionPages, but then its slot size is
- // larger, so it doesn't have as many slots.
-diff -up chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page.h.el8-support-64kpage.patch chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page.h
---- chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page.h.el8-support-64kpage.patch	2024-01-30 21:24:10.000000000 +0100
-+++ chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_page.h	2024-02-01 17:20:37.178877448 +0100
-@@ -95,26 +95,25 @@ struct SlotSpanMetadata {
- 
-   // CHECK()ed in AllocNewSlotSpan().
-   // The maximum number of bits needed to cover all currently supported OSes.
--  static constexpr size_t kMaxSlotsPerSlotSpanBits = 13;
-+  static constexpr size_t kMaxSlotsPerSlotSpanBits = 15;
-   static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), "");
- 
--  // |marked_full| isn't equivalent to being full. Slot span is marked as full
--  // iff it isn't on the active slot span list (or any other list).
--  uint32_t marked_full : 1;
-   // |num_allocated_slots| is 0 for empty or decommitted slot spans, which can
-   // be further differentiated by checking existence of the freelist.
--  uint32_t num_allocated_slots : kMaxSlotsPerSlotSpanBits;
--  uint32_t num_unprovisioned_slots : kMaxSlotsPerSlotSpanBits;
-+  uint16_t num_allocated_slots : kMaxSlotsPerSlotSpanBits;
-+  uint16_t num_unprovisioned_slots : kMaxSlotsPerSlotSpanBits;
-+
-+  // |marked_full| isn't equivalent to being full. Slot span is marked as full
-+  // iff it isn't on the active slot span list (or any other list).
-+  bool marked_full : 1;
- 
-  private:
--  const uint32_t can_store_raw_size_ : 1;
--  uint32_t freelist_is_sorted_ : 1;
--  uint32_t unused1_ : (32 - 1 - 2 * kMaxSlotsPerSlotSpanBits - 1 - 1);
-+  const uint8_t can_store_raw_size_ : 1;
-+  uint8_t freelist_is_sorted_ : 1;
-   // If |in_empty_cache_|==1, |empty_cache_index| is undefined and mustn't be
-   // used.
--  uint16_t in_empty_cache_ : 1;
--  uint16_t empty_cache_index_ : kEmptyCacheIndexBits;  // < kMaxFreeableSpans.
--  uint16_t unused2_ : (16 - 1 - kEmptyCacheIndexBits);
-+  bool in_empty_cache_ : 1;
-+  uint8_t empty_cache_index_ : kEmptyCacheIndexBits;  // < kMaxFreeableSpans.
-   // Can use only 48 bits (6B) in this bitfield, as this structure is embedded
-   // in PartitionPage which has 2B worth of fields and must fit in 32B.
- 
-@@ -279,18 +278,13 @@ static_assert(sizeof(SlotSpanMetadata) <
-               "SlotSpanMetadata must fit into a Page Metadata slot.");
- 
- inline constexpr SlotSpanMetadata::SlotSpanMetadata() noexcept
--    : marked_full(0),
--      num_allocated_slots(0),
-+    : num_allocated_slots(0),
-       num_unprovisioned_slots(0),
-+      marked_full(0),
-       can_store_raw_size_(false),
-       freelist_is_sorted_(true),
--      unused1_(0),
-       in_empty_cache_(0),
--      empty_cache_index_(0),
--      unused2_(0) {
--  (void)unused1_;
--  (void)unused2_;
--}
-+      empty_cache_index_(0) {}
- 
- inline SlotSpanMetadata::SlotSpanMetadata(const SlotSpanMetadata&) = default;
- 
-@@ -883,7 +877,7 @@ PA_ALWAYS_INLINE void SlotSpanMetadata::
- 
-   size_t num_slots_per_span = bucket->get_slots_per_span();
-   PA_DCHECK(num_slots_per_span <= kMaxSlotsPerSlotSpan);
--  num_unprovisioned_slots = static_cast<uint32_t>(num_slots_per_span);
-+  num_unprovisioned_slots = static_cast<uint16_t>(num_slots_per_span);
-   PA_DCHECK(num_unprovisioned_slots);
- 
-   ToSuperPageExtent()->IncrementNumberOfNonemptySlotSpans();
-diff -up chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.el8-support-64kpage.patch chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc
---- chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.el8-support-64kpage.patch	2024-01-30 21:24:10.000000000 +0100
-+++ chromium-121.0.6167.139/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc	2024-02-01 17:20:37.178877448 +0100
-@@ -950,12 +950,11 @@ void PartitionRoot::Init(PartitionOption
-              (internal::SystemPageSize() == (size_t{1} << 14)));
- #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-     // Check runtime pagesize. Though the code is currently the same, it is
--    // not merged with the IS_APPLE case above as a 1 << 16 case needs to be
--    // added here in the future, to allow 64 kiB pagesize. That is only
--    // supported on Linux on arm64, not on IS_APPLE, but not yet present here
--    // as the rest of the partition allocator does not currently support it.
-+    // not merged with the IS_APPLE case above as a 1 << 16 case is only
-+    // supported on Linux on AArch64.
-     PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
--             (internal::SystemPageSize() == (size_t{1} << 14)));
-+             (internal::SystemPageSize() == (size_t{1} << 14)) ||
-+             (internal::SystemPageSize() == (size_t{1} << 16)));
- #endif
- 
-     ::partition_alloc::internal::ScopedGuard guard{lock_};

diff --git a/chromium-123-python3-assignment-expressions.patch b/chromium-123-python3-assignment-expressions.patch
deleted file mode 100644
index bb0df8c..0000000
--- a/chromium-123-python3-assignment-expressions.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py
---- chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me	2024-02-23 12:04:45.451423995 +0100
-+++ chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py	2024-02-23 12:18:04.099824392 +0100
-@@ -124,7 +124,8 @@ def _GenerateH(basepath, fileroot, head,
-     f.write(u'#include <cstddef>\n')
-     f.write(u'\n')
- 
--    if system_headers := schema.get(u'system-headers', []):
-+    system_headers = schema.get(u'system-headers', [])
-+    if system_headers:
-       for header in system_headers:
-         f.write(u'#include <%s>\n' % header)
-       f.write(u'\n')
-diff -up chromium-123.0.6312.46/tools/metrics/histograms/expand_owners.py.me chromium-123.0.6312.46/tools/metrics/histograms/expand_owners.py
---- chromium-123.0.6312.46/tools/metrics/histograms/expand_owners.py.me	2024-03-18 14:40:57.871904209 +0100
-+++ chromium-123.0.6312.46/tools/metrics/histograms/expand_owners.py	2024-03-18 14:47:12.238907146 +0100
-@@ -209,8 +209,8 @@ def _ComponentFromDirmd(json_data, subpa
-   """
-   dirmd = json_data.get('dirs', {}).get(subpath, {})
-   # If a public Buganizer component is listed, return its component ID.
--  if buganizer_component := dirmd.get('buganizerPublic',
--                                      {}).get('componentId', ''):
-+  buganizer_component = dirmd.get('buganizerPublic',{}).get('componentId', '')
-+  if buganizer_component:
-     return buganizer_component
-   # If no component exists for the directory, or if METADATA migration is
-   # incomplete there will be no component information.

diff --git a/chromium-123-shape_result-assert.patch b/chromium-123-shape_result-assert.patch
deleted file mode 100644
index 5b5d5cc..0000000
--- a/chromium-123-shape_result-assert.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit 4bdca157e7edfeb5b9c0ac77e3afbfe288f7f9cf
-Author: Stefan Zager <szager@chromium.org>
-Date:   Mon Feb 26 02:36:37 2024 +0000
-
-    Make SameSizeAsShapeResult robust against uncommon gn args
-    
-    When using uncommon build configurations, it's currently possible
-    to fail this assert due to details of struct field packing:
-    
-    ASSERT_SIZE(ShapeResult, SameSizeAsShapeResult);
-    
-    In particular, `cppgc_enable_pointer_compression = false` in args.gn
-    will trigger it.
-    
-    This changes makes the struct layout of SameSizeAsShapeResult more
-    closely match that of ShapeResult, which should make it harder to
-    fail the assert.
-    
-    Change-Id: I7406b0ac333303b6808807fa1eaf5cbecb85d858
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5323558
-    Auto-Submit: Stefan Zager <szager@chromium.org>
-    Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
-    Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1265024}
-
-diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
-index 28aabc7d66cd8..a2bfdec2775e4 100644
---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
-+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
-@@ -78,10 +78,13 @@ struct SameSizeAsRunInfo {
- ASSERT_SIZE(ShapeResult::RunInfo, SameSizeAsRunInfo);
- 
- struct SameSizeAsShapeResult {
--  Vector<int> vectors[2];
--  UntracedMember<void*> members[2];
-   float width;
--  unsigned integers[2];
-+  UntracedMember<void*> deprecated_ink_bounds_;
-+  Vector<int> runs_;
-+  Vector<int> character_position_;
-+  UntracedMember<void*> primary_font_;
-+  unsigned start_index_;
-+  unsigned num_characters_;
-   unsigned bitfields : 32;
- };
- 

diff --git a/chromium-124-clang16-buildflags.patch b/chromium-124-clang16-buildflags.patch
new file mode 100644
index 0000000..b53b2a8
--- /dev/null
+++ b/chromium-124-clang16-buildflags.patch
@@ -0,0 +1,22 @@
+diff -up chromium-124.0.6367.49/build/config/compiler/BUILD.gn.orig chromium-124.0.6367.49/build/config/compiler/BUILD.gn
+--- chromium-124.0.6367.49/build/config/compiler/BUILD.gn.orig	2024-04-14 22:43:02.906578948 +0200
++++ chromium-124.0.6367.49/build/config/compiler/BUILD.gn	2024-04-14 22:46:19.513353809 +0200
+@@ -1890,9 +1890,6 @@ config("default_warnings") {
+ 
+         # TODO(crbug.com/1494809): Evaluate and possibly enable.
+         "-Wno-vla-extension",
+-
+-        # TODO(https://crbug.com/1490607): Fix and re-enable.
+-        "-Wno-thread-safety-reference-return",
+       ]
+ 
+       cflags_cc += [
+@@ -1903,7 +1900,7 @@ config("default_warnings") {
+       if (!is_nacl) {
+         cflags_cc += [
+           # TODO(https://crbug.com/1513724): Fix and re-enable.
+-          "-Wno-c++11-narrowing-const-reference",
++          "-Wno-c++11-narrowing",
+         ]
+       }
+     }

diff --git a/chromium-124-el8-support-64kpage.patch b/chromium-124-el8-support-64kpage.patch
new file mode 100644
index 0000000..97e4c76
--- /dev/null
+++ b/chromium-124-el8-support-64kpage.patch
@@ -0,0 +1,127 @@
+diff -up chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h.orig chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h
+--- chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h.orig	2024-04-12 21:56:54.000000000 +0200
++++ chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.h	2024-04-14 20:53:16.043867871 +0200
+@@ -147,7 +147,13 @@ struct PartitionBucket {
+   // Returns a slot number starting from the beginning of the slot span.
+   PA_ALWAYS_INLINE size_t GetSlotNumber(size_t offset_in_slot_span) const {
+     // See the static assertion for `kReciprocalShift` above.
+-    PA_DCHECK(offset_in_slot_span <= kMaxBucketed);
++    // TODO(casey.smalley@arm.com): triggers on Aarch64/Linux
++    // systems with 64k system pages. Constants need to be
++    // adjusted to prevent different parts of the allocator
++    // from overlapping. For now this will allow 64k pages
++    // to function on Aarch64/Linux systems, albeit not
++    // very efficiently.
++    PA_DCHECK(internal::SystemPageSize() == (size_t{1} << 16) || offset_in_slot_span <= kMaxBucketed);
+     PA_DCHECK(slot_size <= kMaxBucketed);
+ 
+     const size_t offset_in_slot =
+diff -up chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h.orig chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h
+--- chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h.orig	2024-04-14 20:53:16.043867871 +0200
++++ chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h	2024-04-14 21:39:18.147052845 +0200
+@@ -17,10 +17,8 @@ namespace partition_alloc::internal {
+ // PartitionPageSize() is 4 times the OS page size.
+ static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket;
+ #elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE)
+-// System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is
+-// currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code,
+-// so we use the 16 kiB maximum (64 kiB will crash).
+-static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket;
++// System page size can be 4, 16, or 64 kiB on Linux on AArch64.
++static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 16) / kSmallestBucket;
+ #else
+ // A slot span can "span" multiple PartitionPages, but then its slot size is
+ // larger, so it doesn't have as many slots.
+diff -up chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc
+--- chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig	2024-04-14 20:53:16.044867889 +0200
++++ chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc	2024-04-14 21:50:57.926716718 +0200
+@@ -952,12 +952,11 @@ void PartitionRoot::Init(PartitionOption
+              (internal::SystemPageSize() == (size_t{1} << 14)));
+ #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
+     // Check runtime pagesize. Though the code is currently the same, it is
+-    // not merged with the IS_APPLE case above as a 1 << 16 case needs to be
+-    // added here in the future, to allow 64 kiB pagesize. That is only
+-    // supported on Linux on arm64, not on IS_APPLE, but not yet present here
+-    // as the rest of the PartitionAlloc does not currently support it.
++    // not merged with the IS_APPLE case above as a 1 << 16 case is only
++    // supported on Linux on AArch64.
+     PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
+-             (internal::SystemPageSize() == (size_t{1} << 14)));
++             (internal::SystemPageSize() == (size_t{1} << 14)) ||
++             (internal::SystemPageSize() == (size_t{1} << 16)));
+ #endif
+ 
+     ::partition_alloc::internal::ScopedGuard guard{lock_};
+diff -up chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page.h.me chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page.h
+--- chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page.h.me	2024-04-14 22:08:40.655011536 +0200
++++ chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition_alloc/partition_page.h	2024-04-14 22:12:46.665731577 +0200
+@@ -86,27 +86,25 @@ struct SlotSpanMetadata {
+ 
+   // CHECK()ed in AllocNewSlotSpan().
+   // The maximum number of bits needed to cover all currently supported OSes.
+-  static constexpr size_t kMaxSlotsPerSlotSpanBits = 13;
++  static constexpr size_t kMaxSlotsPerSlotSpanBits = 15;
+   static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), "");
+ 
+-  // |marked_full| isn't equivalent to being full. Slot span is marked as full
+-  // iff it isn't on the active slot span list (or any other list).
+-  uint32_t marked_full : 1;
+   // |num_allocated_slots| is 0 for empty or decommitted slot spans, which can
+   // be further differentiated by checking existence of the freelist.
+-  uint32_t num_allocated_slots : kMaxSlotsPerSlotSpanBits;
+-  uint32_t num_unprovisioned_slots : kMaxSlotsPerSlotSpanBits;
++  uint16_t num_allocated_slots : kMaxSlotsPerSlotSpanBits;
++  uint16_t num_unprovisioned_slots : kMaxSlotsPerSlotSpanBits;
++
++  // |marked_full| isn't equivalent to being full. Slot span is marked as full
++  // iff it isn't on the active slot span list (or any other list).
++  bool marked_full : 1;
+ 
+  private:
+-  const uint32_t can_store_raw_size_ : 1;
+-  uint32_t freelist_is_sorted_ : 1;
+-  uint32_t unused1_ : (32 - 1 - 2 * kMaxSlotsPerSlotSpanBits - 1 - 1);
++  const uint8_t can_store_raw_size_ : 1;
++  uint8_t freelist_is_sorted_ : 1;
+   // If |in_empty_cache_|==1, |empty_cache_index| is undefined and mustn't be
+   // used.
+-  uint16_t in_empty_cache_ : 1;
+-  uint16_t empty_cache_index_
+-      : kMaxEmptyCacheIndexBits;  // < kMaxFreeableSpans.
+-  uint16_t unused2_ : (16 - 1 - kMaxEmptyCacheIndexBits);
++  bool in_empty_cache_ : 1;
++  uint8_t empty_cache_index_ : kEmptyCacheIndexBits;  // < kMaxFreeableSpans.
+   // Can use only 48 bits (6B) in this bitfield, as this structure is embedded
+   // in PartitionPage which has 2B worth of fields and must fit in 32B.
+ 
+@@ -246,18 +244,13 @@ static_assert(sizeof(SlotSpanMetadata) <
+               "SlotSpanMetadata must fit into a Page Metadata slot.");
+ 
+ inline constexpr SlotSpanMetadata::SlotSpanMetadata() noexcept
+-    : marked_full(0),
+-      num_allocated_slots(0),
++    : num_allocated_slots(0),
+       num_unprovisioned_slots(0),
++      marked_full(0),
+       can_store_raw_size_(false),
+       freelist_is_sorted_(true),
+-      unused1_(0),
+       in_empty_cache_(0),
+-      empty_cache_index_(0),
+-      unused2_(0) {
+-  (void)unused1_;
+-  (void)unused2_;
+-}
++      empty_cache_index_(0) {}
+ 
+ inline SlotSpanMetadata::SlotSpanMetadata(const SlotSpanMetadata&) = default;
+ 
+@@ -752,7 +745,7 @@ PA_ALWAYS_INLINE void SlotSpanMetadata::
+ 
+   size_t num_slots_per_span = bucket->get_slots_per_span();
+   PA_DCHECK(num_slots_per_span <= kMaxSlotsPerSlotSpan);
+-  num_unprovisioned_slots = static_cast<uint32_t>(num_slots_per_span);
++  num_unprovisioned_slots = static_cast<uint16_t>(num_slots_per_span);
+   PA_DCHECK(num_unprovisioned_slots);
+ 
+   ToSuperPageExtent()->IncrementNumberOfNonemptySlotSpans();

diff --git a/chromium-124-libavif-deps.patch b/chromium-124-libavif-deps.patch
new file mode 100644
index 0000000..6298217
--- /dev/null
+++ b/chromium-124-libavif-deps.patch
@@ -0,0 +1,11 @@
+diff -up chromium-124.0.6367.49/third_party/libavif/BUILD.gn.me chromium-124.0.6367.49/third_party/libavif/BUILD.gn
+--- chromium-124.0.6367.49/third_party/libavif/BUILD.gn.me	2024-04-15 22:29:28.024287328 +0200
++++ chromium-124.0.6367.49/third_party/libavif/BUILD.gn	2024-04-15 22:29:33.205411066 +0200
+@@ -85,7 +85,6 @@ component("libavif_enc") {
+   configs += [ ":avif_config" ]
+ 
+   deps = [
+-    "//third_party/libwebp:libwebp_sharpyuv",
+     "//third_party/libyuv",
+   ]
+   defines = [ "AVIF_LIBSHARPYUV_ENABLED" ]

diff --git a/chromium-124-python3-assignment-expressions.patch b/chromium-124-python3-assignment-expressions.patch
new file mode 100644
index 0000000..61ce037
--- /dev/null
+++ b/chromium-124-python3-assignment-expressions.patch
@@ -0,0 +1,13 @@
+diff -up chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py
+--- chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me	2024-02-23 12:04:45.451423995 +0100
++++ chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py	2024-02-23 12:18:04.099824392 +0100
+@@ -124,7 +124,8 @@ def _GenerateH(basepath, fileroot, head,
+     f.write(u'#include <cstddef>\n')
+     f.write(u'\n')
+ 
+-    if system_headers := schema.get(u'system-headers', []):
++    system_headers = schema.get(u'system-headers', [])
++    if system_headers:
+       for header in system_headers:
+         f.write(u'#include <%s>\n' % header)
+       f.write(u'\n')

diff --git a/chromium.spec b/chromium.spec
index fbcee19..4f31615 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -179,17 +179,13 @@
 %global toolchain gcc
 %endif
 
-# enable qt backend for el >= 8 and fedora
-%if 0%{?rhel} >= 8 || 0%{?fedora}
-%global use_qt 1
-%else
-%global use_qt 0
-%endif
-
-%if 0%{?rhel} > 9 || 0%{?fedora}
+# enable qt backend
+%if 0%{?fedora} >= 40
 %global use_qt6 1
+%global use_qt 0
 %else
 %global use_qt6 0
+%global use_qt 1
 %endif
 
 # Chromium's fork of ICU is now something we can't unbundle.
@@ -306,7 +302,7 @@
 %endif
 
 Name:	chromium%{chromium_channel}
-Version: 123.0.6312.122
+Version: 124.0.6367.60
 Release: 1%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
@@ -446,19 +442,16 @@ Patch309: chromium-123-constexpr.patch
 # missing include header files
 Patch310: chromium-123-missing-header-files.patch
 
-# clang warnings
-Patch311: chromium-115-clang-warnings.patch
-
 # enable fstack-protector-strong
 Patch312: chromium-123-fstack-protector-strong.patch
 
 # rust is old, function or associated item not found in `OsStr`
 Patch313: chromium-123-rust-clap_lex.patch
 
-Patch314: chromium-122-clang16-buildflags.patch
+Patch314: chromium-124-clang16-buildflags.patch
 
 # assignment-expressions not suport in python < 3.8 on el 7/8
-Patch315: chromium-123-python3-assignment-expressions.patch
+Patch315: chromium-124-python3-assignment-expressions.patch
 
 # add -ftrivial-auto-var-init=zero and -fwrapv
 Patch316: chromium-122-clang-build-flags.patch
@@ -483,6 +476,9 @@ Patch357: chromium-122-clang16-disable-auto-upgrade-debug-info.patch
 # set clang_lib path
 Patch358: chromium-122-rust-clang_lib.patch
 
+# ERROR Unresolved dependencies
+Patch359: chromium-124-libavif-deps.patch
+
 # PowerPC64 LE support
 # Patches taken from Debian, Timothy Pearson's patchset
 # https://salsa.debian.org/chromium-team/chromium/-/tree/master/debian/patches/ppc64le?ref_type=heads
@@ -565,9 +561,7 @@ Patch415: fix-clang-selection.patch
 
 # upstream patches
 # 64kpage support on el8
-Patch500: chromium-122-el8-support-64kpage.patch
-# error: static assertion failed due to requirement '::WTF::internal::SizesEqual<72, 64>::value': ShapeResult should stay small 
-Patch501: chromium-123-shape_result-assert.patch
+Patch500: chromium-124-el8-support-64kpage.patch
 
 # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
 # http://build.chromium.org/buildbot/official/
@@ -1211,7 +1205,7 @@ udev.
 %patch -P130 -p1 -b .revert-av1enc
 %endif
 
-%if 0%{?rhel} <= 8
+%if 0%{?rhel} && 0%{?rhel} <= 8
 %patch -P315 -p1 -b .assignment-expressions
 %ifarch aarch64
 %patch -P305 -p1 -b .memory_tagging
@@ -1221,12 +1215,10 @@ udev.
 %if 0%{?rhel} || 0%{?fedora} && 0%{?fedora} < 39
 %patch -P307 -p1 -R -b .v8-c++20
 %patch -P308 -p1 -R -b .v8-c++20
-%patch -P309 -p1 -b .constexpr
 %patch -P314 -p1 -b .clang16-buildflag
 %endif
 
 %patch -P310 -p1 -b .missing-header-files
-%patch -P311 -p1 -b .clang-warnings
 %patch -P312 -p1 -b .fstack-protector-strong
 
 %if 0%{?rhel} && 0%{?rhel} < 10
@@ -1248,6 +1240,7 @@ udev.
 %patch -P356 -p1 -b .disable-FFmpegAllowLists
 %patch -P357 -p1 -b .clang16-disable-auto-upgrade-debug-info
 %patch -P358 -p1 -b .rust-clang_lib
+%patch -P359 -p1 -b .libavif-deps
 
 %ifarch ppc64le
 %patch -P360 -p1 -b .0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h
@@ -1289,7 +1282,7 @@ udev.
 %patch -P390 -p1 -b .0002-third-party-boringssl-add-generated-files
 %patch -P391 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config
 #patch -P392 -p1 -b .0003-third_party-libvpx-Add-ppc64-vsx-files
-%patch -P393 -p1 -b .0003-third_party-ffmpeg-Add-ppc64-generated-config
+#patch -P393 -p1 -b .0003-third_party-ffmpeg-Add-ppc64-generated-config
 %patch -P394 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx
 
 %patch -P395 -p1 -b .skia-vsx-instructions
@@ -1326,8 +1319,6 @@ udev.
 %endif
 %endif
 
-%patch -P501 -p1 -b .shape_result-assert
-
 # Change shebang in all relevant files in this directory and all subdirectories
 # See `man find` for how the `-exec command {} +` syntax works
 find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +
@@ -2120,6 +2111,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
 %endif
 
 %changelog
+* Tue Apr 16 2024 Than Ngo <than@redhat.com> - 124.0.6367.60-1
+- update to 124.0.6367.60
+
 * Thu Apr 11 2024 Than Ngo <than@redhat.com> - 123.0.6312.122-1
 - update to 123.0.6312.122
   * High CVE-2024-3157: Out of bounds write in Compositing

diff --git a/sources b/sources
index 8383991..347f3ef 100644
--- a/sources
+++ b/sources
@@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
 SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
 SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
 SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
-SHA512 (chromium-123.0.6312.122-clean.tar.xz) = 1e8796a8a282a339eec0078a876a7b9ba98cf4f4616c5c55d7adca92425201c890a420415b3da5d86754b35c479346f5d6aa586ac42905fb7acbb7ffdc8de6d3
+SHA512 (chromium-124.0.6367.60-clean.tar.xz) = 6f04675e17a38e7793bb6944db316c0e175fba57aa6376ce3d09365651e37f3d981f0b35403dfa1272c4f3b2aaa5453103e530dd408196c238244dea2f83eda6

                 reply	other threads:[~2026-08-07 16:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178611877519.1.5255250850203549279.rpms-chromium-5a65c0c54117@fedoraproject.org \
    --to=than@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox