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 118.0.5993.70
Date: Fri, 07 Aug 2026 16:05:34 GMT	[thread overview]
Message-ID: <178611873443.1.10465453841450994412.rpms-chromium-820d621e374d@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 820d621e374d616e6693eec08b509be839baff18
Author : Than Ngo <than@redhat.com>
Date   : 2023-10-11T10:36:46+02:00
Stats  : +1466/-1508 in 17 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/820d621e374d616e6693eec08b509be839baff18?branch=epel9-next

Log:
update to 118.0.5993.70

---
diff --git a/chromium-116-arm64-memory_tagging.patch b/chromium-116-arm64-memory_tagging.patch
deleted file mode 100644
index c69cda8..0000000
--- a/chromium-116-arm64-memory_tagging.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h
---- chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h.me	2023-07-30 15:13:45.873427874 +0200
-+++ chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h	2023-07-30 15:15:31.393181400 +0200
-@@ -150,9 +150,7 @@ static_assert(sizeof(void*) != 8, "");
-   (!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
-    defined(ARCH_CPU_LITTLE_ENDIAN))
- 
--#define PA_CONFIG_HAS_MEMORY_TAGGING()              \
--  (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
--   (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
-+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
- 
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
- static_assert(sizeof(void*) == 8);

diff --git a/chromium-116-tweak_about_gpu.patch b/chromium-116-tweak_about_gpu.patch
deleted file mode 100644
index 64a48e9..0000000
--- a/chromium-116-tweak_about_gpu.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-commit e2f8a1e1b5c0096cb0465a79e4f6c53d0d50e664
-Author: Gregg Tavares <gman@chromium.org>
-Date:   Fri Aug 11 00:32:19 2023 +0000
-
-    Tweak about:gpu
-    
-    * Make it so you can select all the text
-    
-      As it was, selection only worked on individual top level divs.
-      Adding an enclosing parent div fixed this issue
-    
-    * Change "Copy Report to Clipboard" to "Download Report to File"
-    
-      The data here was almost always too big. Too big to paste into
-      a chrome bug, too big to paste into chat.
-    
-      The user can still press Ctrl-A/Cmd-A or pick Select-All
-      and do a text copy.
-    
-    * Add dark mode support
-    
-    Bug: 1470927
-    Change-Id: I82da29ae5b68106f204d02084e252d3f07373a69
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4764269
-    Commit-Queue: Gregg Tavares <gman@chromium.org>
-    Reviewed-by: Kenneth Russell <kbr@chromium.org>
-    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1182383}
-
-diff --git a/content/browser/resources/gpu/gpu_internals.html b/content/browser/resources/gpu/gpu_internals.html
-index d324f96798fd6..22322bb6ba7d8 100644
---- a/content/browser/resources/gpu/gpu_internals.html
-+++ b/content/browser/resources/gpu/gpu_internals.html
-@@ -9,13 +9,15 @@ found in the LICENSE file.
- <meta name="viewport" content="width=device-width" />
- <title>GPU Internals</title>
- <style>
-+  :root {
-+    color-scheme: light dark;
-+  }
-   * {
-     box-sizing: border-box;
-     user-select: none;
-   }
- 
-   body {
--    background-color: white;
-     cursor: default;
-     font-family: sans-serif;
-     margin: 8px;
-diff --git a/content/browser/resources/gpu/info_view.html b/content/browser/resources/gpu/info_view.html
-index 289691ceb11b3..ce3643da2adb6 100644
---- a/content/browser/resources/gpu/info_view.html
-+++ b/content/browser/resources/gpu/info_view.html
-@@ -5,12 +5,28 @@ found in the LICENSE file.
- -->
- <style>
-   :host {
-+    --green: #080;
-+    --yellow: #880;
-+    --red: #f00;
-+    --gray: #888;
-+    --bg-yellow: #ff0;
-+
-     display: block;
-     flex: 1;
-     overflow: auto;
-     padding: 10px;
-   }
- 
-+  @media (prefers-color-scheme: dark) {
-+    :host {
-+      --green: #0F0;
-+      --yellow: #FF0;
-+      --red: #f00;
-+      --gray: #888;
-+      --bg-yellow: #880;
-+    }
-+  }
-+
-   :host * {
-     user-select: text;
-   }
-@@ -26,77 +42,52 @@ found in the LICENSE file.
-     margin-top: 0;
-   }
- 
--  :host > div {
-+  #content > div {
-     margin-bottom: 1em;
-   }
- 
-   .feature-green {
--    color: rgb(0, 128, 0);
-+    color: var(--green);
-   }
- 
-   .feature-yellow {
--    color: rgb(128, 128, 0);
-+    color: var(--yellow);
-   }
- 
-   .feature-red {
--    color: rgb(255, 0, 0);
-+    color: var(--red);
-   }
- 
-   .feature-gray {
--    color: rgb(128, 128, 128);
-+    color: var(--gray);
-   }
- 
-   .bg-yellow {
--    background-color: yellow;
-+    background-color: var(--bg-yellow);
-   }
- 
-   #vulkan-info-value {
-     white-space: pre;
-   }
- 
--  #copy-to-clipboard {
--    background-image: linear-gradient(#ededed, #ededed 38%, #dedede);
--    border: 1px solid rgba(0, 0, 0, .25);
--    border-radius: 2px;
--    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08),
--        inset 0 1px 2px rgba(255, 255, 255, 0.75);
--    color: #444;
-+  #download-to-file {
-     font: inherit;
-     margin: 0 1px 0 0;
-     min-height: 2em;
--    outline: none;
-     padding: 1px 10px;
--    text-shadow: 0 1px 0 rgb(240, 240, 240);
-     user-select: none;
-   }
- 
--  #copy-to-clipboard:enabled:hover {
--    background-image: linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0);
--    border-color: rgba(0, 0, 0, 0.3);
--    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12),
--        inset 0 1px 2px rgba(255, 255, 255, 0.95);
--    color: black;
--  }
--
--  #copy-to-clipboard:enabled:active {
--    background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7);
--    box-shadow: none;
--    text-shadow: none;
--  }
--
--  #copy-to-clipboard:enabled:focus {
--    border-color: rgb(77, 144, 254);
--  }
--
-   h4.dawn-info-header {
--    color: rgb(128, 128, 0);
-+    color: var(--yellow);
-     margin-bottom: 2px;
-     margin-top: 10px;
-   }
- </style>
- 
-+<div id="content">
- <div>
--  <button id="copy-to-clipboard">Copy Report to Clipboard</button>
-+  <button id="download-to-file">Download Report to File</button>
- </div>
- <div>
-   <h3>Graphics Feature Status</h3>
-@@ -193,3 +184,4 @@ found in the LICENSE file.
-   <h3>Log Messages</h3>
-   <ul></ul>
- </div>
-+</div>
-\ No newline at end of file
-diff --git a/content/browser/resources/gpu/info_view.ts b/content/browser/resources/gpu/info_view.ts
-index 0b91cc130f46f..96c08f76e4bc7 100644
---- a/content/browser/resources/gpu/info_view.ts
-+++ b/content/browser/resources/gpu/info_view.ts
-@@ -12,6 +12,22 @@ import {getTemplate} from './info_view.html.js';
- import {ArrayData, Data} from './info_view_table_row.js';
- import {VulkanInfo} from './vulkan_info.js';
- 
-+/**
-+ * Given a blob and a filename, prompts user to
-+ * save as a file.
-+ */
-+const saveData = (function() {
-+  const a = document.createElement('a');
-+  a.style.display = 'none';
-+  document.body.appendChild(a);
-+  return function saveData(blob: Blob, fileName: string) {
-+    const url = window.URL.createObjectURL(blob);
-+    a.href = url;
-+    a.download = fileName;
-+    a.click();
-+  };
-+}());
-+
- /**
-  * @fileoverview This view displays information on the current GPU
-  * hardware.  Its primary usefulness is to allow users to copy-paste
-@@ -33,19 +49,26 @@ export class InfoViewElement extends CustomElement {
-   }
- 
-   connectedCallback() {
--    // Add handler to 'copy to clipboard' button
--    const copyButton =
--        this.shadowRoot!.querySelector<HTMLElement>('#copy-to-clipboard');
--    assert(copyButton);
--    copyButton.onclick = (() => {
-+    // Add handler to 'download report to clipboard' button
-+    const downloadButton =
-+        this.shadowRoot!.querySelector<HTMLElement>('#download-to-file')!;
-+    assert(downloadButton);
-+    downloadButton.onclick = (() => {
-       // Make sure nothing is selected
-       const s = window.getSelection()!;
-       s.removeAllRanges();
-+
-+      // Select everything
-       s.selectAllChildren(this.shadowRoot!);
--      document.execCommand('copy');
-+      const text = s.toString();
- 
-       // And deselect everything at the end.
-       window.getSelection()!.removeAllRanges();
-+
-+      const blob = new Blob([text], {type: 'text/text'});
-+      const filename = `about-gpu-${
-+          new Date().toISOString().replace(/[^a-z0-9-]/ig, '-')}.txt`;
-+      saveData(blob, filename);
-     });
-   }
- 

diff --git a/chromium-117-emplace_back_on_vector-c++20.patch b/chromium-117-emplace_back_on_vector-c++20.patch
deleted file mode 100644
index 3f1b800..0000000
--- a/chromium-117-emplace_back_on_vector-c++20.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
---- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me	2023-06-25 10:06:58.445990069 +0200
-+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc	2023-06-25 10:51:17.640818231 +0200
-@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
-                         "'version' field of type string");
-         }
- 
--        brands.emplace_back(*brand, *version);
-+        brands.emplace_back() = {*brand, *version};
-       }
- 
-       client_hints.brands = std::move(brands);
-@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
-                         "a 'version' field of type string");
-         }
- 
--        full_version_list.emplace_back(*brand, *version);
-+        full_version_list.emplace_back() = {*brand, *version};
-       }
- 
-       client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me	2023-08-15 21:34:58.922855428 +0200
-+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc	2023-08-15 21:39:23.310434237 +0200
-@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
- 
-       while (rule_iterator && rule_iterator->HasNext()) {
-         auto rule = rule_iterator->Next();
--        patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
--                                        rule->secondary_pattern);
-+        patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+                                        rule->secondary_pattern};
-         permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
-             setting_type,
-             permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
-     auto rule = rule_iterator->Next();
-     if (rule->primary_pattern.Matches(origin_gurl) &&
-         rule->secondary_pattern.Matches(origin_gurl)) {
--      patterns_to_delete.emplace_back(
--          content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+      patterns_to_delete.emplace_back() = {
-+          content_setting_type, rule->primary_pattern, rule->secondary_pattern};
-       permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
-           content_setting_type, trigger_event);
-     }
-diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
---- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me	2023-09-13 20:14:42.441248781 +0200
-+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc	2023-09-13 20:16:12.186638601 +0200
-@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
-   AutoLock lock(track_event_lock_);
--  track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
--                                     args.backend_type);
-+  track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+                                     args.backend_type};
- }
- 
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
---- chromium-117.0.5938.62/content/browser/download/save_package.cc.me	2023-09-15 12:02:43.866622591 +0200
-+++ chromium-117.0.5938.62/content/browser/download/save_package.cc	2023-09-15 12:03:58.715984511 +0200
-@@ -764,8 +764,8 @@ void SavePackage::Finish() {
-   if (download_) {
-     std::vector<download::DownloadSaveItemData::ItemInfo> files;
-     for (auto& item : saved_success_items_) {
--      files.emplace_back(item.second->full_path(), item.second->url(),
--                         item.second->referrer().url);
-+      files.emplace_back() = {item.second->full_path(), item.second->url(),
-+                         item.second->referrer().url};
-     }
-     download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
-   }
-diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
---- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me	2023-09-15 20:29:42.626502343 +0200
-+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc	2023-09-15 20:36:18.763091179 +0200
-@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
-     GdkRectangle geometry;
-     gdk_monitor_get_geometry(monitor, &geometry);
-     int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
--    config.display_geometries.emplace_back(
-+    config.display_geometries.emplace_back() = {
-         gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
-                   monitor_scale * geometry.width,
-                   monitor_scale * geometry.height),
--        monitor_scale * font_scale);
-+        static_cast<float>(monitor_scale * font_scale)};
-   }
-   return config;
- }

diff --git a/chromium-117-missing-header-files.patch b/chromium-117-missing-header-files.patch
deleted file mode 100644
index ad8e1e6..0000000
--- a/chromium-117-missing-header-files.patch
+++ /dev/null
@@ -1,457 +0,0 @@
-diff -up chromium-110.0.5481.177/base/memory/ref_counted.h.me chromium-110.0.5481.177/base/memory/ref_counted.h
---- chromium-110.0.5481.177/base/memory/ref_counted.h.me	2023-02-23 13:34:33.174817255 -0500
-+++ chromium-110.0.5481.177/base/memory/ref_counted.h	2023-02-23 13:42:28.646052469 -0500
-@@ -6,6 +6,7 @@
- #define BASE_MEMORY_REF_COUNTED_H_
- 
- #include <stddef.h>
-+#include <limits>
- 
- #include <utility>
- 
-diff -up chromium-109.0.5414.74/base/check_op.h.me chromium-109.0.5414.74/base/check_op.h
---- chromium-109.0.5414.74/base/check_op.h.me	2023-01-17 17:39:27.620875883 +0100
-+++ chromium-109.0.5414.74/base/check_op.h	2023-01-17 17:39:42.546060957 +0100
-@@ -5,6 +5,7 @@
- #ifndef BASE_CHECK_OP_H_
- #define BASE_CHECK_OP_H_
- 
-+#include <cstdint>
- #include <cstddef>
- #include <string>
- #include <type_traits>
-diff -up chromium-109.0.5414.74/base/debug/profiler.h.me chromium-109.0.5414.74/base/debug/profiler.h
---- chromium-109.0.5414.74/base/debug/profiler.h.me	2023-01-17 16:29:26.368090073 +0100
-+++ chromium-109.0.5414.74/base/debug/profiler.h	2023-01-17 16:59:41.190628679 +0100
-@@ -7,6 +7,7 @@
- 
- #include <stddef.h>
- 
-+#include <cstdint>
- #include <string>
- 
- #include "base/base_export.h"
-diff -up chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me chromium-109.0.5414.74/gpu/config/gpu_feature_info.h
---- chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me	2023-01-17 19:06:53.530675129 +0100
-+++ chromium-109.0.5414.74/gpu/config/gpu_feature_info.h	2023-01-17 19:07:08.874849879 +0100
-@@ -5,6 +5,7 @@
- #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
- #define GPU_CONFIG_GPU_FEATURE_INFO_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff -up chromium-109.0.5414.74/net/base/net_export.h.me chromium-109.0.5414.74/net/base/net_export.h
---- chromium-109.0.5414.74/net/base/net_export.h.me	2023-01-17 18:16:34.133854615 +0100
-+++ chromium-109.0.5414.74/net/base/net_export.h	2023-01-17 18:16:15.945623153 +0100
-@@ -5,6 +5,8 @@
- #ifndef NET_BASE_NET_EXPORT_H_
- #define NET_BASE_NET_EXPORT_H_
- 
-+#include <cstdint>
-+
- // Defines NET_EXPORT so that functionality implemented by the net module can
- // be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to
- // access features not intended to be used directly by real consumers.
-diff -up chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h
---- chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me	2023-01-17 17:12:34.184686515 +0100
-+++ chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h	2023-01-17 17:13:16.537162420 +0100
-@@ -5,6 +5,7 @@
- #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
- #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
- 
-+#include <cstdint>
- #include <bitset>
- #include <string>
- 
-diff -up chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h
---- chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me	2023-01-17 17:33:20.895717307 +0100
-+++ chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h	2023-01-17 17:34:03.456185365 +0100
-@@ -27,6 +27,7 @@
- #ifndef ABSL_STRINGS_STRING_VIEW_H_
- #define ABSL_STRINGS_STRING_VIEW_H_
- 
-+#include <cstdint>
- #include <algorithm>
- #include <cassert>
- #include <cstddef>
-diff -up chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h
---- chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me	2023-01-17 17:36:15.017616250 +0100
-+++ chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h	2023-01-17 17:36:48.960982195 +0100
-@@ -10,6 +10,7 @@
- #ifndef GLSLANG_SHADERVARS_H_
- #define GLSLANG_SHADERVARS_H_
- 
-+#include <cstdint>
- #include <algorithm>
- #include <array>
- #include <string>
-diff -up chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
---- chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me	2023-01-17 19:17:40.480876171 +0100
-+++ chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h	2023-01-17 19:17:46.803958320 +0100
-@@ -5,6 +5,7 @@
- #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
- #define THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
- 
-+#include <cstdint>
- #include <array>
- #include <string>
- 
-diff -up chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.me chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h
---- chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.me	2023-01-17 18:02:44.681538107 +0100
-+++ chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h	2023-01-17 18:02:57.208679140 +0100
-@@ -15,6 +15,7 @@
- #ifndef SRC_TINT_READER_SPIRV_NAMER_H_
- #define SRC_TINT_READER_SPIRV_NAMER_H_
- 
-+#include <cstdint>
- #include <string>
- #include <unordered_map>
- #include <vector>
-diff -up chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h
---- chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me	2023-01-18 15:22:38.472940648 +0100
-+++ chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h	2023-01-18 15:23:09.380255101 +0100
-@@ -5,6 +5,7 @@
- #ifndef DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
- #define DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
- 
-+#include <cstdint>
- #include <functional>
- #include <map>
- #include <set>
-diff -up chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp
---- chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me	2023-01-17 15:37:48.530626516 +0100
-+++ chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp	2023-01-17 16:57:46.025548092 +0100
-@@ -17,6 +17,7 @@
- 
- #include "System/Debug.hpp"
- 
-+#include <cstdint>
- #include <cstddef>
- #include <functional>
- #include <unordered_set>
-diff -up chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
---- chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me	2023-01-17 15:40:23.854386206 +0100
-+++ chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h	2023-01-17 16:58:19.397862885 +0100
-@@ -2388,6 +2388,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeV
- #ifdef VMA_IMPLEMENTATION
- #undef VMA_IMPLEMENTATION
- 
-+#include <cstdio>
- #include <cstdint>
- #include <cstdlib>
- #include <cstring>
-diff -up chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h
---- chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me	2023-01-17 18:08:25.745491353 +0100
-+++ chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h	2023-01-17 18:08:35.777667632 +0100
-@@ -5,6 +5,7 @@
- #ifndef UI_GFX_LINEAR_GRADIENT_H_
- #define UI_GFX_LINEAR_GRADIENT_H_
- 
-+#include <cstdint>
- #include <array>
- #include <string>
- 
-diff -up chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h
---- chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me	2023-01-19 10:10:21.287876736 +0100
-+++ chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h	2023-01-19 10:11:21.714778896 +0100
-@@ -17,6 +17,7 @@ limitations under the License.
- #define RUY_RUY_PROFILER_INSTRUMENTATION_H_
- 
- #ifdef RUY_PROFILER
-+#include <string>
- #include <cstdio>
- #include <mutex>
- #include <vector>
-diff -up chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h
---- chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me	2023-01-19 10:30:27.533861985 +0100
-+++ chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h	2023-01-19 10:31:12.585554183 +0100
-@@ -31,6 +31,7 @@ limitations under the License.
- #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
- #define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
- 
-+#include <cstdint>
- #include <complex>
- #include <deque>
- #include <vector>
-diff -up chromium-109.0.5414.74/base/containers/flat_map.h.mee chromium-109.0.5414.74/base/containers/flat_map.h
---- chromium-109.0.5414.74/base/containers/flat_map.h.mee	2023-01-19 10:59:52.214957773 +0100
-+++ chromium-109.0.5414.74/base/containers/flat_map.h	2023-01-19 11:00:06.415215309 +0100
-@@ -5,6 +5,7 @@
- #ifndef BASE_CONTAINERS_FLAT_MAP_H_
- #define BASE_CONTAINERS_FLAT_MAP_H_
- 
-+#include <cstdint>
- #include <functional>
- #include <tuple>
- #include <utility>
-diff -up chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h
---- chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee	2023-01-19 10:36:40.571422826 +0100
-+++ chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h	2023-01-19 10:36:49.343565294 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
- #define COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
- 
-+#include <cstdint>
- #include <string>
- 
- #include "build/build_config.h"
-diff -up chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h
---- chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee	2023-01-19 11:45:15.953159755 +0100
-+++ chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h	2023-01-19 11:45:22.320246241 +0100
-@@ -5,6 +5,8 @@
- #ifndef UI_BASE_PREDICTION_KALMAN_FILTER_H_
- #define UI_BASE_PREDICTION_KALMAN_FILTER_H_
- 
-+#include <cstdint>
-+
- #include "base/component_export.h"
- #include "ui/gfx/geometry/matrix3_f.h"
- 
-diff -up chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h
---- chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me	2023-01-19 15:20:07.620987949 +0100
-+++ chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h	2023-01-19 15:20:18.324173702 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
- #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
- 
-+#include <cstdint>
- #include <string>
- 
- 
-diff -up chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h
---- chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me	2023-01-19 16:00:14.350186515 +0100
-+++ chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h	2023-01-19 16:00:21.643307993 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
- #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
- 
-+#include <cstdint>
- #include <string>
- 
- namespace feature_engagement {
-diff -up chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h
---- chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me	2023-01-19 15:59:18.210239416 +0100
-+++ chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h	2023-01-19 15:59:34.513515030 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
- #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
- 
-+#include <cstdint>
- #include <string>
- 
- #include "components/feature_engagement/internal/event_storage_validator.h"
-diff -up chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
---- chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me	2023-01-19 16:09:29.216477182 +0100
-+++ chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc	2023-01-19 16:10:05.657089208 +0100
-@@ -45,6 +45,7 @@
- #include "llvm/Support/SaveAndRestore.h"
- #include "llvm/Support/raw_ostream.h"
- #include <algorithm>
-+#include <cstdint>
- #include <string>
- #include <sysexits.h>
- #ifdef HAVE_BACKTRACE
-diff -up chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h
---- chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me	2023-01-19 16:32:05.338160131 +0100
-+++ chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h	2023-01-19 16:32:16.213326798 +0100
-@@ -5,6 +5,7 @@
- #ifndef CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
- #define CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
- 
-+#include <cstdint>
- #include <map>
- 
- #include "base/containers/flat_set.h"
-diff -up chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h
---- chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me	2023-01-19 16:47:55.548571102 +0100
-+++ chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h	2023-01-19 16:48:29.214146529 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
- #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
- 
-+#include <cstdint>
- #include <string>
- 
- class GURL;
-diff -up chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h
---- chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me	2023-01-19 16:57:29.525372814 +0100
-+++ chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h	2023-01-19 16:58:02.667979288 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
- #define COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
- 
-+#include <cstdint>
- #include <string>
- #include <utility>
- #include <vector>
-diff -up chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h
---- chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me	2023-01-19 17:02:45.258544665 +0100
-+++ chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h	2023-01-19 17:02:52.577611757 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
- #define COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
- 
-+#include <cstdint>
- #include <stddef.h>
- 
- #include <string>
-diff -up chromium-109.0.5414.74/pdf/document_attachment_info.h.me chromium-109.0.5414.74/pdf/document_attachment_info.h
---- chromium-109.0.5414.74/pdf/document_attachment_info.h.me	2023-01-19 17:28:28.552063534 +0100
-+++ chromium-109.0.5414.74/pdf/document_attachment_info.h	2023-01-19 17:28:48.072379953 +0100
-@@ -5,6 +5,7 @@
- #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
- #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
- 
-+#include <cstdint>
- #include <string>
- 
- 
-diff -up chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h
---- chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me	2023-01-19 18:25:47.648193710 +0100
-+++ chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h	2023-01-19 18:26:11.488593556 +0100
-@@ -5,6 +5,8 @@
- #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
- #define CONSTANTS_ANNOTATION_FLAGS_H_
- 
-+#include <cstdint>
-+
- namespace pdfium {
- namespace annotation_flags {
- 
-diff -up chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
---- chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me	2023-04-15 16:44:55.344305412 +0200
-+++ chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h	2023-04-15 16:47:09.028666995 +0200
-@@ -2854,6 +2854,7 @@ static void vma_aligned_free(void* VMA_N
- 
- // Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString.
- #if VMA_STATS_STRING_ENABLED
-+#include <stdio.h>
-     static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num)
-     {
-         snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
-diff -up chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h
---- chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me	2023-04-18 15:55:44.774916319 +0200
-+++ chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h	2023-04-18 15:55:54.441085882 +0200
-@@ -8,6 +8,7 @@
- #include <memory>
- #include <string>
- #include <vector>
-+#include <variant>
- 
- #include "base/containers/span.h"
- #include "base/functional/callback_forward.h"
-diff -up chromium-113.0.5672.37/gin/time_clamper.h.me chromium-113.0.5672.37/gin/time_clamper.h
---- chromium-113.0.5672.37/gin/time_clamper.h.me	2023-04-18 16:38:41.180437467 +0200
-+++ chromium-113.0.5672.37/gin/time_clamper.h	2023-04-18 16:39:43.857049432 +0200
-@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper {
-     const int64_t micros = now_micros % 1000;
-     // abs() is necessary for devices with times before unix-epoch (most likely
-     // configured incorrectly).
--    if (abs(micros) + kResolutionMicros < 1000) {
-+    if (std::abs(micros) + kResolutionMicros < 1000) {
-       return now_micros / 1000;
-     }
-     return ClampTimeResolution(now_micros) / 1000;
-diff -up chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc
---- chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me	2023-04-21 08:07:55.362714544 +0200
-+++ chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc	2023-04-21 08:14:35.424158693 +0200
-@@ -10,6 +10,7 @@
- #include <queue>
- #include <utility>
- #include <vector>
-+#include <cstring>
- 
- #include "base/check.h"
- #include "base/files/file_path.h"
-diff -up chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc.me chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc
---- chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc.me	2023-06-18 12:33:52.387412788 +0200
-+++ chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc	2023-06-18 12:35:28.229148935 +0200
-@@ -3,6 +3,7 @@
- // found in the LICENSE file.
- 
- #include "skia/ext/skcolorspace_trfn.h"
-+#include <cmath>
- 
- namespace skia {
- 
-diff -up chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h
---- chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint	2021-11-19 17:05:31.379750350 -0500
-+++ chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h	2021-11-19 17:07:35.191520127 -0500
-@@ -11,6 +11,7 @@
- #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
- #define COMMON_VIDEO_H264_SPS_PARSER_H_
- 
-+#include <cstdint>
- #include "absl/types/optional.h"
- #include "rtc_base/bitstream_reader.h"
- 
-diff -up chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h
---- chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint	2021-11-12 05:28:10.000000000 -0500
-+++ chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h	2021-11-19 17:05:31.379750350 -0500
-@@ -11,6 +11,7 @@
- #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
- #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
- 
-+#include <cstdint>
- #include <limits>
- 
- #include "absl/types/optional.h"
-diff -up chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h
---- chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint	2021-11-12 05:25:24.000000000 -0500
-+++ chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h	2021-11-19 17:05:31.379750350 -0500
-@@ -9,6 +9,8 @@
- 
- #include "ui/gfx/buffer_types.h"
- 
-+#include <cstdint>
-+
- namespace ui {
- 
- int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
-diff -up chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc
---- chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring	2021-11-12 05:28:09.000000000 -0500
-+++ chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc	2021-11-19 17:10:02.927438695 -0500
-@@ -8,6 +8,8 @@
-  *  be found in the AUTHORS file in the root of the source tree.
-  */
- 
-+#include <cstring>
-+
- #include "audio/utility/channel_mixer.h"
- 
- #include "audio/utility/channel_mixing_matrix.h"
-diff -up chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
---- chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring	2021-11-12 05:28:10.000000000 -0500
-+++ chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc	2021-11-19 17:10:02.928438701 -0500
-@@ -10,6 +10,7 @@
- 
- #include "modules/video_coding/utility/ivf_file_reader.h"
- 
-+#include <cstring>
- #include <string>
- #include <vector>
- 
-diff -up chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h.me chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h
---- chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h.me	2023-09-10 17:53:04.826298351 +0200
-+++ chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h	2023-09-10 17:53:22.201756894 +0200
-@@ -5,6 +5,7 @@
- #ifndef IPCZ_SRC_IPCZ_ROUTER_LINK_H_
- #define IPCZ_SRC_IPCZ_ROUTER_LINK_H_
- 
-+#include <memory>
- #include <cstddef>
- #include <functional>
- #include <string>
-diff -up chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc.me chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc
---- chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc.me	2023-09-10 17:36:27.199841051 +0200
-+++ chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc	2023-09-10 17:44:51.870554233 +0200
-@@ -14,6 +14,7 @@
-  * limitations under the License.
-  */
- 
-+#include <math.h>
- #include "cpp/palettes/tones.h"
- 
- #include "cpp/cam/cam.h"

diff --git a/chromium-117-no_matching_constructor.patch b/chromium-117-no_matching_constructor.patch
deleted file mode 100644
index e5ab60a..0000000
--- a/chromium-117-no_matching_constructor.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-diff -up chromium-116.0.5845.50/net/dns/host_resolver_cache.cc.me chromium-116.0.5845.50/net/dns/host_resolver_cache.cc
---- chromium-116.0.5845.50/net/dns/host_resolver_cache.cc.me
-+++ chromium-116.0.5845.50/net/dns/host_resolver_cache.cc
-@@ -161,7 +161,7 @@ void HostResolverCache::Set(
- 
-   std::string domain_name = result->domain_name();
-   entries_.emplace(
--      Key(std::move(domain_name), network_anonymization_key),
-+      Key{std::move(domain_name), network_anonymization_key},
-       Entry(std::move(result), source, secure, staleness_generation_));
- 
-   if (entries_.size() > max_entries_) {
-diff -up chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.me chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
---- chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.me	2023-08-02 15:17:52.613858423 +0200
-+++ chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc	2023-08-02 15:18:43.269790877 +0200
-@@ -1496,7 +1496,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
- 
-       // Issue readbacks from the surfaces:
-       for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
--        SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
-+        SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
-         SkImageInfo dst_info = SkImageInfo::Make(
-             size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
-             kUnpremul_SkAlphaType);
-diff -up chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.me chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
---- chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.me	2023-08-02 21:32:14.195705494 +0200
-+++ chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc	2023-08-02 21:59:08.156532934 +0200
-@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
-         color_interpolation_space, hue_interpolation_method, start_color,
-         end_color, percentage, alpha_multiplier);
- 
--    FontPalette::FontPaletteOverride result_color_record(i, result_color);
-+    FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
-     result_color_records.push_back(result_color_record);
-   }
-   return result_color_records;
-diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h
---- chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me	2023-08-03 08:27:11.371750178 +0200
-+++ chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h	2023-08-03 10:39:07.266989323 +0200
-@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
-     zcr_color_manager_v1_chromaticity_names,
-     PrimaryVersion>(
-     {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::BT470M,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTE240M,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::XYZ_D50,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTEST428_1,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTEST431_2,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::FILM,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
- 
- // A map from the zcr_color_manager_v1 eotf_names enum values
- // representing well-known EOTFs, to their equivalent TransferIDs.
-@@ -107,65 +107,65 @@ constexpr auto kEotfMap = base::MakeFixe
-     zcr_color_manager_v1_eotf_names,
-     TransferVersion>({
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--     TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
--     TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
--     TransferVersion(gfx::ColorSpace::TransferID::BT709,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT709,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
-      // This is ever so slightly inaccurate. The number ought to be
-      // 2.19921875f, not 2.2
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
--     TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
--     TransferVersion(gfx::ColorSpace::TransferID::HLG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::HLG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
--     TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
--     TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::SMPTEST428_1,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
--     TransferVersion(gfx::ColorSpace::TransferID::LOG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LOG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
--     TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::IEC61966_2_4,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
--     TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
--     TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
--     TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
- });
- 
- // A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -174,18 +174,18 @@ constexpr auto kEotfMap = base::MakeFixe
- constexpr auto kTransferMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--         TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
--         TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
--         TransferFnVersion(
-+         TransferFnVersion{
-              SkNamedTransferFnExt::kRec709,
--             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
--         TransferFnVersion(gamma24, kDefaultSinceVersion)},
-+         TransferFnVersion{gamma24, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
--         TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
--                           kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
-+                           kDefaultSinceVersion}},
-     });
- 
- // A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -194,68 +194,68 @@ constexpr auto kTransferMap =
- constexpr auto kHDRTransferMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
-         {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--          TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+          TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
--          TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
-+          TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
--          TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
-+          TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
--          TransferFnVersion(SkNamedTransferFn::kHLG,
--                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+          TransferFnVersion{SkNamedTransferFn::kHLG,
-+                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
--          TransferFnVersion(
-+          TransferFnVersion{
-               SkNamedTransferFnExt::kSRGBExtended1023Over510,
--              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
-+              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
- 
- // A map from zcr_color_manager_v1 matrix_names enum values to
- // gfx::ColorSpace::MatrixIDs.
- constexpr auto kMatrixMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
-         {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
--          MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
--          MatrixVersion(
-+          MatrixVersion{
-               gfx::ColorSpace::MatrixID::BT470BG,
--              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
-+              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
--          MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
--          MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
--          MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
--          MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
--          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
--          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
--                        kDefaultSinceVersion)}});
-+          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
-+                        kDefaultSinceVersion}}});
- 
- // A map from zcr_color_manager_v1 range_names enum values to
- // gfx::ColorSpace::RangeIDs.
- constexpr auto kRangeMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
-         {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
--          RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
--                       kDefaultSinceVersion)},
-+          RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
-+                       kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
--          RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
-+          RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
--          RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
--                       kDefaultSinceVersion)}});
-+          RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
-+                       kDefaultSinceVersion}}});
- 
- zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
-     gfx::ColorSpace::PrimaryID primaryID,
-diff -up chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
---- chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me	2023-08-03 13:23:33.748394615 +0200
-+++ chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc	2023-08-03 13:25:01.140489840 +0200
-@@ -470,10 +470,10 @@ void ChromeOmniboxClient::OnAutocomplete
-               alternative_nav_match);
- 
-   // Store the details necessary to open the omnibox match via browser commands.
--  location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+  location_bar_->set_navigation_params(LocationBar::NavigationParams{
-       destination_url, disposition, transition, match_selection_timestamp,
-       destination_url_entered_without_scheme,
--      destination_url_entered_with_http_scheme));
-+      destination_url_entered_with_http_scheme});
- 
-   if (browser_) {
-     auto navigation = chrome::OpenCurrentURL(browser_);
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
-diff -up chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h
---- chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me	2023-09-15 10:48:41.330294241 +0200
-+++ chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h	2023-09-15 10:51:24.501324416 +0200
-@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
-       Color::ColorSpace color_interpolation_space,
-       absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
-     return base::AdoptRef(new FontPalette(
--        start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+        start, end, NonNormalizedPercentages{start_percentage, end_percentage},
-         normalized_percentage, alpha_multiplier, color_interpolation_space,
-         hue_interpolation_method));
-   }
-@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
-       double normalized_percentage) {
-     double end_percentage = normalized_percentage * 100.0;
-     double start_percentage = 100.0 - end_percentage;
--    return NonNormalizedPercentages(start_percentage, end_percentage);
-+    return NonNormalizedPercentages{start_percentage, end_percentage};
-   }
- 
-   double GetAlphaMultiplier() const {
-diff -up chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me	2023-09-15 12:17:35.664861257 +0200
-+++ chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc	2023-09-15 12:21:06.112694256 +0200
-@@ -8509,7 +8509,7 @@ void RenderFrameHostImpl::SendFencedFram
-   for (const blink::FencedFrame::ReportingDestination& destination :
-        destinations) {
-     SendFencedFrameReportingBeaconInternal(
--        DestinationEnumEvent(event_type, event_data), destination,
-+        DestinationEnumEvent{event_type, event_data}, destination,
-         /*from_renderer=*/true, attribution_reporting_runtime_features,
-         GetFrameTreeNodeId());
-   }
-@@ -8545,7 +8545,7 @@ void RenderFrameHostImpl::SendFencedFram
-   }
- 
-   SendFencedFrameReportingBeaconInternal(
--      DestinationURLEvent(destination_url),
-+      DestinationURLEvent{destination_url},
-       blink::FencedFrame::ReportingDestination::kBuyer,
-       /*from_renderer=*/true, attribution_reporting_runtime_features,
-       GetFrameTreeNodeId());
-@@ -8617,8 +8617,8 @@ void RenderFrameHostImpl::MaybeSendFence
-   for (blink::FencedFrame::ReportingDestination destination :
-        info->destinations) {
-     initiator_rfh->SendFencedFrameReportingBeaconInternal(
--        DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
--                             info->data),
-+        DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
-+                             info->data},
-         destination,
-         /*from_renderer=*/false, info->attribution_reporting_runtime_features,
-         GetFrameTreeNodeId(), navigation_request.GetNavigationId());
-diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me	2023-09-15 22:04:09.233356627 +0200
-+++ chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc	2023-09-15 22:05:44.126063992 +0200
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
-   // TODO(crbug.com/1445072): Add actual domains with attribute names.
-   profile_attributes->insert(std::make_pair(
-       "supported.test",
--      SAMLProfileAttributes("placeholderName", "placeholderDomain",
--                            "placeholderToken")));
-+      SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+                            "placeholderToken"}));
- 
-   // Extract domains and attributes from the command line switch.
-   const base::CommandLine& command_line =

diff --git a/chromium-117-python-3.12-deprecated.patch b/chromium-117-python-3.12-deprecated.patch
deleted file mode 100644
index 0d02fcb..0000000
--- a/chromium-117-python-3.12-deprecated.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff -up chromium-115.0.5790.102/base/write_build_date_header.py.me chromium-115.0.5790.102/base/write_build_date_header.py
---- chromium-115.0.5790.102/base/write_build_date_header.py.me	2023-07-22 14:23:42.620679397 +0200
-+++ chromium-115.0.5790.102/base/write_build_date_header.py	2023-07-22 15:24:46.833310310 +0200
-@@ -17,7 +17,7 @@ def main():
-   args = argument_parser.parse_args()
- 
-   date_val = int(args.timestamp)
--  date = datetime.datetime.utcfromtimestamp(date_val)
-+  date =  datetime.datetime.fromtimestamp(date_val, datetime.timezone.utc)
-   output = ('// Generated by //base/write_build_date_header.py\n'
-             '#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n'
-             f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}'
-diff -up chromium-115.0.5790.102/build/write_buildflag_header.py.me chromium-115.0.5790.102/build/write_buildflag_header.py
---- chromium-115.0.5790.102/build/write_buildflag_header.py.me	2023-07-22 14:16:14.196975451 +0200
-+++ chromium-115.0.5790.102/build/write_buildflag_header.py	2023-07-22 14:20:24.977239994 +0200
-@@ -44,7 +44,7 @@ def GetOptions():
-   header_guard = cmdline_options.output.upper()
-   if header_guard[0].isdigit():
-     header_guard = '_' + header_guard
--  header_guard = re.sub('[^\w]', '_', header_guard)
-+  header_guard = re.sub(r'[^\w]', '_', header_guard)
-   header_guard += '_'
- 
-   # The actual output file is inside the gen dir.
-diff -up chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py
---- chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me	2023-07-22 14:47:34.230764210 +0200
-+++ chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py	2023-07-22 15:11:50.360983383 +0200
-@@ -9,7 +9,8 @@
- """
- from __future__ import print_function
- import abc
--import imp
-+import types
-+import importlib
- import optparse
- import os
- import re
-@@ -40,6 +41,12 @@ class GoogleProtobufModuleImporter:
-         return filepath
-     return None
- 
-+  def load_source(name: str, path: str) -> types.ModuleType:
-+    spec = importlib.util.spec_from_file_location(name, path)
-+    module = importlib.util.module_from_spec(spec)
-+    spec.loader.exec_module(module)
-+    return module
-+
-   def _module_exists(self, fullname):
-     return self._fullname_to_filepath(fullname) is not None
- 
-@@ -68,7 +75,7 @@ class GoogleProtobufModuleImporter:
-       raise ImportError(fullname)
- 
-     filepath = self._fullname_to_filepath(fullname)
--    return imp.load_source(fullname, filepath)
-+    return load_source(fullname, filepath)
- 
- class BinaryProtoGenerator:
- 
-diff -up chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
---- chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me	2023-07-22 15:17:19.114258801 +0200
-+++ chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py	2023-07-22 15:17:43.368200491 +0200
-@@ -32,7 +32,7 @@ def FilterLine(filename, line, output):
-     return
- 
-   if line.startswith("goog.provide"):
--    match = re.match("goog.provide\('([^']+)'\);", line)
-+    match = re.match(r"goog.provide\('([^']+)'\);", line)
-     if not match:
-       print("Invalid goog.provide line in %s:\n%s" % (filename, line))
-       sys.exit(1)
-diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py
---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me	2023-07-22 15:12:41.850895179 +0200
-+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py	2023-07-22 15:12:55.844871207 +0200
-@@ -18,7 +18,7 @@ class HTMLGenerationController(object):
- 
-   def GetHTMLForInlineStylesheet(self, contents):
-     if self.current_module is None:
--      if re.search('url\(.+\)', contents):
-+      if re.search(r'url\(.+\)', contents):
-         raise Exception(
-             'Default HTMLGenerationController cannot handle inline style urls')
-       return contents
-diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py
---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me	2023-07-22 15:14:06.923717910 +0200
-+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py	2023-07-22 15:18:03.704150614 +0200
-@@ -4,4 +4,4 @@
- 
- 
- def EscapeJSIfNeeded(js):
--  return js.replace('</script>', '<\/script>')
-+  return js.replace(r'</script>', r'<\/script>')
-diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py
---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me	2023-07-22 15:14:30.105662532 +0200
-+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py	2023-07-22 15:14:57.977595950 +0200
-@@ -293,6 +293,6 @@ class HTMLModuleParser():
-       html = ''
-     else:
-       if html.find('< /script>') != -1:
--        raise Exception('Escape script tags with <\/script>')
-+        raise Exception(r'Escape script tags with <\/script>')
- 
-     return HTMLModuleParserResults(html)
-diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py
---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me	2023-07-22 15:13:12.316842990 +0200
-+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py	2023-07-22 15:13:49.684759091 +0200
-@@ -60,7 +60,7 @@ class ParsedStyleSheet(object):
-       return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8'))
- 
-     # I'm assuming we only have url()'s associated with images
--    return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
-+    return re.sub(r'url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
-                   InlineUrl, self.contents)
- 
-   def AppendDirectlyDependentFilenamesTo(self, dependent_filenames):
-@@ -72,7 +72,7 @@ class ParsedStyleSheet(object):
-       raise Exception('@imports are not supported')
- 
-     matches = re.findall(
--        'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
-+        r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
-         self.contents)
- 
-     def resolve_url(url):
-diff -up chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py
---- chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me	2023-07-22 15:11:56.826972306 +0200
-+++ chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py	2023-07-22 15:12:37.550902545 +0200
-@@ -119,8 +119,8 @@ class _PreprocessingLoader(jinja2.BaseLo
-             source = self.preprocess(f.read())
-         return source, path, lambda: mtime == os.path.getmtime(path)
- 
--    blockstart = re.compile('{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
--    blockend = re.compile('{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
-+    blockstart = re.compile(r'{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
-+    blockend = re.compile(r'{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
- 
-     def preprocess(self, source):
-         lines = source.split('\n')
-diff -up chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-tools/src/build-gn/generate_vulkan_layers_json.py.me chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-tools/src/build-gn/generate_vulkan_layers_json.py
-diff -up chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-validation-layers/src/build-gn/generate_vulkan_layers_json.py.me chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-validation-layers/src/build-gn/generate_vulkan_layers_json.py
---- chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-validation-layers/src/build-gn/generate_vulkan_layers_json.py.me	2023-07-22 16:02:48.330050088 +0200
-+++ chromium-115.0.5790.102/third_party/vulkan-deps/vulkan-validation-layers/src/build-gn/generate_vulkan_layers_json.py	2023-07-22 16:03:02.320023617 +0200
-@@ -28,7 +28,6 @@ import platform
- import sys
- 
- def glob_slash(dirname):
--    """Like regular glob but replaces \ with / in returned paths."""
-     return [s.replace('\\', '/') for s in glob.glob(dirname)]
- 
- def main():

diff --git a/chromium-117-workaround_clang_bug-structured_binding.patch b/chromium-117-workaround_clang_bug-structured_binding.patch
deleted file mode 100644
index c66cb91..0000000
--- a/chromium-117-workaround_clang_bug-structured_binding.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
---- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:37.000000000 +0200
-+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc	2023-06-17 16:53:20.216628557 +0200
-@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
- void CdmPromiseAdapter::Clear(ClearReason reason) {
-   // Reject all outstanding promises.
-   DCHECK(thread_checker_.CalledOnValidThread());
--  for (auto& [promise_id, promise] : promises_) {
-+  for (auto& [p_i, p_e] : promises_) {
-+    auto& promise_id = p_i;
-+    auto& promise = p_e;
-     TRACE_EVENT_NESTABLE_ASYNC_END1(
-         "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
-         "status", "cleared");
-diff -up chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
---- chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:41.000000000 +0200
-+++ chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc	2023-06-17 18:47:06.001403966 +0200
-@@ -655,8 +658,10 @@ NGGridSizingTree NGGridLayoutAlgorithm::
-   NGGridSizingTree sizing_tree;
- 
-   if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) {
--    auto& [grid_items, layout_data, subtree_size] =
--        sizing_tree.CreateSizingData();
-+    auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData();
-+    auto& grid_items = g_i;
-+    auto& layout_data = l_d;
-+    auto& subtree_size = s_s;
- 
-     const auto& node = Node();
-     grid_items =
-@@ -1798,8 +1803,10 @@ void NGGridLayoutAlgorithm::CompleteTrac
-     bool* opt_needs_additional_pass) const {
-   DCHECK(sizing_subtree);
- 
--  auto& [grid_items, layout_data, subtree_size] =
--      sizing_subtree.SubtreeRootData();
-+  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
-+  auto& grid_items = g_i;
-+  auto& layout_data = l_d;
-+  auto& subtree_size = s_s;
- 
-   const bool is_for_columns = track_direction == kForColumns;
-   const bool has_non_definite_track =
-@@ -1924,8 +1931,10 @@ template <typename CallbackFunc>
- void NGGridLayoutAlgorithm::ForEachSubgrid(
-     const NGGridSizingSubtree& sizing_subtree,
-     const CallbackFunc& callback_func) const {
--  auto& [grid_items, layout_data, subtree_size] =
--      sizing_subtree.SubtreeRootData();
-+  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
-+  auto& grid_items = g_i;
-+  auto& layout_data = l_d;
-+  auto& subtree_size = s_s;
- 
-   // If we know this subtree doesn't have nested subgrids we can exit early
-   // instead of iterating over every grid item looking for them.
-diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
---- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me	2023-06-19 08:04:02.287072722 +0200
-+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc	2023-06-19 08:18:24.576814950 +0200
-@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
-     return;
-   }
- 
--  auto [document_url, key, callback] = std::move(*request);
-+  auto [d_u, key, callback] = std::move(*request);
-+  auto document_url = d_u;
- 
-   DCHECK(document_url.is_valid());
-   TRACE_EVENT1("ServiceWorker",
-diff -up chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
---- chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me	2023-09-15 13:03:00.787257048 +0200
-+++ chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc	2023-09-15 13:15:05.502706522 +0200
-@@ -3437,7 +3437,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
-   DCHECK(out_row_break_between);
- 
-   const auto& container_space = ConstraintSpace();
--  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-+  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
-+  const auto& grid_items = g_i;
-+  const auto& layout_data = l_d;
-+  const auto& tree_size = t_s;
- 
-   const auto* cached_layout_subtree = container_space.GridLayoutSubtree();
-   const auto container_writing_direction =
-@@ -3601,7 +3604,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
- 
-   // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
-   const auto& constraint_space = ConstraintSpace();
--  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-+  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
-+  const auto& grid_items = g_i;
-+  const auto& layout_data = l_d;
-+  const auto& tree_size =t_s;
- 
-   const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree();
-   const auto container_writing_direction =
-diff -up chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc.me chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc
---- chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc.me	2023-09-15 18:24:18.984133783 +0200
-+++ chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc	2023-09-15 18:28:50.420833595 +0200
-@@ -1100,7 +1100,8 @@ void ChromeAutofillClient::PropagateAuto
-           &renderer_form);
-     }
- 
--    for (const auto& [frame_token, frame_forms] : renderer_forms_by_frame) {
-+    for (const auto& [f_t, frame_forms] : renderer_forms_by_frame) {
-+      auto& frame_token = f_t;
-       // Attempt to find the RFH with this `frame_token`.
-       content::RenderFrameHost* rfh = nullptr;
-       GetWebContents().ForEachRenderFrameHost(

diff --git a/chromium-118-arm64-memory_tagging.patch b/chromium-118-arm64-memory_tagging.patch
new file mode 100644
index 0000000..463fb37
--- /dev/null
+++ b/chromium-118-arm64-memory_tagging.patch
@@ -0,0 +1,15 @@
+diff -up chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h
+--- chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me	2023-10-03 20:25:01.282782425 +0200
++++ chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h	2023-10-03 20:25:27.151236664 +0200
+@@ -152,10 +152,7 @@ static_assert(sizeof(void*) != 8, "");
+   (!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
+    defined(ARCH_CPU_LITTLE_ENDIAN))
+ 
+-#define PA_CONFIG_HAS_MEMORY_TAGGING()              \
+-  (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
+-   !defined(ADDRESS_SANITIZER) &&                   \
+-   (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
++#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
+ 
+ #if PA_CONFIG(HAS_MEMORY_TAGGING)
+ static_assert(sizeof(void*) == 8);

diff --git a/chromium-118-dma_buf_export_sync_file-conflict.patch b/chromium-118-dma_buf_export_sync_file-conflict.patch
new file mode 100644
index 0000000..fe2ee4c
--- /dev/null
+++ b/chromium-118-dma_buf_export_sync_file-conflict.patch
@@ -0,0 +1,12 @@
+diff -up chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h
+--- chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me	2023-10-04 22:18:44.259800011 +0200
++++ chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h	2023-10-04 22:28:17.068756669 +0200
+@@ -28,7 +28,7 @@ constexpr unsigned long DMA_BUF_IOCTL_SY
+     _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync);
+ #endif
+ 
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
++#if 0
+ struct dma_buf_export_sync_file {
+   __u32 flags;
+   __s32 fd;

diff --git a/chromium-118-el7_v4l2_quantization.patch b/chromium-118-el7_v4l2_quantization.patch
new file mode 100644
index 0000000..638863b
--- /dev/null
+++ b/chromium-118-el7_v4l2_quantization.patch
@@ -0,0 +1,24 @@
+diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc
+--- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me	2023-10-07 12:24:51.194618144 +0200
++++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc	2023-10-07 12:26:30.727448581 +0200
+@@ -1219,7 +1219,7 @@ void V4L2CaptureDelegate::SetErrorState(
+   client_->OnError(error, from_here, reason);
+ }
+ 
+-#if BUILDFLAG(IS_LINUX)
++#if 0 //BUILDFLAG(IS_LINUX)
+ gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() {
+   v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace;
+   v4l2_quantization v4l2_range =
+diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h
+--- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me	2023-10-07 12:29:35.588406023 +0200
++++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h	2023-10-07 12:28:42.057036014 +0200
+@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate
+                      const base::Location& from_here,
+                      const std::string& reason);
+ 
+-#if BUILDFLAG(IS_LINUX)
++#if 0 //BUILDFLAG(IS_LINUX)
+   // Systems which describe a "color space" usually map that to one or more of
+   // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the
+   // matched value as first priority. Otherwise, if there is no best matching

diff --git a/chromium-118-missing-header-files.patch b/chromium-118-missing-header-files.patch
new file mode 100644
index 0000000..ea415df
--- /dev/null
+++ b/chromium-118-missing-header-files.patch
@@ -0,0 +1,482 @@
+diff -up chromium-110.0.5481.177/base/memory/ref_counted.h.me chromium-110.0.5481.177/base/memory/ref_counted.h
+--- chromium-110.0.5481.177/base/memory/ref_counted.h.me	2023-02-23 13:34:33.174817255 -0500
++++ chromium-110.0.5481.177/base/memory/ref_counted.h	2023-02-23 13:42:28.646052469 -0500
+@@ -6,6 +6,7 @@
+ #define BASE_MEMORY_REF_COUNTED_H_
+ 
+ #include <stddef.h>
++#include <limits>
+ 
+ #include <utility>
+ 
+diff -up chromium-109.0.5414.74/base/check_op.h.me chromium-109.0.5414.74/base/check_op.h
+--- chromium-109.0.5414.74/base/check_op.h.me	2023-01-17 17:39:27.620875883 +0100
++++ chromium-109.0.5414.74/base/check_op.h	2023-01-17 17:39:42.546060957 +0100
+@@ -5,6 +5,7 @@
+ #ifndef BASE_CHECK_OP_H_
+ #define BASE_CHECK_OP_H_
+ 
++#include <cstdint>
+ #include <cstddef>
+ #include <string>
+ #include <type_traits>
+diff -up chromium-109.0.5414.74/base/debug/profiler.h.me chromium-109.0.5414.74/base/debug/profiler.h
+--- chromium-109.0.5414.74/base/debug/profiler.h.me	2023-01-17 16:29:26.368090073 +0100
++++ chromium-109.0.5414.74/base/debug/profiler.h	2023-01-17 16:59:41.190628679 +0100
+@@ -7,6 +7,7 @@
+ 
+ #include <stddef.h>
+ 
++#include <cstdint>
+ #include <string>
+ 
+ #include "base/base_export.h"
+diff -up chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me chromium-109.0.5414.74/gpu/config/gpu_feature_info.h
+--- chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me	2023-01-17 19:06:53.530675129 +0100
++++ chromium-109.0.5414.74/gpu/config/gpu_feature_info.h	2023-01-17 19:07:08.874849879 +0100
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
+ #define GPU_CONFIG_GPU_FEATURE_INFO_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+diff -up chromium-109.0.5414.74/net/base/net_export.h.me chromium-109.0.5414.74/net/base/net_export.h
+--- chromium-109.0.5414.74/net/base/net_export.h.me	2023-01-17 18:16:34.133854615 +0100
++++ chromium-109.0.5414.74/net/base/net_export.h	2023-01-17 18:16:15.945623153 +0100
+@@ -5,6 +5,8 @@
+ #ifndef NET_BASE_NET_EXPORT_H_
+ #define NET_BASE_NET_EXPORT_H_
+ 
++#include <cstdint>
++
+ // Defines NET_EXPORT so that functionality implemented by the net module can
+ // be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to
+ // access features not intended to be used directly by real consumers.
+diff -up chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h
+--- chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me	2023-01-17 17:12:34.184686515 +0100
++++ chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h	2023-01-17 17:13:16.537162420 +0100
+@@ -5,6 +5,7 @@
+ #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
+ #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
+ 
++#include <cstdint>
+ #include <bitset>
+ #include <string>
+ 
+diff -up chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h
+--- chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me	2023-01-17 17:33:20.895717307 +0100
++++ chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h	2023-01-17 17:34:03.456185365 +0100
+@@ -27,6 +27,7 @@
+ #ifndef ABSL_STRINGS_STRING_VIEW_H_
+ #define ABSL_STRINGS_STRING_VIEW_H_
+ 
++#include <cstdint>
+ #include <algorithm>
+ #include <cassert>
+ #include <cstddef>
+diff -up chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h
+--- chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me	2023-01-17 17:36:15.017616250 +0100
++++ chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h	2023-01-17 17:36:48.960982195 +0100
+@@ -10,6 +10,7 @@
+ #ifndef GLSLANG_SHADERVARS_H_
+ #define GLSLANG_SHADERVARS_H_
+ 
++#include <cstdint>
+ #include <algorithm>
+ #include <array>
+ #include <string>
+diff -up chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
+--- chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me	2023-01-17 19:17:40.480876171 +0100
++++ chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h	2023-01-17 19:17:46.803958320 +0100
+@@ -5,6 +5,7 @@
+ #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
+ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
+ 
++#include <cstdint>
+ #include <array>
+ #include <string>
+ 
+diff -up chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.me chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h
+--- chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.me	2023-01-17 18:02:44.681538107 +0100
++++ chromium-117.0.5938.48/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h	2023-01-17 18:02:57.208679140 +0100
+@@ -15,6 +15,7 @@
+ #ifndef SRC_TINT_READER_SPIRV_NAMER_H_
+ #define SRC_TINT_READER_SPIRV_NAMER_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+diff -up chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h
+--- chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me	2023-01-18 15:22:38.472940648 +0100
++++ chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h	2023-01-18 15:23:09.380255101 +0100
+@@ -5,6 +5,7 @@
+ #ifndef DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
+ #define DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
+ 
++#include <cstdint>
+ #include <functional>
+ #include <map>
+ #include <set>
+diff -up chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp
+--- chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me	2023-01-17 15:37:48.530626516 +0100
++++ chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp	2023-01-17 16:57:46.025548092 +0100
+@@ -17,6 +17,7 @@
+ 
+ #include "System/Debug.hpp"
+ 
++#include <cstdint>
+ #include <cstddef>
+ #include <functional>
+ #include <unordered_set>
+diff -up chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+--- chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me	2023-01-17 15:40:23.854386206 +0100
++++ chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h	2023-01-17 16:58:19.397862885 +0100
+@@ -2388,6 +2388,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeV
+ #ifdef VMA_IMPLEMENTATION
+ #undef VMA_IMPLEMENTATION
+ 
++#include <cstdio>
+ #include <cstdint>
+ #include <cstdlib>
+ #include <cstring>
+diff -up chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h
+--- chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me	2023-01-17 18:08:25.745491353 +0100
++++ chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h	2023-01-17 18:08:35.777667632 +0100
+@@ -5,6 +5,7 @@
+ #ifndef UI_GFX_LINEAR_GRADIENT_H_
+ #define UI_GFX_LINEAR_GRADIENT_H_
+ 
++#include <cstdint>
+ #include <array>
+ #include <string>
+ 
+diff -up chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h
+--- chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me	2023-01-19 10:10:21.287876736 +0100
++++ chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h	2023-01-19 10:11:21.714778896 +0100
+@@ -17,6 +17,7 @@ limitations under the License.
+ #define RUY_RUY_PROFILER_INSTRUMENTATION_H_
+ 
+ #ifdef RUY_PROFILER
++#include <string>
+ #include <cstdio>
+ #include <mutex>
+ #include <vector>
+diff -up chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h
+--- chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me	2023-01-19 10:30:27.533861985 +0100
++++ chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h	2023-01-19 10:31:12.585554183 +0100
+@@ -31,6 +31,7 @@ limitations under the License.
+ #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
+ #define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
+ 
++#include <cstdint>
+ #include <complex>
+ #include <deque>
+ #include <vector>
+diff -up chromium-109.0.5414.74/base/containers/flat_map.h.mee chromium-109.0.5414.74/base/containers/flat_map.h
+--- chromium-109.0.5414.74/base/containers/flat_map.h.mee	2023-01-19 10:59:52.214957773 +0100
++++ chromium-109.0.5414.74/base/containers/flat_map.h	2023-01-19 11:00:06.415215309 +0100
+@@ -5,6 +5,7 @@
+ #ifndef BASE_CONTAINERS_FLAT_MAP_H_
+ #define BASE_CONTAINERS_FLAT_MAP_H_
+ 
++#include <cstdint>
+ #include <functional>
+ #include <tuple>
+ #include <utility>
+diff -up chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h
+--- chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee	2023-01-19 10:36:40.571422826 +0100
++++ chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h	2023-01-19 10:36:49.343565294 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
+ #define COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ #include "build/build_config.h"
+diff -up chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h
+--- chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee	2023-01-19 11:45:15.953159755 +0100
++++ chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h	2023-01-19 11:45:22.320246241 +0100
+@@ -5,6 +5,8 @@
+ #ifndef UI_BASE_PREDICTION_KALMAN_FILTER_H_
+ #define UI_BASE_PREDICTION_KALMAN_FILTER_H_
+ 
++#include <cstdint>
++
+ #include "base/component_export.h"
+ #include "ui/gfx/geometry/matrix3_f.h"
+ 
+diff -up chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h
+--- chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me	2023-01-19 15:20:07.620987949 +0100
++++ chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h	2023-01-19 15:20:18.324173702 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
+ #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ 
+diff -up chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h
+--- chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me	2023-01-19 16:00:14.350186515 +0100
++++ chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h	2023-01-19 16:00:21.643307993 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
+ #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ namespace feature_engagement {
+diff -up chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h
+--- chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me	2023-01-19 15:59:18.210239416 +0100
++++ chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h	2023-01-19 15:59:34.513515030 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
+ #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ #include "components/feature_engagement/internal/event_storage_validator.h"
+diff -up chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
+--- chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me	2023-01-19 16:09:29.216477182 +0100
++++ chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc	2023-01-19 16:10:05.657089208 +0100
+@@ -45,6 +45,7 @@
+ #include "llvm/Support/SaveAndRestore.h"
+ #include "llvm/Support/raw_ostream.h"
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <sysexits.h>
+ #ifdef HAVE_BACKTRACE
+diff -up chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h
+--- chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me	2023-01-19 16:32:05.338160131 +0100
++++ chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h	2023-01-19 16:32:16.213326798 +0100
+@@ -5,6 +5,7 @@
+ #ifndef CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
+ #define CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
+ 
++#include <cstdint>
+ #include <map>
+ 
+ #include "base/containers/flat_set.h"
+diff -up chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h
+--- chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me	2023-01-19 16:47:55.548571102 +0100
++++ chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h	2023-01-19 16:48:29.214146529 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
+ #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ class GURL;
+diff -up chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h
+--- chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me	2023-01-19 16:57:29.525372814 +0100
++++ chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h	2023-01-19 16:58:02.667979288 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
+ #define COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <utility>
+ #include <vector>
+diff -up chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h
+--- chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me	2023-01-19 17:02:45.258544665 +0100
++++ chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h	2023-01-19 17:02:52.577611757 +0100
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
+ #define COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
+ 
++#include <cstdint>
+ #include <stddef.h>
+ 
+ #include <string>
+diff -up chromium-109.0.5414.74/pdf/document_attachment_info.h.me chromium-109.0.5414.74/pdf/document_attachment_info.h
+--- chromium-109.0.5414.74/pdf/document_attachment_info.h.me	2023-01-19 17:28:28.552063534 +0100
++++ chromium-109.0.5414.74/pdf/document_attachment_info.h	2023-01-19 17:28:48.072379953 +0100
+@@ -5,6 +5,7 @@
+ #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
+ #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ 
+diff -up chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h
+--- chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me	2023-01-19 18:25:47.648193710 +0100
++++ chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h	2023-01-19 18:26:11.488593556 +0100
+@@ -5,6 +5,8 @@
+ #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
+ #define CONSTANTS_ANNOTATION_FLAGS_H_
+ 
++#include <cstdint>
++
+ namespace pdfium {
+ namespace annotation_flags {
+ 
+diff -up chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
+--- chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me	2023-04-15 16:44:55.344305412 +0200
++++ chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h	2023-04-15 16:47:09.028666995 +0200
+@@ -2854,6 +2854,7 @@ static void vma_aligned_free(void* VMA_N
+ 
+ // Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString.
+ #if VMA_STATS_STRING_ENABLED
++#include <stdio.h>
+     static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num)
+     {
+         snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
+diff -up chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h
+--- chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me	2023-04-18 15:55:44.774916319 +0200
++++ chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h	2023-04-18 15:55:54.441085882 +0200
+@@ -8,6 +8,7 @@
+ #include <memory>
+ #include <string>
+ #include <vector>
++#include <variant>
+ 
+ #include "base/containers/span.h"
+ #include "base/functional/callback_forward.h"
+diff -up chromium-113.0.5672.37/gin/time_clamper.h.me chromium-113.0.5672.37/gin/time_clamper.h
+--- chromium-113.0.5672.37/gin/time_clamper.h.me	2023-04-18 16:38:41.180437467 +0200
++++ chromium-113.0.5672.37/gin/time_clamper.h	2023-04-18 16:39:43.857049432 +0200
+@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper {
+     const int64_t micros = now_micros % 1000;
+     // abs() is necessary for devices with times before unix-epoch (most likely
+     // configured incorrectly).
+-    if (abs(micros) + kResolutionMicros < 1000) {
++    if (std::abs(micros) + kResolutionMicros < 1000) {
+       return now_micros / 1000;
+     }
+     return ClampTimeResolution(now_micros) / 1000;
+diff -up chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc
+--- chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me	2023-04-21 08:07:55.362714544 +0200
++++ chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc	2023-04-21 08:14:35.424158693 +0200
+@@ -10,6 +10,7 @@
+ #include <queue>
+ #include <utility>
+ #include <vector>
++#include <cstring>
+ 
+ #include "base/check.h"
+ #include "base/files/file_path.h"
+diff -up chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc.me chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc
+--- chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc.me	2023-06-18 12:33:52.387412788 +0200
++++ chromium-115.0.5790.32/skia/ext/skcolorspace_trfn.cc	2023-06-18 12:35:28.229148935 +0200
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+ 
+ #include "skia/ext/skcolorspace_trfn.h"
++#include <cmath>
+ 
+ namespace skia {
+ 
+diff -up chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h
+--- chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint	2021-11-19 17:05:31.379750350 -0500
++++ chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h	2021-11-19 17:07:35.191520127 -0500
+@@ -11,6 +11,7 @@
+ #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
+ #define COMMON_VIDEO_H264_SPS_PARSER_H_
+ 
++#include <cstdint>
+ #include "absl/types/optional.h"
+ #include "rtc_base/bitstream_reader.h"
+ 
+diff -up chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h
+--- chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint	2021-11-12 05:28:10.000000000 -0500
++++ chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h	2021-11-19 17:05:31.379750350 -0500
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+ #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+ 
++#include <cstdint>
+ #include <limits>
+ 
+ #include "absl/types/optional.h"
+diff -up chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h
+--- chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint	2021-11-12 05:25:24.000000000 -0500
++++ chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h	2021-11-19 17:05:31.379750350 -0500
+@@ -9,6 +9,8 @@
+ 
+ #include "ui/gfx/buffer_types.h"
+ 
++#include <cstdint>
++
+ namespace ui {
+ 
+ int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
+diff -up chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc
+--- chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring	2021-11-12 05:28:09.000000000 -0500
++++ chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc	2021-11-19 17:10:02.927438695 -0500
+@@ -8,6 +8,8 @@
+  *  be found in the AUTHORS file in the root of the source tree.
+  */
+ 
++#include <cstring>
++
+ #include "audio/utility/channel_mixer.h"
+ 
+ #include "audio/utility/channel_mixing_matrix.h"
+diff -up chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
+--- chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring	2021-11-12 05:28:10.000000000 -0500
++++ chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc	2021-11-19 17:10:02.928438701 -0500
+@@ -10,6 +10,7 @@
+ 
+ #include "modules/video_coding/utility/ivf_file_reader.h"
+ 
++#include <cstring>
+ #include <string>
+ #include <vector>
+ 
+diff -up chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h.me chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h
+--- chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h.me	2023-09-10 17:53:04.826298351 +0200
++++ chromium-117.0.5938.48/third_party/ipcz/src/ipcz/router_link.h	2023-09-10 17:53:22.201756894 +0200
+@@ -5,6 +5,7 @@
+ #ifndef IPCZ_SRC_IPCZ_ROUTER_LINK_H_
+ #define IPCZ_SRC_IPCZ_ROUTER_LINK_H_
+ 
++#include <memory>
+ #include <cstddef>
+ #include <functional>
+ #include <string>
+diff -up chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc.me chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc
+--- chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc.me	2023-09-10 17:36:27.199841051 +0200
++++ chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/palettes/tones.cc	2023-09-10 17:44:51.870554233 +0200
+@@ -14,6 +14,7 @@
+  * limitations under the License.
+  */
+ 
++#include <cmath>
+ #include "cpp/palettes/tones.h"
+ 
+ #include "cpp/cam/cam.h"
+diff -up chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h.me chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h
+--- chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h.me	2023-10-01 13:55:01.913193186 +0200
++++ chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h	2023-10-01 14:05:38.488038429 +0200
+@@ -5,6 +5,9 @@
+ #ifndef SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
+ #define SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
+ 
++#include <cstddef>
++#include <cstdint>
++
+ #include <type_traits>
+ 
+ namespace device {
+diff -up chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h
+--- chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me	2023-10-02 13:38:31.217806428 +0200
++++ chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h	2023-10-02 13:39:05.006427168 +0200
+@@ -5,6 +5,8 @@
+ #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
+ #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
+ 
++#include <atomic>
++
+ #include "base/gtest_prod_util.h"
+ #include "components/gwp_asan/client/export.h"
+ #include "components/gwp_asan/common/lightweight_detector_state.h"

diff --git a/chromium-118-no_matching_constructor.patch b/chromium-118-no_matching_constructor.patch
new file mode 100644
index 0000000..3d7748c
--- /dev/null
+++ b/chromium-118-no_matching_constructor.patch
@@ -0,0 +1,567 @@
+diff -up chromium-116.0.5845.50/net/dns/host_resolver_cache.cc.me chromium-116.0.5845.50/net/dns/host_resolver_cache.cc
+--- chromium-116.0.5845.50/net/dns/host_resolver_cache.cc.me
++++ chromium-116.0.5845.50/net/dns/host_resolver_cache.cc
+@@ -161,7 +161,7 @@ void HostResolverCache::Set(
+ 
+   std::string domain_name = result->domain_name();
+   entries_.emplace(
+-      Key(std::move(domain_name), network_anonymization_key),
++      Key{std::move(domain_name), network_anonymization_key},
+       Entry(std::move(result), source, secure, staleness_generation_));
+ 
+   if (entries_.size() > max_entries_) {
+diff -up chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.me chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.me	2023-08-02 15:17:52.613858423 +0200
++++ chromium-116.0.5845.50/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc	2023-08-02 15:18:43.269790877 +0200
+@@ -1496,7 +1496,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
+ 
+       // Issue readbacks from the surfaces:
+       for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
+-        SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
++        SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
+         SkImageInfo dst_info = SkImageInfo::Make(
+             size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
+             kUnpremul_SkAlphaType);
+diff -up chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.me chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.me	2023-08-02 21:32:14.195705494 +0200
++++ chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palette_interpolation.cc	2023-08-02 21:59:08.156532934 +0200
+@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
+         color_interpolation_space, hue_interpolation_method, start_color,
+         end_color, percentage, alpha_multiplier);
+ 
+-    FontPalette::FontPaletteOverride result_color_record(i, result_color);
++    FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
+     result_color_records.push_back(result_color_record);
+   }
+   return result_color_records;
+diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h
+--- chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me	2023-08-03 08:27:11.371750178 +0200
++++ chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h	2023-08-03 10:39:07.266989323 +0200
+@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
+     zcr_color_manager_v1_chromaticity_names,
+     PrimaryVersion>(
+     {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::BT470M,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTE240M,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::XYZ_D50,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTEST428_1,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTEST431_2,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::FILM,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
+ 
+ // A map from the zcr_color_manager_v1 eotf_names enum values
+ // representing well-known EOTFs, to their equivalent TransferIDs.
+@@ -107,65 +107,65 @@ constexpr auto kEotfMap = base::MakeFixe
+     zcr_color_manager_v1_eotf_names,
+     TransferVersion>({
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-     TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+-     TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT709,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT709,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+      // This is ever so slightly inaccurate. The number ought to be
+      // 2.19921875f, not 2.2
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+-     TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+-     TransferVersion(gfx::ColorSpace::TransferID::HLG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::HLG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
+-     TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
+-     TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::SMPTEST428_1,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
+-     TransferVersion(gfx::ColorSpace::TransferID::LOG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::LOG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
+-     TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::IEC61966_2_4,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
+ });
+ 
+ // A map from the SDR zcr_color_manager_v1 eotf_names enum values
+@@ -174,18 +174,18 @@ constexpr auto kEotfMap = base::MakeFixe
+ constexpr auto kTransferMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-         TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+-         TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+-         TransferFnVersion(
++         TransferFnVersion{
+              SkNamedTransferFnExt::kRec709,
+-             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+-         TransferFnVersion(gamma24, kDefaultSinceVersion)},
++         TransferFnVersion{gamma24, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+-         TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
+-                           kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
++                           kDefaultSinceVersion}},
+     });
+ 
+ // A map from the HDR zcr_color_manager_v1 eotf_names enum values
+@@ -194,68 +194,68 @@ constexpr auto kTransferMap =
+ constexpr auto kHDRTransferMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
+         {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-          TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++          TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+-          TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
++          TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+-          TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
++          TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+-          TransferFnVersion(SkNamedTransferFn::kHLG,
+-                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++          TransferFnVersion{SkNamedTransferFn::kHLG,
++                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
+-          TransferFnVersion(
++          TransferFnVersion{
+               SkNamedTransferFnExt::kSRGBExtended1023Over510,
+-              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
++              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
+ 
+ // A map from zcr_color_manager_v1 matrix_names enum values to
+ // gfx::ColorSpace::MatrixIDs.
+ constexpr auto kMatrixMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
+         {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
+-          MatrixVersion(
++          MatrixVersion{
+               gfx::ColorSpace::MatrixID::BT470BG,
+-              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
++              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
+-                        kDefaultSinceVersion)}});
++          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
++                        kDefaultSinceVersion}}});
+ 
+ // A map from zcr_color_manager_v1 range_names enum values to
+ // gfx::ColorSpace::RangeIDs.
+ constexpr auto kRangeMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
+         {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
+-          RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
+-                       kDefaultSinceVersion)},
++          RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
++                       kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
+-          RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
++          RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
+-          RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
+-                       kDefaultSinceVersion)}});
++          RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
++                       kDefaultSinceVersion}}});
+ 
+ zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
+     gfx::ColorSpace::PrimaryID primaryID,
+diff -up chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
+--- chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me	2023-08-03 13:23:33.748394615 +0200
++++ chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc	2023-08-03 13:25:01.140489840 +0200
+@@ -470,10 +470,10 @@ void ChromeOmniboxClient::OnAutocomplete
+               alternative_nav_match);
+ 
+   // Store the details necessary to open the omnibox match via browser commands.
+-  location_bar_->set_navigation_params(LocationBar::NavigationParams(
++  location_bar_->set_navigation_params(LocationBar::NavigationParams{
+       destination_url, disposition, transition, match_selection_timestamp,
+       destination_url_entered_without_scheme,
+-      destination_url_entered_with_http_scheme));
++      destination_url_entered_with_http_scheme});
+ 
+   if (browser_) {
+     auto navigation = chrome::OpenCurrentURL(browser_);
+diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
+diff -up chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h
+--- chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me	2023-09-15 10:48:41.330294241 +0200
++++ chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h	2023-09-15 10:51:24.501324416 +0200
+@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
+       Color::ColorSpace color_interpolation_space,
+       absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+     return base::AdoptRef(new FontPalette(
+-        start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++        start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+         normalized_percentage, alpha_multiplier, color_interpolation_space,
+         hue_interpolation_method));
+   }
+@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
+       double normalized_percentage) {
+     double end_percentage = normalized_percentage * 100.0;
+     double start_percentage = 100.0 - end_percentage;
+-    return NonNormalizedPercentages(start_percentage, end_percentage);
++    return NonNormalizedPercentages{start_percentage, end_percentage};
+   }
+ 
+   double GetAlphaMultiplier() const {
+diff -up chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me	2023-09-15 12:17:35.664861257 +0200
++++ chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc	2023-09-15 12:21:06.112694256 +0200
+@@ -8509,7 +8509,7 @@ void RenderFrameHostImpl::SendFencedFram
+   for (const blink::FencedFrame::ReportingDestination& destination :
+        destinations) {
+     SendFencedFrameReportingBeaconInternal(
+-        DestinationEnumEvent(event_type, event_data), destination,
++        DestinationEnumEvent{event_type, event_data}, destination,
+         /*from_renderer=*/true, attribution_reporting_runtime_features,
+         GetFrameTreeNodeId());
+   }
+@@ -8545,7 +8545,7 @@ void RenderFrameHostImpl::SendFencedFram
+   }
+ 
+   SendFencedFrameReportingBeaconInternal(
+-      DestinationURLEvent(destination_url),
++      DestinationURLEvent{destination_url},
+       blink::FencedFrame::ReportingDestination::kBuyer,
+       /*from_renderer=*/true, attribution_reporting_runtime_features,
+       GetFrameTreeNodeId());
+@@ -8617,8 +8617,8 @@ void RenderFrameHostImpl::MaybeSendFence
+   for (blink::FencedFrame::ReportingDestination destination :
+        info->destinations) {
+     initiator_rfh->SendFencedFrameReportingBeaconInternal(
+-        DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+-                             info->data),
++        DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++                             info->data},
+         destination,
+         /*from_renderer=*/false, info->attribution_reporting_runtime_features,
+         GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me	2023-09-15 22:04:09.233356627 +0200
++++ chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc	2023-09-15 22:05:44.126063992 +0200
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+   // TODO(crbug.com/1445072): Add actual domains with attribute names.
+   profile_attributes->insert(std::make_pair(
+       "supported.test",
+-      SAMLProfileAttributes("placeholderName", "placeholderDomain",
+-                            "placeholderToken")));
++      SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++                            "placeholderToken"}));
+ 
+   // Extract domains and attributes from the command line switch.
+   const base::CommandLine& command_line =
+diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
+--- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me	2023-06-25 10:06:58.445990069 +0200
++++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc	2023-06-25 10:51:17.640818231 +0200
+@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
+                         "'version' field of type string");
+         }
+ 
+-        brands.emplace_back(*brand, *version);
++        brands.emplace_back() = {*brand, *version};
+       }
+ 
+       client_hints.brands = std::move(brands);
+@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
+                         "a 'version' field of type string");
+         }
+ 
+-        full_version_list.emplace_back(*brand, *version);
++        full_version_list.emplace_back() = {*brand, *version};
+       }
+ 
+       client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me	2023-08-15 21:34:58.922855428 +0200
++++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc	2023-08-15 21:39:23.310434237 +0200
+@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
+ 
+       while (rule_iterator && rule_iterator->HasNext()) {
+         auto rule = rule_iterator->Next();
+-        patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+-                                        rule->secondary_pattern);
++        patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++                                        rule->secondary_pattern};
+         permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+             setting_type,
+             permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
+     auto rule = rule_iterator->Next();
+     if (rule->primary_pattern.Matches(origin_gurl) &&
+         rule->secondary_pattern.Matches(origin_gurl)) {
+-      patterns_to_delete.emplace_back(
+-          content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++      patterns_to_delete.emplace_back() = {
++          content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+       permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+           content_setting_type, trigger_event);
+     }
+diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
+--- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me	2023-09-13 20:14:42.441248781 +0200
++++ chromium-117.0.5938.62/base/trace_event/trace_log.cc	2023-09-13 20:16:12.186638601 +0200
+@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+   AutoLock lock(track_event_lock_);
+-  track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+-                                     args.backend_type);
++  track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++                                     args.backend_type};
+ }
+ 
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
+--- chromium-117.0.5938.62/content/browser/download/save_package.cc.me	2023-09-15 12:02:43.866622591 +0200
++++ chromium-117.0.5938.62/content/browser/download/save_package.cc	2023-09-15 12:03:58.715984511 +0200
+@@ -764,8 +764,8 @@ void SavePackage::Finish() {
+   if (download_) {
+     std::vector<download::DownloadSaveItemData::ItemInfo> files;
+     for (auto& item : saved_success_items_) {
+-      files.emplace_back(item.second->full_path(), item.second->url(),
+-                         item.second->referrer().url);
++      files.emplace_back() = {item.second->full_path(), item.second->url(),
++                         item.second->referrer().url};
+     }
+     download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+   }
+diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
+--- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me	2023-09-15 20:29:42.626502343 +0200
++++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc	2023-09-15 20:36:18.763091179 +0200
+@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
+     GdkRectangle geometry;
+     gdk_monitor_get_geometry(monitor, &geometry);
+     int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+-    config.display_geometries.emplace_back(
++    config.display_geometries.emplace_back() = {
+         gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+                   monitor_scale * geometry.width,
+                   monitor_scale * geometry.height),
+-        monitor_scale * font_scale);
++        static_cast<float>(monitor_scale * font_scale)};
+   }
+   return config;
+ }
+diff -up chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc
+--- chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me	2023-10-06 10:38:52.473145692 +0200
++++ chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc	2023-10-06 10:37:30.268617169 +0200
+@@ -174,9 +174,9 @@ class ContactInfoProfileSetter {
+     CHECK(observations.empty());
+     for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+          proto_observations) {
+-      observations.emplace_back(proto_observation.type(),
++      observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
+                                 ProfileTokenQuality::FormSignatureHash(
+-                                    proto_observation.form_hash()));
++                                    proto_observation.form_hash())};
+     }
+   }
+ 
+diff -up chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+--- chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me	2023-10-06 10:41:37.746402215 +0200
++++ chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc	2023-10-06 10:42:28.469562927 +0200
+@@ -553,11 +553,11 @@ ServerCvc AutofillWalletCvcStructDataFro
+   base::StringToInt64(wallet_credential_specifics.instrument_id(),
+                       &instrument_id);
+ 
+-  return ServerCvc(
++  return ServerCvc{
+       instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
+       base::Time::UnixEpoch() +
+           base::Milliseconds(wallet_credential_specifics
+-                                 .last_updated_time_unix_epoch_millis()));
++                                 .last_updated_time_unix_epoch_millis())};
+ }
+ 
+ VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics(
+diff -up chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc
+--- chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me	2023-10-06 13:46:57.287089040 +0200
++++ chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc	2023-10-06 13:47:25.450632156 +0200
+@@ -604,7 +604,7 @@ void OnTokenRequestParsed(
+     if (response_error) {
+       int error_code = response_error->FindInt(kErrorCodeKey).value_or(0);
+       GURL error_url = ExtractUrl(*response_error, kErrorUrlKey);
+-      token_result.error = TokenError(error_code, error_url);
++      token_result.error = TokenError{error_code, error_url};
+     }
+   }
+ 

diff --git a/chromium-118-python-3.12-deprecated.patch b/chromium-118-python-3.12-deprecated.patch
new file mode 100644
index 0000000..5837ae5
--- /dev/null
+++ b/chromium-118-python-3.12-deprecated.patch
@@ -0,0 +1,138 @@
+diff -up chromium-115.0.5790.102/base/write_build_date_header.py.me chromium-115.0.5790.102/base/write_build_date_header.py
+--- chromium-115.0.5790.102/base/write_build_date_header.py.me	2023-07-22 14:23:42.620679397 +0200
++++ chromium-115.0.5790.102/base/write_build_date_header.py	2023-07-22 15:24:46.833310310 +0200
+@@ -17,7 +17,7 @@ def main():
+   args = argument_parser.parse_args()
+ 
+   date_val = int(args.timestamp)
+-  date = datetime.datetime.utcfromtimestamp(date_val)
++  date =  datetime.datetime.fromtimestamp(date_val, datetime.timezone.utc)
+   output = ('// Generated by //base/write_build_date_header.py\n'
+             '#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n'
+             f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}'
+diff -up chromium-115.0.5790.102/build/write_buildflag_header.py.me chromium-115.0.5790.102/build/write_buildflag_header.py
+--- chromium-115.0.5790.102/build/write_buildflag_header.py.me	2023-07-22 14:16:14.196975451 +0200
++++ chromium-115.0.5790.102/build/write_buildflag_header.py	2023-07-22 14:20:24.977239994 +0200
+@@ -44,7 +44,7 @@ def GetOptions():
+   header_guard = cmdline_options.output.upper()
+   if header_guard[0].isdigit():
+     header_guard = '_' + header_guard
+-  header_guard = re.sub('[^\w]', '_', header_guard)
++  header_guard = re.sub(r'[^\w]', '_', header_guard)
+   header_guard += '_'
+ 
+   # The actual output file is inside the gen dir.
+diff -up chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py
+--- chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me	2023-07-22 14:47:34.230764210 +0200
++++ chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py	2023-07-22 15:11:50.360983383 +0200
+@@ -9,7 +9,8 @@
+ """
+ from __future__ import print_function
+ import abc
+-import imp
++import types
++import importlib
+ import optparse
+ import os
+ import re
+@@ -40,6 +41,12 @@ class GoogleProtobufModuleImporter:
+         return filepath
+     return None
+ 
++  def load_source(name: str, path: str) -> types.ModuleType:
++    spec = importlib.util.spec_from_file_location(name, path)
++    module = importlib.util.module_from_spec(spec)
++    spec.loader.exec_module(module)
++    return module
++
+   def _module_exists(self, fullname):
+     return self._fullname_to_filepath(fullname) is not None
+ 
+@@ -68,7 +75,7 @@ class GoogleProtobufModuleImporter:
+       raise ImportError(fullname)
+ 
+     filepath = self._fullname_to_filepath(fullname)
+-    return imp.load_source(fullname, filepath)
++    return load_source(fullname, filepath)
+ 
+ class BinaryProtoGenerator:
+ 
+diff -up chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
+--- chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me	2023-07-22 15:17:19.114258801 +0200
++++ chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py	2023-07-22 15:17:43.368200491 +0200
+@@ -32,7 +32,7 @@ def FilterLine(filename, line, output):
+     return
+ 
+   if line.startswith("goog.provide"):
+-    match = re.match("goog.provide\('([^']+)'\);", line)
++    match = re.match(r"goog.provide\('([^']+)'\);", line)
+     if not match:
+       print("Invalid goog.provide line in %s:\n%s" % (filename, line))
+       sys.exit(1)
+diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py
+--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me	2023-07-22 15:12:41.850895179 +0200
++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py	2023-07-22 15:12:55.844871207 +0200
+@@ -18,7 +18,7 @@ class HTMLGenerationController(object):
+ 
+   def GetHTMLForInlineStylesheet(self, contents):
+     if self.current_module is None:
+-      if re.search('url\(.+\)', contents):
++      if re.search(r'url\(.+\)', contents):
+         raise Exception(
+             'Default HTMLGenerationController cannot handle inline style urls')
+       return contents
+diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py
+--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me	2023-07-22 15:14:06.923717910 +0200
++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py	2023-07-22 15:18:03.704150614 +0200
+@@ -4,4 +4,4 @@
+ 
+ 
+ def EscapeJSIfNeeded(js):
+-  return js.replace('</script>', '<\/script>')
++  return js.replace(r'</script>', r'<\/script>')
+diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py
+--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me	2023-07-22 15:14:30.105662532 +0200
++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py	2023-07-22 15:14:57.977595950 +0200
+@@ -293,6 +293,6 @@ class HTMLModuleParser():
+       html = ''
+     else:
+       if html.find('< /script>') != -1:
+-        raise Exception('Escape script tags with <\/script>')
++        raise Exception(r'Escape script tags with <\/script>')
+ 
+     return HTMLModuleParserResults(html)
+diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py
+--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me	2023-07-22 15:13:12.316842990 +0200
++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py	2023-07-22 15:13:49.684759091 +0200
+@@ -60,7 +60,7 @@ class ParsedStyleSheet(object):
+       return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8'))
+ 
+     # I'm assuming we only have url()'s associated with images
+-    return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
++    return re.sub(r'url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
+                   InlineUrl, self.contents)
+ 
+   def AppendDirectlyDependentFilenamesTo(self, dependent_filenames):
+@@ -72,7 +72,7 @@ class ParsedStyleSheet(object):
+       raise Exception('@imports are not supported')
+ 
+     matches = re.findall(
+-        'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
++        r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
+         self.contents)
+ 
+     def resolve_url(url):
+diff -up chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py
+--- chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me	2023-07-22 15:11:56.826972306 +0200
++++ chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py	2023-07-22 15:12:37.550902545 +0200
+@@ -119,8 +119,8 @@ class _PreprocessingLoader(jinja2.BaseLo
+             source = self.preprocess(f.read())
+         return source, path, lambda: mtime == os.path.getmtime(path)
+ 
+-    blockstart = re.compile('{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
+-    blockend = re.compile('{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
++    blockstart = re.compile(r'{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
++    blockend = re.compile(r'{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
+ 
+     def preprocess(self, source):
+         lines = source.split('\n')

diff --git a/chromium-118-use_system_freetype.patch b/chromium-118-use_system_freetype.patch
new file mode 100644
index 0000000..ce9fbde
--- /dev/null
+++ b/chromium-118-use_system_freetype.patch
@@ -0,0 +1,91 @@
+commit ed354d00aeda84693611b14baa56a287557a26b5
+Author: Munira Tursunova <moonira@google.com>
+Date:   Tue Sep 12 11:54:48 2023 +0000
+
+    Add check for use_system_freetype when importing private freetype header
+    
+    In [0] the include of private freetype header was added, which caused
+    build breakage when use_system_freetype=true, see [1].
+    
+    This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
+    
+    [0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
+    [1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
+    
+    Bug: 1429581
+    Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
+    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
+    Commit-Queue: Munira Tursunova <moonira@google.com>
+    Reviewed-by: Dominik Röttsches <drott@chromium.org>
+    Reviewed-by: Rick Byers <rbyers@chromium.org>
+    Cr-Commit-Position: refs/heads/main@{#1195323}
+
+diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
+index 7b086f95413ff..4ce797ebad722 100644
+--- a/third_party/BUILD.gn
++++ b/third_party/BUILD.gn
+@@ -2,6 +2,7 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+ 
++import("//build/buildflag_header.gni")
+ import("//build/config/features.gni")
+ import("//build/config/freetype/freetype.gni")
+ import("//third_party/harfbuzz-ng/harfbuzz.gni")
+@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
+     public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
+   }
+ }
++
++buildflag_header("freetype_buildflags") {
++  header = "freetype_buildflags.h"
++  flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
++}
+diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
+index 591d2f939605b..f6a2cd2168d1e 100644
+--- a/third_party/blink/renderer/platform/BUILD.gn
++++ b/third_party/blink/renderer/platform/BUILD.gn
+@@ -1717,6 +1717,7 @@ component("platform") {
+     "//services/viz/public/cpp/gpu",
+     "//skia",
+     "//skia:skcms",
++    "//third_party:freetype_buildflags",
+     "//third_party:freetype_harfbuzz",
+     "//third_party/abseil-cpp:absl",
+     "//third_party/blink/public:image_resources",
+diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
+index abe06f35c14a5..b2bfd88f0d85d 100644
+--- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
++++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
+@@ -48,7 +48,7 @@
+ #include "third_party/blink/renderer/platform/wtf/math_extras.h"
+ #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
+ #include "third_party/blink/renderer/platform/wtf/text/unicode.h"
+-#include "third_party/freetype/src/src/autofit/afws-decl.h"
++#include "third_party/freetype_buildflags.h"
+ #include "third_party/skia/include/core/SkFontMetrics.h"
+ #include "third_party/skia/include/core/SkPath.h"
+ #include "third_party/skia/include/core/SkTypeface.h"
+@@ -57,12 +57,22 @@
+ #include "ui/gfx/geometry/skia_conversions.h"
+ #include "v8/include/v8.h"
+ 
++#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
++#include "third_party/freetype/src/src/autofit/afws-decl.h"
++#endif
++
+ namespace blink {
+ 
+ constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
+ constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
++
++#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
+ constexpr int32_t kFontObjectsMemoryConsumption =
+     std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
++#else
++// sizeof(AF_LatinMetricsRec) = 2128
++constexpr int32_t kFontObjectsMemoryConsumption = 2128;
++#endif
+ 
+ SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
+                                scoped_refptr<CustomFontData> custom_data,

diff --git a/chromium-118-workaround_clang_bug-structured_binding.patch b/chromium-118-workaround_clang_bug-structured_binding.patch
new file mode 100644
index 0000000..3b79f51
--- /dev/null
+++ b/chromium-118-workaround_clang_bug-structured_binding.patch
@@ -0,0 +1,96 @@
+diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
+--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:37.000000000 +0200
++++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc	2023-06-17 16:53:20.216628557 +0200
+@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
+ void CdmPromiseAdapter::Clear(ClearReason reason) {
+   // Reject all outstanding promises.
+   DCHECK(thread_checker_.CalledOnValidThread());
+-  for (auto& [promise_id, promise] : promises_) {
++  for (auto& [p_i, p_e] : promises_) {
++    auto& promise_id = p_i;
++    auto& promise = p_e;
+     TRACE_EVENT_NESTABLE_ASYNC_END1(
+         "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
+         "status", "cleared");
+diff -up chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
+--- chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:41.000000000 +0200
++++ chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc	2023-06-17 18:47:06.001403966 +0200
+@@ -655,8 +658,10 @@ NGGridSizingTree NGGridLayoutAlgorithm::
+   NGGridSizingTree sizing_tree;
+ 
+   if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) {
+-    auto& [grid_items, layout_data, subtree_size] =
+-        sizing_tree.CreateSizingData();
++    auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData();
++    auto& grid_items = g_i;
++    auto& layout_data = l_d;
++    auto& subtree_size = s_s;
+ 
+     const auto& node = Node();
+     grid_items =
+@@ -1798,8 +1803,10 @@ void NGGridLayoutAlgorithm::CompleteTrac
+     bool* opt_needs_additional_pass) const {
+   DCHECK(sizing_subtree);
+ 
+-  auto& [grid_items, layout_data, subtree_size] =
+-      sizing_subtree.SubtreeRootData();
++  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
++  auto& grid_items = g_i;
++  auto& layout_data = l_d;
++  auto& subtree_size = s_s;
+ 
+   const bool is_for_columns = track_direction == kForColumns;
+   const bool has_non_definite_track =
+@@ -1924,8 +1931,10 @@ template <typename CallbackFunc>
+ void NGGridLayoutAlgorithm::ForEachSubgrid(
+     const NGGridSizingSubtree& sizing_subtree,
+     const CallbackFunc& callback_func) const {
+-  auto& [grid_items, layout_data, subtree_size] =
+-      sizing_subtree.SubtreeRootData();
++  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
++  auto& grid_items = g_i;
++  auto& layout_data = l_d;
++  auto& subtree_size = s_s;
+ 
+   // If we know this subtree doesn't have nested subgrids we can exit early
+   // instead of iterating over every grid item looking for them.
+diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
+--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me	2023-06-19 08:04:02.287072722 +0200
++++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc	2023-06-19 08:18:24.576814950 +0200
+@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
+     return;
+   }
+ 
+-  auto [document_url, key, callback] = std::move(*request);
++  auto [d_u, key, callback] = std::move(*request);
++  auto document_url = d_u;
+ 
+   DCHECK(document_url.is_valid());
+   TRACE_EVENT1("ServiceWorker",
+diff -up chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
+--- chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me	2023-09-15 13:03:00.787257048 +0200
++++ chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc	2023-09-15 13:15:05.502706522 +0200
+@@ -3437,7 +3437,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
+   DCHECK(out_row_break_between);
+ 
+   const auto& container_space = ConstraintSpace();
+-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
++  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
++  const auto& grid_items = g_i;
++  const auto& layout_data = l_d;
++  const auto& tree_size = t_s;
+ 
+   const auto* cached_layout_subtree = container_space.GridLayoutSubtree();
+   const auto container_writing_direction =
+@@ -3601,7 +3604,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
+ 
+   // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
+   const auto& constraint_space = ConstraintSpace();
+-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
++  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
++  const auto& grid_items = g_i;
++  const auto& layout_data = l_d;
++  const auto& tree_size =t_s;
+ 
+   const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree();
+   const auto container_writing_direction =

diff --git a/chromium.spec b/chromium.spec
index c480988..5e91107 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -248,7 +248,7 @@
 %endif
 
 Name:	chromium%{chromium_channel}
-Version: 117.0.5938.149
+Version: 118.0.5993.70
 Release: 1%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
@@ -334,11 +334,14 @@ Patch106: chromium-98.0.4758.80-epel7-erase-fix.patch
 
 # Add additional operator== to make el7 happy.
 Patch107: chromium-99.0.4844.51-el7-extra-operator.patch
+# old v4l2 on el7
+Patch108: chromium-118-el7_v4l2_quantization.patch 
 # workaround for clang bug on el7
 Patch109: chromium-114-wireless-el7.patch
 Patch110: chromium-115-buildflag-el7.patch
 Patch111: chromium-116-constexpr.patch
 Patch112: chromium-117-el7-default_constructor.patch
+Patch113: chromium-118-dma_buf_export_sync_file-conflict.patch
 
 # system ffmpeg
 Patch114: chromium-107-ffmpeg-duration.patch
@@ -351,38 +354,32 @@ Patch117: chromium-108-ffmpeg-revert-new-channel-layout-api.patch
 # revert AV1 VAAPI video encode due to old libva on el9
 Patch130: chromium-114-revert-av1enc-el9.patch
 
-# fixes for old clang version in fedora < 38 end epel
+# fixes for old clang version in fedora < 38 end epel (old clang <= 15)
 # compiler build errors, no matching constructor for initialization
-Patch300: chromium-117-no_matching_constructor.patch
+Patch300: chromium-118-no_matching_constructor.patch
 Patch301: chromium-115-compiler-SkColor4f.patch
 
 # workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
-Patch302: chromium-117-workaround_clang_bug-structured_binding.patch
+Patch302: chromium-118-workaround_clang_bug-structured_binding.patch
 
 # missing typename
 Patch303: chromium-117-typename.patch
 
-# compiler error with c++20
-Patch304: chromium-117-emplace_back_on_vector-c++20.patch
-
 # error: invalid operands to binary expression
-Patch305: chromium-117-string-convert.patch
+Patch304: chromium-117-string-convert.patch
 
 # disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver
 # not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found
-Patch306: chromium-116-arm64-memory_tagging.patch
+Patch306: chromium-118-arm64-memory_tagging.patch
 
 # missing include header files
-Patch310: chromium-117-missing-header-files.patch
+Patch310: chromium-118-missing-header-files.patch
 
 # clang warnings
 Patch311: chromium-115-clang-warnings.patch
 
 # imp module is removed in python-3.12 in fedora 39 and newer
-Patch312: chromium-117-python-3.12-deprecated.patch
-
-# Tweak about:gpu, Add dark mode support
-Patch350: chromium-116-tweak_about_gpu.patch
+Patch312: chromium-118-python-3.12-deprecated.patch
 
 # build error
 Patch351: chromium-117-mnemonic-error.patch
@@ -394,6 +391,7 @@ Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
 
 # upstream patches
 Patch400: chromium-117-memory_leak_in_xserver.patch
+Patch401: chromium-118-use_system_freetype.patch
 
 # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
 # http://build.chromium.org/buildbot/official/
@@ -970,12 +968,17 @@ udev.
 %patch -P105 -p1 -b .el7-old-libdrm
 %patch -P106 -p1 -b .el7-erase-fix
 %patch -P107 -p1 -b .el7-extra-operator-equalequal
+%patch -P108 -p1 -b .el7_v4l2_quantization
 %patch -P109 -p1 -b .wireless
 %patch -P110 -p1 -b .buildflag-el7
 %patch -P111 -p1 -b .constexpr
 %patch -P112 -p1 -b .default_constructor
 %endif
 
+%if 0%{?rhel} == 8 || 0%{?rhel} == 9
+%patch -P113 -p1 -b .dma_buf_export_sync_file-conflict
+%endif
+
 %if 0%{?rhel} == 9
 %patch -P130 -p1 -b .revert-av1enc
 %endif
@@ -986,8 +989,7 @@ udev.
 %patch -P301 -p1 -b .workaround_clang-SkColor4f
 %patch -P302 -p1 -b .workaround_clang_bug-structured_binding
 %patch -P303 -p1 -b .typename
-%patch -P304 -p1 -b .emplace_back_on_vector-c++20
-%patch -P305 -p1 -b .string-convert
+%patch -P304 -p1 -b .string-convert
 %endif
 %endif
 
@@ -1004,7 +1006,6 @@ udev.
 %patch -P312 -p1 -b .python-3.12-deprecated
 %endif
 
-%patch -P350 -p1 -b .tweak_about_gpu
 %patch -P351 -p1 -b .mnemonic-error
 
 %if %{disable_bti}
@@ -1012,6 +1013,7 @@ udev.
 %endif
 
 %patch -P400 -p1 -b .memory_leak_in_xserver
+%patch -P401 -p1 -b .use_system_freetype
 
 # Change shebang in all relevant files in this directory and all subdirectories
 # See `man find` for how the `-exec command {} +` syntax works
@@ -1702,6 +1704,27 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
 %{chromium_path}/chromedriver
 
 %changelog
+* Wed Oct 11 2023 Than Ngo <than@redhat.com> - 118.0.5993.70-1
+- update to 118.0.5993.70
+    - CVE-2023-5218: Use after free in Site Isolation.
+    - CVE-2023-5487: Inappropriate implementation in Fullscreen.
+    - CVE-2023-5484: Inappropriate implementation in Navigation.
+    - CVE-2023-5475: Inappropriate implementation in DevTools.
+    - CVE-2023-5483: Inappropriate implementation in Intents.
+    - CVE-2023-5481: Inappropriate implementation in Downloads.
+    - CVE-2023-5476: Use after free in Blink History.
+    - CVE-2023-5474: Heap buffer overflow in PDF.
+    - CVE-2023-5479: Inappropriate implementation in Extensions API.
+    - CVE-2023-5485: Inappropriate implementation in Autofill.
+    - CVE-2023-5478: Inappropriate implementation in Autofill.
+    - CVE-2023-5477: Inappropriate implementation in Installer.
+    - CVE-2023-5486: Inappropriate implementation in Input.
+    - CVE-2023-5473: Use after free in Cast.
+
+* Sat Oct 07 2023 Than Ngo <than@redhat.com> - 118.0.5993.54-1
+- update to 118.0.5993.54
+- drop use_gnome_keyring as it's removed by upstream
+
 * Thu Oct 05 2023 Than Ngo <than@redhat.com> - 117.0.5938.149-1
 - update to 117.0.5938.149
 - fix CVE-2023-5346: Type Confusion in V8

diff --git a/sources b/sources
index 135e5f3..6fc65cd 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-117.0.5938.149-clean.tar.xz) = a05968ec09d551e0f0ef6a1c221901ad95f78772a1de00b0bf6ecb53c7c0fff6b06c9ec29fb5bf6a160a00576b512d4dcce163b390ca5444db84a1955f85bf76
+SHA512 (chromium-118.0.5993.70-clean.tar.xz) = 06338def67a8d40fe4e87a08a537968abe9ad1cb79512fea5575822138fff83a47c9d8d601885bec4fa6619ca15b8f9b63ed709dc80ead8ab2a8e43b2adc61ca

                 reply	other threads:[~2026-08-07 16:05 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=178611873443.1.10465453841450994412.rpms-chromium-820d621e374d@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