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 chromium-116.0.5845.96
Date: Fri, 07 Aug 2026 16:05:21 GMT	[thread overview]
Message-ID: <178611872112.1.1884886447045914971.rpms-chromium-5175b086e886@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 5175b086e88669958a36fe105182ab8a5d33cf2a
Author : Than Ngo <than@redhat.com>
Date   : 2023-08-15T09:12:05+02:00
Stats  : +1255/-1918 in 25 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/5175b086e88669958a36fe105182ab8a5d33cf2a?branch=epel9-next

Log:
update to chromium-116.0.5845.96

---
diff --git a/chromium-110-limits.patch b/chromium-110-limits.patch
deleted file mode 100644
index 31a4c1e..0000000
--- a/chromium-110-limits.patch
+++ /dev/null
@@ -1,11 +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 --git a/chromium-113-rhel8-force-disable-use_gnome_keyring.patch b/chromium-113-rhel8-force-disable-use_gnome_keyring.patch
deleted file mode 100644
index 691f528..0000000
--- a/chromium-113-rhel8-force-disable-use_gnome_keyring.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-113.0.5672.24/components/os_crypt/sync/features.gni.disblegnomekeyring chromium-113.0.5672.24/components/os_crypt/sync/features.gni
---- chromium-113.0.5672.24/components/os_crypt/sync/features.gni.disblegnomekeyring	2023-04-07 14:23:11.083985460 +0200
-+++ chromium-113.0.5672.24/components/os_crypt/sync/features.gni	2023-04-07 14:23:44.276599353 +0200
-@@ -8,7 +8,7 @@ import("//build/config/ui.gni")
- declare_args() {
-   # Whether to use libgnome-keyring (deprecated by libsecret).
-   # See http://crbug.com/466975 and http://crbug.com/355223.
--  use_gnome_keyring = is_linux && use_glib
-+  use_gnome_keyring = false
- 
-   # Whether to make account and service names for the crypto key storage
-   # configurable at runtime for embedders.

diff --git a/chromium-114-qt-fix_font_double_scaling.patch b/chromium-114-qt-fix_font_double_scaling.patch
deleted file mode 100644
index 9713ef6..0000000
--- a/chromium-114-qt-fix_font_double_scaling.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/ui/qt/qt_ui.cc b/ui/qt/qt_ui.cc
-index bac5245a..a97fa8b 100644
---- a/ui/qt/qt_ui.cc
-+++ b/ui/qt/qt_ui.cc
-@@ -422,12 +422,14 @@
-   auto desc = shim_->GetFontDescription();
- 
-   font_family_ = desc.family.c_str();
-+  // Points are defined at 72 DPI and pixels are 96 DPI by default.
-+  constexpr double kPointToPixelRatio = 96.0 / 72.0;
-   if (desc.size_pixels > 0) {
-     font_size_pixels_ = desc.size_pixels;
--    font_size_points_ = font_size_pixels_ / GetDeviceScaleFactor();
-+    font_size_points_ = std::round(font_size_pixels_ / kPointToPixelRatio);
-   } else {
-     font_size_points_ = desc.size_points;
--    font_size_pixels_ = font_size_points_ * GetDeviceScaleFactor();
-+    font_size_pixels_ = std::round(font_size_points_ * kPointToPixelRatio);
-   }
-   font_style_ = desc.is_italic ? gfx::Font::ITALIC : gfx::Font::NORMAL;
-   font_weight_ = QtWeightToCssWeight(desc.weight);

diff --git a/chromium-114-qt-handle_scale_factor_changes.patch b/chromium-114-qt-handle_scale_factor_changes.patch
deleted file mode 100644
index d8fc72f..0000000
--- a/chromium-114-qt-handle_scale_factor_changes.patch
+++ /dev/null
@@ -1,574 +0,0 @@
-commit c51d6447fd0d124903d16bf5952efccbf9e1ca92
-Author: Tom Anderson <thomasanderson@chromium.org>
-Date:   Wed May 24 22:53:20 2023 +0000
-
-    [Qt] Handle scale factor changes
-    
-    This is a speculative fix for https://crbug.com/1439149.  I suspect
-    the scale factor is not set immediately on QT initialization, but
-    is set asynchronously shortly after.  This CL adds a listener for
-    QT scale changes.
-    
-    R=thestig
-    
-    Low-Coverage-Reason: No QT tests currently
-    Change-Id: I7dea23e16a6bb26237564af2dc4e43480f6aea9f
-    Bug: 1439149
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4559732
-    Reviewed-by: Lei Zhang <thestig@chromium.org>
-    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
-    Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1148805}
-
-diff --git a/ui/qt/qt5_shim_moc.cc b/ui/qt/qt5_shim_moc.cc
-index 8f8b6b57784a8..6e504f23c603a 100644
---- a/ui/qt/qt5_shim_moc.cc
-+++ b/ui/qt/qt5_shim_moc.cc
-@@ -23,8 +23,8 @@
- 
- QT_BEGIN_MOC_NAMESPACE
- struct qt_meta_stringdata_qt__QtShim_t {
--  QByteArrayData data[6];
--  char stringdata[52];
-+  QByteArrayData data[13];
-+  char stringdata[151];
- };
- #define QT_MOC_LITERAL(idx, ofs, len)                                       \
-   Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(                  \
-@@ -33,9 +33,16 @@ struct qt_meta_stringdata_qt__QtShim_t {
- static const qt_meta_stringdata_qt__QtShim_t qt_meta_stringdata_qt__QtShim = {
-     {QT_MOC_LITERAL(0, 0, 10), QT_MOC_LITERAL(1, 11, 11),
-      QT_MOC_LITERAL(2, 23, 0), QT_MOC_LITERAL(3, 24, 4),
--     QT_MOC_LITERAL(4, 29, 14), QT_MOC_LITERAL(5, 44, 7)},
-+     QT_MOC_LITERAL(4, 29, 14), QT_MOC_LITERAL(5, 44, 7),
-+     QT_MOC_LITERAL(6, 52, 11), QT_MOC_LITERAL(7, 64, 8),
-+     QT_MOC_LITERAL(8, 73, 6), QT_MOC_LITERAL(9, 80, 13),
-+     QT_MOC_LITERAL(10, 94, 25), QT_MOC_LITERAL(11, 120, 3),
-+     QT_MOC_LITERAL(12, 124, 26)},
-     "qt::QtShim\0FontChanged\0\0font\0"
--    "PaletteChanged\0palette"};
-+    "PaletteChanged\0palette\0ScreenAdded\0"
-+    "QScreen*\0screen\0ScreenRemoved\0"
-+    "LogicalDotsPerInchChanged\0dpi\0"
-+    "PhysicalDotsPerInchChanged"};
- #undef QT_MOC_LITERAL
- 
- static const uint qt_meta_data_qt__QtShim[] = {
-@@ -44,7 +51,7 @@ static const uint qt_meta_data_qt__QtShim[] = {
-     7,      // revision
-     0,      // classname
-     0, 0,   // classinfo
--    2, 14,  // methods
-+    6, 14,  // methods
-     0, 0,   // properties
-     0, 0,   // enums/sets
-     0, 0,   // constructors
-@@ -52,11 +59,15 @@ static const uint qt_meta_data_qt__QtShim[] = {
-     0,      // signalCount
- 
-     // slots: name, argc, parameters, tag, flags
--    1, 1, 24, 2, 0x08 /* Private */, 4, 1, 27, 2, 0x08 /* Private */,
-+    1, 1, 44, 2, 0x08 /* Private */, 4, 1, 47, 2, 0x08 /* Private */, 6, 1, 50,
-+    2, 0x08 /* Private */, 9, 1, 53, 2, 0x08 /* Private */, 10, 1, 56, 2,
-+    0x08 /* Private */, 12, 1, 59, 2, 0x08 /* Private */,
- 
-     // slots: parameters
-     QMetaType::Void, QMetaType::QFont, 3, QMetaType::Void, QMetaType::QPalette,
--    5,
-+    5, QMetaType::Void, 0x80000000 | 7, 8, QMetaType::Void, 0x80000000 | 7, 8,
-+    QMetaType::Void, QMetaType::QReal, 11, QMetaType::Void, QMetaType::QReal,
-+    11,
- 
-     0  // eod
- };
-@@ -74,6 +85,18 @@ void qt::QtShim::qt_static_metacall(QObject* _o,
-       case 1:
-         _t->PaletteChanged((*reinterpret_cast<const QPalette(*)>(_a[1])));
-         break;
-+      case 2:
-+        _t->ScreenAdded((*reinterpret_cast<QScreen*(*)>(_a[1])));
-+        break;
-+      case 3:
-+        _t->ScreenRemoved((*reinterpret_cast<QScreen*(*)>(_a[1])));
-+        break;
-+      case 4:
-+        _t->LogicalDotsPerInchChanged((*reinterpret_cast<qreal(*)>(_a[1])));
-+        break;
-+      case 5:
-+        _t->PhysicalDotsPerInchChanged((*reinterpret_cast<qreal(*)>(_a[1])));
-+        break;
-       default:;
-     }
-   }
-@@ -107,15 +130,15 @@ int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
-     return _id;
-   }
-   if (_c == QMetaObject::InvokeMetaMethod) {
--    if (_id < 2) {
-+    if (_id < 6) {
-       qt_static_metacall(this, _c, _id, _a);
-     }
--    _id -= 2;
-+    _id -= 6;
-   } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
--    if (_id < 2) {
-+    if (_id < 6) {
-       *reinterpret_cast<int*>(_a[0]) = -1;
-     }
--    _id -= 2;
-+    _id -= 6;
-   }
-   return _id;
- }
-diff --git a/ui/qt/qt6_shim_moc.cc b/ui/qt/qt6_shim_moc.cc
-index 6d02ca317b65d..a16515008d892 100644
---- a/ui/qt/qt6_shim_moc.cc
-+++ b/ui/qt/qt6_shim_moc.cc
-@@ -26,8 +26,8 @@ QT_BEGIN_MOC_NAMESPACE
- QT_WARNING_PUSH
- QT_WARNING_DISABLE_DEPRECATED
- struct qt_meta_stringdata_qt__QtShim_t {
--  const uint offsetsAndSize[12];
--  char stringdata0[52];
-+  const uint offsetsAndSize[26];
-+  char stringdata0[151];
- };
- #define QT_MOC_LITERAL(ofs, len) \
-   uint(offsetof(qt_meta_stringdata_qt__QtShim_t, stringdata0) + ofs), len
-@@ -38,11 +38,21 @@ static const qt_meta_stringdata_qt__QtShim_t qt_meta_stringdata_qt__QtShim = {
-         QT_MOC_LITERAL(23, 0),   // ""
-         QT_MOC_LITERAL(24, 4),   // "font"
-         QT_MOC_LITERAL(29, 14),  // "PaletteChanged"
--        QT_MOC_LITERAL(44, 7)    // "palette"
-+        QT_MOC_LITERAL(44, 7),   // "palette"
-+        QT_MOC_LITERAL(52, 11),  // "ScreenAdded"
-+        QT_MOC_LITERAL(64, 8),   // "QScreen*"
-+        QT_MOC_LITERAL(73, 6),   // "screen"
-+        QT_MOC_LITERAL(80, 13),  // "ScreenRemoved"
-+        QT_MOC_LITERAL(94, 25),  // "LogicalDotsPerInchChanged"
-+        QT_MOC_LITERAL(120, 3),  // "dpi"
-+        QT_MOC_LITERAL(124, 26)  // "PhysicalDotsPerInchChanged"
- 
-     },
-     "qt::QtShim\0FontChanged\0\0font\0"
--    "PaletteChanged\0palette"};
-+    "PaletteChanged\0palette\0ScreenAdded\0"
-+    "QScreen*\0screen\0ScreenRemoved\0"
-+    "LogicalDotsPerInchChanged\0dpi\0"
-+    "PhysicalDotsPerInchChanged"};
- #undef QT_MOC_LITERAL
- 
- static const uint qt_meta_data_qt__QtShim[] = {
-@@ -51,7 +61,7 @@ static const uint qt_meta_data_qt__QtShim[] = {
-     10,     // revision
-     0,      // classname
-     0, 0,   // classinfo
--    2, 14,  // methods
-+    6, 14,  // methods
-     0, 0,   // properties
-     0, 0,   // enums/sets
-     0, 0,   // constructors
-@@ -59,11 +69,15 @@ static const uint qt_meta_data_qt__QtShim[] = {
-     0,      // signalCount
- 
-     // slots: name, argc, parameters, tag, flags, initial metatype offsets
--    1, 1, 26, 2, 0x08, 1 /* Private */, 4, 1, 29, 2, 0x08, 3 /* Private */,
-+    1, 1, 50, 2, 0x08, 1 /* Private */, 4, 1, 53, 2, 0x08, 3 /* Private */, 6,
-+    1, 56, 2, 0x08, 5 /* Private */, 9, 1, 59, 2, 0x08, 7 /* Private */, 10, 1,
-+    62, 2, 0x08, 9 /* Private */, 12, 1, 65, 2, 0x08, 11 /* Private */,
- 
-     // slots: parameters
-     QMetaType::Void, QMetaType::QFont, 3, QMetaType::Void, QMetaType::QPalette,
--    5,
-+    5, QMetaType::Void, 0x80000000 | 7, 8, QMetaType::Void, 0x80000000 | 7, 8,
-+    QMetaType::Void, QMetaType::QReal, 11, QMetaType::Void, QMetaType::QReal,
-+    11,
- 
-     0  // eod
- };
-@@ -83,6 +97,22 @@ void qt::QtShim::qt_static_metacall(QObject* _o,
-         _t->PaletteChanged(
-             (*reinterpret_cast<std::add_pointer_t<QPalette>>(_a[1])));
-         break;
-+      case 2:
-+        _t->ScreenAdded(
-+            (*reinterpret_cast<std::add_pointer_t<QScreen*>>(_a[1])));
-+        break;
-+      case 3:
-+        _t->ScreenRemoved(
-+            (*reinterpret_cast<std::add_pointer_t<QScreen*>>(_a[1])));
-+        break;
-+      case 4:
-+        _t->LogicalDotsPerInchChanged(
-+            (*reinterpret_cast<std::add_pointer_t<qreal>>(_a[1])));
-+        break;
-+      case 5:
-+        _t->PhysicalDotsPerInchChanged(
-+            (*reinterpret_cast<std::add_pointer_t<qreal>>(_a[1])));
-+        break;
-       default:;
-     }
-   }
-@@ -98,7 +128,15 @@ const QMetaObject qt::QtShim::staticMetaObject = {
-          QtPrivate::TypeAndForceComplete<void, std::false_type>,
-          QtPrivate::TypeAndForceComplete<const QFont&, std::false_type>,
-          QtPrivate::TypeAndForceComplete<void, std::false_type>,
--         QtPrivate::TypeAndForceComplete<const QPalette&, std::false_type>
-+         QtPrivate::TypeAndForceComplete<const QPalette&, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<void, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<QScreen*, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<void, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<QScreen*, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<void, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<qreal, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<void, std::false_type>,
-+         QtPrivate::TypeAndForceComplete<qreal, std::false_type>
- 
-          >,
-      nullptr}};
-@@ -127,15 +165,15 @@ int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
-     return _id;
-   }
-   if (_c == QMetaObject::InvokeMetaMethod) {
--    if (_id < 2) {
-+    if (_id < 6) {
-       qt_static_metacall(this, _c, _id, _a);
-     }
--    _id -= 2;
-+    _id -= 6;
-   } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
--    if (_id < 2) {
-+    if (_id < 6) {
-       *reinterpret_cast<QMetaType*>(_a[0]) = QMetaType();
-     }
--    _id -= 2;
-+    _id -= 6;
-   }
-   return _id;
- }
-diff --git a/ui/qt/qt_interface.h b/ui/qt/qt_interface.h
-index 6a362bc66c0e3..28dfc6603544f 100644
---- a/ui/qt/qt_interface.h
-+++ b/ui/qt/qt_interface.h
-@@ -118,6 +118,7 @@ class QtInterface {
- 
-     virtual void FontChanged() = 0;
-     virtual void ThemeChanged() = 0;
-+    virtual void ScaleFactorMaybeChanged() = 0;
-   };
- 
-   QtInterface() = default;
-diff --git a/ui/qt/qt_shim.cc b/ui/qt/qt_shim.cc
-index 74d34ad196f18..0aec9c3aed4ad 100644
---- a/ui/qt/qt_shim.cc
-+++ b/ui/qt/qt_shim.cc
-@@ -16,6 +16,7 @@
- #include <QMimeType>
- #include <QPainter>
- #include <QPalette>
-+#include <QScreen>
- #include <QStyle>
- #include <QStyleOptionTitleBar>
- 
-@@ -52,8 +53,9 @@ FontHinting QtHintingToFontHinting(QFont::HintingPreference hinting) {
- // Obtain the average color of a gradient.
- SkColor GradientColor(const QGradient& gradient) {
-   QGradientStops stops = gradient.stops();
--  if (stops.empty())
-+  if (stops.empty()) {
-     return qRgba(0, 0, 0, 0);
-+  }
- 
-   float a = 0;
-   float r = 0;
-@@ -86,11 +88,13 @@ SkColor GradientColor(const QGradient& gradient) {
- // Obtain the average color of a texture.
- SkColor TextureColor(QImage image) {
-   size_t size = image.width() * image.height();
--  if (!size)
-+  if (!size) {
-     return qRgba(0, 0, 0, 0);
-+  }
- 
--  if (image.format() != QImage::Format_ARGB32_Premultiplied)
-+  if (image.format() != QImage::Format_ARGB32_Premultiplied) {
-     image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
-+  }
- 
-   size_t a = 0;
-   size_t r = 0;
-@@ -203,6 +207,13 @@ QtShim::QtShim(QtInterface::Delegate* delegate, int* argc, char** argv)
-           SLOT(FontChanged(const QFont&)));
-   connect(&app_, SIGNAL(paletteChanged(const QPalette&)), this,
-           SLOT(PaletteChanged(const QPalette&)));
-+  connect(&app_, SIGNAL(screenAdded(QScreen*)), this,
-+          SLOT(ScreenAdded(QScreen*)));
-+  connect(&app_, SIGNAL(screenRemoved(QScreen*)), this,
-+          SLOT(ScreenRemoved(QScreen*)));
-+  for (QScreen* screen : app_.screens()) {
-+    ScreenAdded(screen);
-+  }
- }
- 
- QtShim::~QtShim() = default;
-@@ -241,8 +252,9 @@ Image QtShim::GetIconForContentType(const String& content_type,
-       auto icon = QIcon::fromTheme(name);
-       auto pixmap = icon.pixmap(size);
-       auto image = pixmap.toImage();
--      if (image.format() != QImage::Format_ARGB32_Premultiplied)
-+      if (image.format() != QImage::Format_ARGB32_Premultiplied) {
-         image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
-+      }
-       if (auto bytes = image.sizeInBytes()) {
-         return {image.width(), image.height(),
-                 static_cast<float>(image.devicePixelRatio()),
-@@ -283,6 +295,30 @@ void QtShim::PaletteChanged(const QPalette& palette) {
-   delegate_->ThemeChanged();
- }
- 
-+DISABLE_CFI_VCALL
-+void QtShim::ScreenAdded(QScreen* screen) {
-+  connect(screen, SIGNAL(logicalDotsPerInchChanged(qreal)), this,
-+          SLOT(LogicalDotsPerInchChanged(qreal)));
-+  connect(screen, SIGNAL(physicalDotsPerInchChanged(qreal)), this,
-+          SLOT(PhysicalDotsPerInchChanged(qreal)));
-+  delegate_->ScaleFactorMaybeChanged();
-+}
-+
-+DISABLE_CFI_VCALL
-+void QtShim::ScreenRemoved(QScreen* screen) {
-+  delegate_->ScaleFactorMaybeChanged();
-+}
-+
-+DISABLE_CFI_VCALL
-+void QtShim::LogicalDotsPerInchChanged(qreal dpi) {
-+  delegate_->ScaleFactorMaybeChanged();
-+}
-+
-+DISABLE_CFI_VCALL
-+void QtShim::PhysicalDotsPerInchChanged(qreal dpi) {
-+  delegate_->ScaleFactorMaybeChanged();
-+}
-+
- Image QtShim::DrawHeader(int width,
-                          int height,
-                          SkColor default_color,
-@@ -309,8 +345,9 @@ QImage QtShim::DrawHeaderImpl(int width,
-     QStyleOptionTitleBar opt;
-     opt.rect = QRect(-kBorderWidth, -kBorderWidth, width + 2 * kBorderWidth,
-                      height + 2 * kBorderWidth);
--    if (state == ColorState::kNormal)
-+    if (state == ColorState::kNormal) {
-       opt.titleBarState = QStyle::State_Active;
-+    }
-     app_.style()->drawComplexControl(QStyle::CC_TitleBar, &opt, &painter,
-                                      nullptr);
-   } else {
-diff --git a/ui/qt/qt_shim.h b/ui/qt/qt_shim.h
-index 607e6fe22dfc0..d979c47d589d4 100644
---- a/ui/qt/qt_shim.h
-+++ b/ui/qt/qt_shim.h
-@@ -42,6 +42,10 @@ class QtShim : public QObject, public QtInterface {
-  private slots:
-   void FontChanged(const QFont& font);
-   void PaletteChanged(const QPalette& palette);
-+  void ScreenAdded(QScreen* screen);
-+  void ScreenRemoved(QScreen* screen);
-+  void LogicalDotsPerInchChanged(qreal dpi);
-+  void PhysicalDotsPerInchChanged(qreal dpi);
- 
-  private:
-   QImage DrawHeaderImpl(int width,
-diff --git a/ui/qt/qt_ui.cc b/ui/qt/qt_ui.cc
-index 6a3b58e9f930b..bac5245a069f9 100644
---- a/ui/qt/qt_ui.cc
-+++ b/ui/qt/qt_ui.cc
-@@ -19,6 +19,7 @@
- #include "base/nix/xdg_util.h"
- #include "base/notreached.h"
- #include "base/path_service.h"
-+#include "base/task/single_thread_task_runner.h"
- #include "base/time/time.h"
- #include "cc/paint/paint_canvas.h"
- #include "chrome/browser/themes/theme_properties.h"  // nogncheck
-@@ -36,6 +37,7 @@
- #include "ui/gfx/image/image.h"
- #include "ui/gfx/image/image_skia_rep.h"
- #include "ui/gfx/image/image_skia_source.h"
-+#include "ui/linux/device_scale_factor_observer.h"
- #include "ui/linux/linux_ui.h"
- #include "ui/linux/nav_button_provider.h"
- #include "ui/native_theme/native_theme_aura.h"
-@@ -194,16 +196,21 @@ void QtUi::GetDefaultFontDescription(std::string* family_out,
-                                      int* style_out,
-                                      int* weight_out,
-                                      gfx::FontRenderParams* params_out) const {
--  if (family_out)
-+  if (family_out) {
-     *family_out = font_family_;
--  if (size_pixels_out)
-+  }
-+  if (size_pixels_out) {
-     *size_pixels_out = font_size_pixels_;
--  if (style_out)
-+  }
-+  if (style_out) {
-     *style_out = font_style_;
--  if (weight_out)
-+  }
-+  if (weight_out) {
-     *weight_out = font_weight_;
--  if (params_out)
-+  }
-+  if (params_out) {
-     *params_out = font_params_;
-+  }
- }
- 
- ui::SelectFileDialog* QtUi::CreateSelectFileDialog(
-@@ -236,6 +245,7 @@ bool QtUi::Initialize() {
-   ui::ColorProviderManager::Get().AppendColorProviderInitializer(
-       base::BindRepeating(&QtUi::AddNativeColorMixer, base::Unretained(this)));
-   FontChanged();
-+  scale_factor_ = shim_->GetScaleFactor();
- 
-   return true;
- }
-@@ -246,8 +256,9 @@ ui::NativeTheme* QtUi::GetNativeTheme() const {
- 
- bool QtUi::GetColor(int id, SkColor* color, bool use_custom_frame) const {
-   auto value = GetColor(id, use_custom_frame);
--  if (value)
-+  if (value) {
-     *color = *value;
-+  }
-   return value.has_value();
- }
- 
-@@ -297,8 +308,9 @@ gfx::Image QtUi::GetIconForContentType(const std::string& content_type,
-                                        float scale) const {
-   Image image =
-       shim_->GetIconForContentType(String(content_type.c_str()), size * scale);
--  if (!image.data_argb.size())
-+  if (!image.data_argb.size()) {
-     return {};
-+  }
- 
-   SkImageInfo image_info = SkImageInfo::Make(
-       image.width, image.height, kBGRA_8888_SkColorType, kPremul_SkAlphaType);
-@@ -345,14 +357,16 @@ bool QtUi::AnimationsEnabled() const {
- 
- void QtUi::AddWindowButtonOrderObserver(
-     ui::WindowButtonOrderObserver* observer) {
--  if (fallback_linux_ui_)
-+  if (fallback_linux_ui_) {
-     fallback_linux_ui_->AddWindowButtonOrderObserver(observer);
-+  }
- }
- 
- void QtUi::RemoveWindowButtonOrderObserver(
-     ui::WindowButtonOrderObserver* observer) {
--  if (fallback_linux_ui_)
-+  if (fallback_linux_ui_) {
-     fallback_linux_ui_->RemoveWindowButtonOrderObserver(observer);
-+  }
- }
- 
- std::unique_ptr<ui::NavButtonProvider> QtUi::CreateNavButtonProvider() {
-@@ -441,11 +455,24 @@ void QtUi::ThemeChanged() {
-   native_theme_->ThemeChanged(PreferDarkTheme());
- }
- 
-+void QtUi::ScaleFactorMaybeChanged() {
-+  // This gets called whenever the monitor configuration changes.  Handle the
-+  // scale change asynchronously to allow the change to propagate to QT's scale
-+  // factor. This also coalesces scale change events together.
-+  if (!scale_factor_task_active_) {
-+    scale_factor_task_active_ = true;
-+    base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask(
-+        FROM_HERE, base::BindOnce(&QtUi::ScaleFactorMaybeChangedImpl,
-+                                  weak_factory_.GetWeakPtr()));
-+  }
-+}
-+
- DISABLE_CFI_VCALL
- void QtUi::AddNativeColorMixer(ui::ColorProvider* provider,
-                                const ui::ColorProviderManager::Key& key) {
--  if (key.system_theme != ui::SystemTheme::kQt)
-+  if (key.system_theme != ui::SystemTheme::kQt) {
-     return;
-+  }
- 
-   ui::ColorMixer& mixer = provider->AddMixer();
-   // These color constants are required by native_chrome_color_mixer_linux.cc
-@@ -494,8 +521,9 @@ void QtUi::AddNativeColorMixer(ui::ColorProvider* provider,
-        ColorState::kInactive},
-       {ui::kColorNativeToolbarBackground, ColorType::kButtonBg},
-   };
--  for (const auto& map : kMaps)
-+  for (const auto& map : kMaps) {
-     mixer[map.id] = {shim_->GetColor(map.role, map.state)};
-+  }
- 
-   const bool use_custom_frame =
-       key.frame_type == ui::ColorProviderManager::FrameType::kChromium;
-@@ -578,6 +606,20 @@ absl::optional<SkColor> QtUi::GetColor(int id, bool use_custom_frame) const {
-   }
- }
- 
-+DISABLE_CFI_VCALL
-+void QtUi::ScaleFactorMaybeChangedImpl() {
-+  scale_factor_task_active_ = false;
-+  double scale = shim_->GetScaleFactor();
-+  if (scale == scale_factor_) {
-+    return;
-+  }
-+  scale_factor_ = scale;
-+  for (ui::DeviceScaleFactorObserver& observer :
-+       device_scale_factor_observer_list()) {
-+    observer.OnDeviceScaleFactorChanged();
-+  }
-+}
-+
- std::unique_ptr<ui::LinuxUiAndTheme> CreateQtUi(
-     ui::LinuxUi* fallback_linux_ui) {
-   return std::make_unique<QtUi>(fallback_linux_ui);
-diff --git a/ui/qt/qt_ui.h b/ui/qt/qt_ui.h
-index b53ed93240708..3319edf1ea9bc 100644
---- a/ui/qt/qt_ui.h
-+++ b/ui/qt/qt_ui.h
-@@ -8,6 +8,7 @@
- #include <memory>
- 
- #include "base/component_export.h"
-+#include "base/memory/weak_ptr.h"
- #include "printing/buildflags/buildflags.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
- #include "ui/color/color_provider.h"
-@@ -88,11 +89,14 @@ class QtUi : public ui::LinuxUiAndTheme, QtInterface::Delegate {
-   // QtInterface::Delegate:
-   void FontChanged() override;
-   void ThemeChanged() override;
-+  void ScaleFactorMaybeChanged() override;
- 
-  private:
-   void AddNativeColorMixer(ui::ColorProvider* provider,
-                            const ui::ColorProviderManager::Key& key);
- 
-+  void ScaleFactorMaybeChangedImpl();
-+
-   absl::optional<SkColor> GetColor(int id, bool use_custom_frame) const;
- 
-   // TODO(https://crbug.com/1317782): This is a fallback for any unimplemented
-@@ -114,6 +118,11 @@ class QtUi : public ui::LinuxUiAndTheme, QtInterface::Delegate {
-   std::unique_ptr<QtInterface> shim_;
- 
-   std::unique_ptr<QtNativeTheme> native_theme_;
-+
-+  bool scale_factor_task_active_ = false;
-+  double scale_factor_ = 1.0;
-+
-+  base::WeakPtrFactory<QtUi> weak_factory_{this};
- };
- 
- // This should be the only symbol exported from this component.

diff --git a/chromium-114-qt_deps.patch b/chromium-114-qt_deps.patch
deleted file mode 100644
index e890882..0000000
--- a/chromium-114-qt_deps.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit 7b1d747a599a752e493e34e7bbf841d8b4c7882f
-Author: Tomasz Śniatowski <tomasz.sniatowski@xperi.com>
-Date:   Thu May 25 16:09:27 2023 +0000
-
-    Dep on //printing in //ui/qt if printing is enabled
-    
-    qt_ui.h can use printing/printing_context_linux.h, and needs to dep
-    on //printing if it does, to avoid a missing dependency build break.
-    
-    Without this fix, a clean build can fail on obj/ui/qt/qt/qt_ui.o with
-      In file included from ../../ui/qt/qt_ui.cc:8:
-      In file included from ../../ui/qt/qt_ui.h:21:
-      ../../printing/printing_context_linux.h:12:10: fatal error:
-      'printing/mojom/print.mojom.h' file not found
-    
-    (the #include is a // NOGNCHECK one, which is how this came to be)
-    
-    Change-Id: I70af37071e232ffbf462a05e026051efae044b69
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4566944
-    Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
-    Auto-Submit: Tomasz Śniatowski <tomasz.sniatowski@xperi.com>
-    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1149138}
-
-diff --git a/ui/qt/BUILD.gn b/ui/qt/BUILD.gn
-index 6a67961edc2f7..89fffcf3089f9 100644
---- a/ui/qt/BUILD.gn
-+++ b/ui/qt/BUILD.gn
-@@ -5,6 +5,7 @@
- import("//build/config/chromecast_build.gni")
- import("//build/config/linux/pkg_config.gni")
- import("//build/config/sysroot.gni")
-+import("//printing/buildflags/buildflags.gni")
- import("//ui/qt/qt.gni")
- 
- assert(use_qt)
-@@ -127,6 +128,9 @@ component("qt") {
-     "//ui/views",
-   ]
-   public_deps = [ "//skia" ]
-+  if (enable_printing) {
-+    public_deps += [ "//printing" ]
-+  }
- 
-   sources = [
-     "qt_ui.cc",

diff --git a/chromium-114-qt_enable_AllowQt_feature_flag.patch b/chromium-114-qt_enable_AllowQt_feature_flag.patch
deleted file mode 100644
index 53ef6d9..0000000
--- a/chromium-114-qt_enable_AllowQt_feature_flag.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc.me chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc
---- chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc.me	2023-06-11 18:47:09.742886578 +0200
-+++ chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc	2023-06-11 18:48:42.231584886 +0200
-@@ -127,7 +127,7 @@ LinuxUiAndTheme* GetDefaultLinuxUiAndThe
- 
- }  // namespace
- 
--BASE_FEATURE(kAllowQt, "AllowQt", base::FEATURE_DISABLED_BY_DEFAULT);
-+BASE_FEATURE(kAllowQt, "AllowQt", base::FEATURE_ENABLED_BY_DEFAULT);
- 
- LinuxUi* GetDefaultLinuxUi() {
-   auto* linux_ui = GetDefaultLinuxUiAndTheme();

diff --git a/chromium-114-qt_logical_scale_factor.patch b/chromium-114-qt_logical_scale_factor.patch
deleted file mode 100644
index 42f6b0e..0000000
--- a/chromium-114-qt_logical_scale_factor.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit ff39a278ddccf61716a7dbcb575415801bbf8ded
-Author: Tom Anderson <thomasanderson@chromium.org>
-Date:   Wed May 31 18:31:09 2023 +0000
-
-    [QT] Account for logical scale factor
-    
-    Previously we were only using the device pixel ratio.  But QT UI
-    scales with both the device pixel ratio and the logical DPI.  This CL
-    sets Chrome's scale factor to be the product of these two.
-    
-    R=thestig
-    CC=jkummerow
-    
-    Change-Id: I9bd414046058e741450fabae4913d47a16ca48c3
-    Bug: 1439149
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4575572
-    Reviewed-by: Lei Zhang <thestig@chromium.org>
-    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1151380}
-
-diff --git a/ui/qt/qt_shim.cc b/ui/qt/qt_shim.cc
-index 0aec9c3aed4ad..3780f8c3988b4 100644
---- a/ui/qt/qt_shim.cc
-+++ b/ui/qt/qt_shim.cc
-@@ -7,7 +7,7 @@
- 
- #include "ui/qt/qt_shim.h"
- 
--#include <stdio.h>
-+#include <cmath>
- 
- #include <QApplication>
- #include <QFont>
-@@ -219,7 +219,24 @@ QtShim::QtShim(QtInterface::Delegate* delegate, int* argc, char** argv)
- QtShim::~QtShim() = default;
- 
- double QtShim::GetScaleFactor() const {
--  return app_.devicePixelRatio();
-+  constexpr double kDefaultPixelDpi = 96.0;
-+  // Use the largest scale factor across all displays as the global scale
-+  // factor.  This matches the behavior of `app_.devicePixelRatio()`, except
-+  // this also takes into account the logical DPI.
-+  // TODO(https://crbug.com/1450301): Unlike GTK, QT supports per-display
-+  // scaling. Use this instead of the max scale factor.
-+  double scale = 0.0;
-+  for (QScreen* screen : app_.screens()) {
-+    scale =
-+        std::max(scale, screen->devicePixelRatio() *
-+                            screen->logicalDotsPerInch() / kDefaultPixelDpi);
-+  }
-+  // Round to the nearest 16th so that UI can losslessly multiply and divide
-+  // by the scale factor using floating point arithmetic.  GtkUi also rounds
-+  // in this way, but to 1/64th.  1/16th is chosen here since that's what
-+  // KDE settings uses.
-+  scale = std::round(scale * 16) / 16;
-+  return scale > 0 ? scale : 1.0;
- }
- 
- FontRenderParams QtShim::GetFontRenderParams() const {

diff --git a/chromium-115-add_BoundSessionRefreshCookieFetcher::Result.patch b/chromium-115-add_BoundSessionRefreshCookieFetcher::Result.patch
deleted file mode 100644
index 72e4385..0000000
--- a/chromium-115-add_BoundSessionRefreshCookieFetcher::Result.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-commit 73e9d865abd6b636280c4bb45720af2ff2c1e374
-Author: Monica Basta <msalama@chromium.org>
-Date:   Fri Jun 2 13:25:42 2023 +0000
-
-    [BSC]: Add BoundSessionRefreshCookieFetcher::Result
-    
-    Bug: b/273920907
-    Change-Id: I6508dcb79592420bfa3ebe3aac872c097a303a02
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4574672
-    Commit-Queue: Monica Basta <msalama@chromium.org>
-    Reviewed-by: Alex Ilin <alexilin@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1152484}
-
-diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_cookie_controller_impl.cc b/chrome/browser/signin/bound_session_credentials/bound_session_cookie_controller_impl.cc
-index 4e7e0b092a568..1c8c0110e3516 100644
---- a/chrome/browser/signin/bound_session_credentials/bound_session_cookie_controller_impl.cc
-+++ b/chrome/browser/signin/bound_session_credentials/bound_session_cookie_controller_impl.cc
-@@ -93,7 +93,7 @@ void BoundSessionCookieControllerImpl::MaybeRefreshCookie() {
- void BoundSessionCookieControllerImpl::OnCookieRefreshFetched(
-     BoundSessionRefreshCookieFetcher::Result result) {
-   refresh_cookie_fetcher_.reset();
--  if (result.net_error == net::OK && result.response_code == net::HTTP_OK) {
-+  if (result == BoundSessionRefreshCookieFetcher::Result::kSuccess) {
-     // Requests are resumed once the cookie is set in the cookie jar. The
-     // cookie is expected to be fresh and `this` is notified with its
-     // expiration date before `OnCookieRefreshFetched` is called.
-diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher.h b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher.h
-index db62988635a26..f7a8b3693346f 100644
---- a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher.h
-+++ b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher.h
-@@ -14,10 +14,13 @@
- // created per request.
- class BoundSessionRefreshCookieFetcher {
-  public:
--  struct Result {
--    net::Error net_error;
--    absl::optional<int> response_code;
-+  enum class Result {
-+    kSuccess = 0,
-+    kConnectionError = 1,
-+    kServerTransientError = 2,
-+    kServerPersistentError = 3,
-   };
-+
-   // Reports the result of the fetch request.
-   using RefreshCookieCompleteCallback = base::OnceCallback<void(Result)>;
- 
-diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.cc b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.cc
-index 46be6f06b147a..a6f038b158311 100644
---- a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.cc
-+++ b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.cc
-@@ -8,6 +8,7 @@
- 
- #include "components/signin/public/base/signin_client.h"
- #include "google_apis/gaia/gaia_urls.h"
-+#include "net/http/http_status_code.h"
- #include "net/traffic_annotation/network_traffic_annotation.h"
- #include "services/network/public/cpp/resource_request.h"
- #include "services/network/public/cpp/shared_url_loader_factory.h"
-@@ -102,7 +103,36 @@ void BoundSessionRefreshCookieFetcherImpl::OnURLLoaderComplete(
-     scoped_refptr<net::HttpResponseHeaders> headers) {
-   net::Error net_error = static_cast<net::Error>(url_loader_->NetError());
- 
--  std::move(callback_).Run(
--      Result(net_error, headers ? absl::optional<int>(headers->response_code())
--                                : absl::nullopt));
-+  Result result = GetResultFromNetErrorAndHttpStatusCode(
-+      net_error,
-+      headers ? absl::optional<int>(headers->response_code()) : absl::nullopt);
-+  std::move(callback_).Run(result);
-+}
-+
-+BoundSessionRefreshCookieFetcher::Result
-+BoundSessionRefreshCookieFetcherImpl::GetResultFromNetErrorAndHttpStatusCode(
-+    net::Error net_error,
-+    absl::optional<int> response_code) {
-+  if ((net_error != net::OK &&
-+       net_error != net::ERR_HTTP_RESPONSE_CODE_FAILURE) ||
-+      !response_code) {
-+    return BoundSessionRefreshCookieFetcher::Result::kConnectionError;
-+  }
-+
-+  if (response_code == net::HTTP_OK) {
-+    return BoundSessionRefreshCookieFetcher::Result::kSuccess;
-+  }
-+
-+  if (response_code >= net::HTTP_INTERNAL_SERVER_ERROR) {
-+    // Server error 5xx.
-+    return BoundSessionRefreshCookieFetcher::Result::kServerTransientError;
-+  }
-+
-+  if (response_code >= net::HTTP_BAD_REQUEST) {
-+    // Server error 4xx.
-+    return BoundSessionRefreshCookieFetcher::Result::kServerPersistentError;
-+  }
-+
-+  // Unexpected response code.
-+  return BoundSessionRefreshCookieFetcher::Result::kServerPersistentError;
- }
-diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.h b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.h
-index 733ffbaae088c..52943f0194c32 100644
---- a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.h
-+++ b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.h
-@@ -31,8 +31,14 @@ class BoundSessionRefreshCookieFetcherImpl
-   void Start(RefreshCookieCompleteCallback callback) override;
- 
-  private:
-+  FRIEND_TEST_ALL_PREFIXES(BoundSessionRefreshCookieFetcherImplTest,
-+                           GetResultFromNetErrorAndHttpStatusCode);
-+
-   void StartRefreshRequest();
-   void OnURLLoaderComplete(scoped_refptr<net::HttpResponseHeaders> headers);
-+  Result GetResultFromNetErrorAndHttpStatusCode(
-+      net::Error net_error,
-+      absl::optional<int> response_code);
- 
-   const raw_ptr<SigninClient> client_;
-   const scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
-diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl_unittest.cc b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl_unittest.cc
-index d018592022d55..36ae64f83e4ee 100644
---- a/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl_unittest.cc
-+++ b/chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl_unittest.cc
-@@ -19,8 +19,6 @@
- #include "services/network/test/test_utils.h"
- #include "testing/gtest/include/gtest/gtest.h"
- 
--namespace {
--
- class BoundSessionRefreshCookieFetcherImplTest : public ::testing::Test {
-  public:
-   BoundSessionRefreshCookieFetcherImplTest() {
-@@ -55,8 +53,7 @@ TEST_F(BoundSessionRefreshCookieFetcherImplTest, Success) {
-       pending_request->request.url.spec(), "");
-   EXPECT_TRUE(future.Wait());
-   BoundSessionRefreshCookieFetcher::Result result = future.Get();
--  EXPECT_EQ(result.net_error, net::OK);
--  EXPECT_EQ(result.response_code, net::HTTP_OK);
-+  EXPECT_EQ(result, BoundSessionRefreshCookieFetcher::Result::kSuccess);
- }
- 
- TEST_F(BoundSessionRefreshCookieFetcherImplTest, FailureNetError) {
-@@ -75,8 +72,7 @@ TEST_F(BoundSessionRefreshCookieFetcherImplTest, FailureNetError) {
- 
-   EXPECT_TRUE(future.Wait());
-   BoundSessionRefreshCookieFetcher::Result result = future.Get();
--  EXPECT_EQ(result.net_error, status.error_code);
--  EXPECT_FALSE(result.response_code.has_value());
-+  EXPECT_EQ(result, BoundSessionRefreshCookieFetcher::Result::kConnectionError);
- }
- 
- TEST_F(BoundSessionRefreshCookieFetcherImplTest, FailureHttpError) {
-@@ -93,8 +89,38 @@ TEST_F(BoundSessionRefreshCookieFetcherImplTest, FailureHttpError) {
- 
-   EXPECT_TRUE(future.Wait());
-   BoundSessionRefreshCookieFetcher::Result result = future.Get();
--  EXPECT_EQ(result.net_error, net::ERR_HTTP_RESPONSE_CODE_FAILURE);
--  EXPECT_EQ(result.response_code, net::HTTP_UNAUTHORIZED);
-+  EXPECT_EQ(result,
-+            BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-+}
-+
-+TEST_F(BoundSessionRefreshCookieFetcherImplTest,
-+       GetResultFromNetErrorAndHttpStatusCode) {
-+  // Connection error.
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::ERR_CONNECTION_TIMED_OUT, absl::nullopt),
-+            BoundSessionRefreshCookieFetcher::Result::kConnectionError);
-+  // net::OK.
-+  EXPECT_EQ(
-+      fetcher_->GetResultFromNetErrorAndHttpStatusCode(net::OK, net::HTTP_OK),
-+      BoundSessionRefreshCookieFetcher::Result::kSuccess);
-+  // net::ERR_HTTP_RESPONSE_CODE_FAILURE
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::ERR_HTTP_RESPONSE_CODE_FAILURE, net::HTTP_BAD_REQUEST),
-+            BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-+  // Persistent error.
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::OK, net::HTTP_BAD_REQUEST),
-+            BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::OK, net::HTTP_NOT_FOUND),
-+            BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-+  // Transient error.
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::OK, net::HTTP_INTERNAL_SERVER_ERROR),
-+            BoundSessionRefreshCookieFetcher::Result::kServerTransientError);
-+  EXPECT_EQ(fetcher_->GetResultFromNetErrorAndHttpStatusCode(
-+                net::OK, net::HTTP_GATEWAY_TIMEOUT),
-+            BoundSessionRefreshCookieFetcher::Result::kServerTransientError);
- }
- 
- TEST_F(BoundSessionRefreshCookieFetcherImplTest, NetworkDelayed) {
-@@ -114,5 +140,3 @@ TEST_F(BoundSessionRefreshCookieFetcherImplTest, NetworkDelayed) {
- 
-   EXPECT_TRUE(future.Wait());
- }
--
--}  // namespace
-diff --git a/chrome/browser/signin/bound_session_credentials/fake_bound_session_refresh_cookie_fetcher.cc b/chrome/browser/signin/bound_session_credentials/fake_bound_session_refresh_cookie_fetcher.cc
-index b4b1a07e687cb..fcfa9305d04e9 100644
---- a/chrome/browser/signin/bound_session_credentials/fake_bound_session_refresh_cookie_fetcher.cc
-+++ b/chrome/browser/signin/bound_session_credentials/fake_bound_session_refresh_cookie_fetcher.cc
-@@ -51,7 +51,8 @@ void FakeBoundSessionRefreshCookieFetcher::SimulateCompleteRefreshRequest(
-     // Synchronous since tests use `BoundSessionTestCookieManager`.
-     OnRefreshCookieCompleted(CreateFakeCookie(cookie_expiration.value()));
-   } else {
--    std::move(callback_).Run(Result(net::Error::OK, net::HTTP_FORBIDDEN));
-+    std::move(callback_).Run(
-+        BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-   }
- }
- 
-@@ -83,9 +84,11 @@ void FakeBoundSessionRefreshCookieFetcher::OnCookieSet(
-     net::CookieAccessResult access_result) {
-   bool success = access_result.status.IsInclude();
-   if (!success) {
--    std::move(callback_).Run(Result(net::Error::OK, net::HTTP_FORBIDDEN));
-+    std::move(callback_).Run(
-+        BoundSessionRefreshCookieFetcher::Result::kServerPersistentError);
-   } else {
--    std::move(callback_).Run(Result(net::Error::OK, net::HTTP_OK));
-+    std::move(callback_).Run(
-+        BoundSessionRefreshCookieFetcher::Result::kSuccess);
-   }
-   // |This| may be destroyed
- }

diff --git a/chromium-115-gcc13.patch b/chromium-115-gcc13.patch
deleted file mode 100644
index 195671e..0000000
--- a/chromium-115-gcc13.patch
+++ /dev/null
@@ -1,378 +0,0 @@
-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/components/viz/common/view_transition_element_resource_id.h.me chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h
---- chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h.me	2023-01-17 19:03:10.920014806 +0100
-+++ chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h	2023-01-17 19:03:48.736395274 +0100
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_VIZ_COMMON_VIEW_TRANSITION_ELEMENT_RESOURCE_ID_H_
- #define COMPONENTS_VIZ_COMMON_VIEW_TRANSITION_ELEMENT_RESOURCE_ID_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-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-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h
---- chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me	2023-01-17 18:02:44.681538107 +0100
-+++ chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/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-109.0.5414.74/base/cpu.h.me chromium-109.0.5414.74/base/cpu.h
---- chromium-109.0.5414.74/base/cpu.h.me	2023-01-19 21:31:02.905062987 +0100
-+++ chromium-109.0.5414.74/base/cpu.h	2023-01-19 21:31:32.298573267 +0100
-@@ -5,6 +5,7 @@
- #ifndef BASE_CPU_H_
- #define BASE_CPU_H_
- 
-+#include <cstdint>
- #include <string>
- 
- #include "base/base_export.h"
-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 --git a/chromium-115-missing-cmath.patch b/chromium-115-missing-cmath.patch
deleted file mode 100644
index 0c8bacd..0000000
--- a/chromium-115-missing-cmath.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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-115.0.5790.32/net/cert/pki/verify_name_match.h.me chromium-115.0.5790.32/net/cert/pki/verify_name_match.h
---- chromium-115.0.5790.32/net/cert/pki/verify_name_match.h.me	2023-06-18 14:23:13.847725775 +0200
-+++ chromium-115.0.5790.32/net/cert/pki/verify_name_match.h	2023-06-18 14:23:41.637221117 +0200
-@@ -6,6 +6,7 @@
- #define NET_CERT_PKI_VERIFY_NAME_MATCH_H_
- 
- #include <string>
-+#include <vector>
- 
- #include "net/base/net_export.h"
- 

diff --git a/chromium-115-revert-ifunc.patch b/chromium-115-revert-ifunc.patch
deleted file mode 100644
index 7de875a..0000000
--- a/chromium-115-revert-ifunc.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-commit b2c4ff8d5d8cdbf2487363a5b8d68b6485706069
-Author: Richard Townsend <Richard.Townsend@arm.com>
-Date:   Thu May 18 22:51:36 2023 +0000
-
-    Reland "Reland "mte: refactor the tagging functions to use ifuncs""
-    
-    This is a reland of commit 2321ea383c006149c3b496a515f54fb3aebdc34c
-    and a revert of commit adfb1c2c6ceb3daf210cef1e5688541ebc561e20. It
-    was reverted because of a problem with android-arm64 orderfile
-    generation, which is now resolved.
-    
-    Original change's description:
-    > Reland "mte: refactor the tagging functions to use ifuncs"
-    >
-    > This was reverted due to a toolchain problem affecting ThinLTO,
-    > resolved in [1]
-    >
-    > [1] https://reviews.llvm.org/D144982
-    >
-    > This reverts commit 6c22e41fc3ffd305359f17b2423c37c2c976acf3.
-    >
-    > Bug: 1137393
-    > Change-Id: I991e12618f98cdf8b89ec83cad06e30ad60d332e
-    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4473870
-    > Reviewed-by: Keishi Hattori <keishi@chromium.org>
-    > Commit-Queue: Richard Townsend <richard.townsend@arm.com>
-    > Cr-Commit-Position: refs/heads/main@{#1135862}
-    
-    Bug: 1137393, 1440531
-    Change-Id: I4cd1911a36cf55ee1c06e6ffda971866c93fa741
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4517702
-    Commit-Queue: Richard Townsend <richard.townsend@arm.com>
-    Reviewed-by: Keishi Hattori <keishi@chromium.org>
-    Cr-Commit-Position: refs/heads/main@{#1146244}
-
-diff --git a/base/allocator/partition_allocator/partition_root.cc b/base/allocator/partition_allocator/partition_root.cc
-index 486594e81f823..8ab37f6dec750 100644
---- a/base/allocator/partition_allocator/partition_root.cc
-+++ b/base/allocator/partition_allocator/partition_root.cc
-@@ -869,10 +869,6 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions opts) {
-       return;
-     }
- 
--    // Swaps out the active no-op tagging intrinsics with MTE-capable ones, if
--    // running on the right hardware.
--    ::partition_alloc::internal::InitializeMTESupportIfNeeded();
--
- #if BUILDFLAG(HAS_64_BIT_POINTERS)
-     // Reserve address space for partition alloc.
-     internal::PartitionAddressSpace::Init();
-diff --git a/base/allocator/partition_allocator/tagging.cc b/base/allocator/partition_allocator/tagging.cc
-index a8a74155de4e1..ea7ac2af82c88 100644
---- a/base/allocator/partition_allocator/tagging.cc
-+++ b/base/allocator/partition_allocator/tagging.cc
-@@ -12,7 +12,9 @@
- 
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
- #include <arm_acle.h>
-+#include <asm/hwcap.h>
- #include <sys/auxv.h>
-+#include <sys/ifunc.h>
- #include <sys/prctl.h>
- #define PR_SET_TAGGED_ADDR_CTRL 55
- #define PR_GET_TAGGED_ADDR_CTRL 56
-@@ -119,12 +121,6 @@ namespace {
-   return ret;
- }
- 
--#if PA_CONFIG(HAS_MEMORY_TAGGING)
--static bool HasCPUMemoryTaggingExtension() {
--  return base::CPU::GetInstanceNoAllocation().has_mte();
--}
--#endif  // PA_CONFIG(HAS_MEMORY_TAGGING)
--
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
- void* TagRegionRandomlyForMTE(void* ptr, size_t sz, uint64_t mask) {
-   // Randomly tag a region (MTE-enabled systems only). The first 16-byte
-@@ -166,7 +162,6 @@ void* RemaskVoidPtrForMTE(void* ptr) {
-   }
-   return nullptr;
- }
--#endif
- 
- void* TagRegionIncrementNoOp(void* ptr, size_t sz) {
-   // Region parameters are checked even on non-MTE systems to check the
-@@ -183,24 +178,49 @@ void* TagRegionRandomlyNoOp(void* ptr, size_t sz, uint64_t mask) {
- void* RemaskVoidPtrNoOp(void* ptr) {
-   return ptr;
- }
-+#endif
- 
- }  // namespace
- 
--void InitializeMTESupportIfNeeded() {
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
--  if (HasCPUMemoryTaggingExtension()) {
--    global_remask_void_ptr_fn = RemaskVoidPtrForMTE;
--    global_tag_memory_range_increment_fn = TagRegionIncrementForMTE;
--    global_tag_memory_range_randomly_fn = TagRegionRandomlyForMTE;
-+using RemaskPtrInternalFn = void*(void* ptr);
-+using TagMemoryRangeIncrementInternalFn = void*(void* ptr, size_t size);
-+
-+using TagMemoryRangeRandomlyInternalFn = void*(void* ptr,
-+                                               size_t size,
-+                                               uint64_t mask);
-+
-+extern "C" TagMemoryRangeIncrementInternalFn(
-+    *ResolveTagMemoryRangeIncrement(uint64_t hwcap, struct __ifunc_arg_t* hw)) {
-+  if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) {
-+    return TagRegionIncrementForMTE;
-   }
--#endif
-+  return TagRegionIncrementNoOp;
-+}
-+
-+extern "C" TagMemoryRangeRandomlyInternalFn(
-+    *ResolveTagMemoryRandomly(uint64_t hwcap, struct __ifunc_arg_t* hw)) {
-+  if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) {
-+    return TagRegionRandomlyForMTE;
-+  }
-+  return TagRegionRandomlyNoOp;
-+}
-+
-+extern "C" RemaskPtrInternalFn(
-+    *ResolveRemaskPointer(uint64_t hwcap, struct __ifunc_arg_t* hw)) {
-+  if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) {
-+    return RemaskVoidPtrForMTE;
-+  }
-+  return RemaskVoidPtrNoOp;
- }
- 
--RemaskPtrInternalFn* global_remask_void_ptr_fn = RemaskVoidPtrNoOp;
--TagMemoryRangeIncrementInternalFn* global_tag_memory_range_increment_fn =
--    TagRegionIncrementNoOp;
--TagMemoryRangeRandomlyInternalFn* global_tag_memory_range_randomly_fn =
--    TagRegionRandomlyNoOp;
-+void* TagMemoryRangeIncrementInternal(void* ptr, size_t size)
-+    __attribute__((ifunc("ResolveTagMemoryRangeIncrement")));
-+void* TagMemoryRangeRandomlyInternal(void* ptr, size_t size, uint64_t mask)
-+    __attribute__((ifunc("ResolveTagMemoryRandomly")));
-+void* RemaskPointerInternal(void* ptr)
-+    __attribute__((ifunc("ResolveRemaskPointer")));
-+#endif // PA_CONFIG(HAS_MEMORY_TAGGING)
- 
- TagViolationReportingMode GetMemoryTaggingModeForCurrentThread() {
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
-diff --git a/base/allocator/partition_allocator/tagging.h b/base/allocator/partition_allocator/tagging.h
-index af914452b1162..d49e062ce6319 100644
---- a/base/allocator/partition_allocator/tagging.h
-+++ b/base/allocator/partition_allocator/tagging.h
-@@ -55,32 +55,16 @@ void ChangeMemoryTaggingModeForAllThreadsPerProcess(TagViolationReportingMode);
- PA_COMPONENT_EXPORT(PARTITION_ALLOC)
- TagViolationReportingMode GetMemoryTaggingModeForCurrentThread();
- 
--// Called by the partition allocator after initial startup, this detects MTE
--// support in the current CPU and replaces the active tagging intrinsics with
--// MTE versions if needed.
--PA_COMPONENT_EXPORT(PARTITION_ALLOC) void InitializeMTESupportIfNeeded();
--
--// These global function pointers hold the implementations of the tagging
--// intrinsics (TagMemoryRangeRandomly, TagMemoryRangeIncrement, RemaskPtr).
--// They are designed to be callable without taking a branch. They are initially
--// set to no-op functions in tagging.cc, but can be replaced with MTE-capable
--// ones through InitializeMTEIfNeeded(). This is conceptually similar to an
--// IFUNC, even though less secure. These function pointers were introduced to
--// support older Android releases. With the removal of support for Android M,
--// it became possible to use IFUNC instead.
--// TODO(bartekn): void* -> uintptr_t
--using RemaskPtrInternalFn = void*(void* ptr);
--using TagMemoryRangeIncrementInternalFn = void*(void* ptr, size_t size);
--
--using TagMemoryRangeRandomlyInternalFn = void*(void* ptr,
--                                               size_t size,
--                                               uint64_t mask);
--extern PA_COMPONENT_EXPORT(PARTITION_ALLOC)
--    TagMemoryRangeRandomlyInternalFn* global_tag_memory_range_randomly_fn;
--extern PA_COMPONENT_EXPORT(PARTITION_ALLOC)
--    TagMemoryRangeIncrementInternalFn* global_tag_memory_range_increment_fn;
--extern PA_COMPONENT_EXPORT(PARTITION_ALLOC)
--    RemaskPtrInternalFn* global_remask_void_ptr_fn;
-+// These forward-defined functions do not really exist in tagging.cc, they're resolved
-+// by the dynamic linker to MTE-capable versions on the right hardware.
-+#if PA_CONFIG(HAS_MEMORY_TAGGING)
-+PA_COMPONENT_EXPORT(PARTITION_ALLOC)
-+void* TagMemoryRangeIncrementInternal(void* ptr, size_t size);
-+PA_COMPONENT_EXPORT(PARTITION_ALLOC)
-+void* TagMemoryRangeRandomlyInternal(void* ptr, size_t size, uint64_t mask);
-+PA_COMPONENT_EXPORT(PARTITION_ALLOC)
-+void* RemaskPointerInternal(void* ptr);
-+#endif
- 
- // Increments the tag of the memory range ptr. Useful for provable revocations
- // (e.g. free). Returns the pointer with the new tag. Ensures that the entire
-@@ -90,7 +74,7 @@ extern PA_COMPONENT_EXPORT(PARTITION_ALLOC)
- template <typename T>
- PA_ALWAYS_INLINE T* TagMemoryRangeIncrement(T* ptr, size_t size) {
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
--  return reinterpret_cast<T*>(global_tag_memory_range_increment_fn(ptr, size));
-+  return reinterpret_cast<T*>(TagMemoryRangeIncrementInternal(ptr, size));
- #else
-   return ptr;
- #endif
-@@ -108,8 +92,7 @@ PA_ALWAYS_INLINE T* TagMemoryRangeRandomly(T* ptr,
-                                            size_t size,
-                                            uint64_t mask = 0u) {
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
--  return reinterpret_cast<T*>(
--      global_tag_memory_range_randomly_fn(ptr, size, mask));
-+  return reinterpret_cast<T*>(TagMemoryRangeRandomlyInternal(ptr, size, mask));
- #else
-   return ptr;
- #endif
-@@ -124,7 +107,7 @@ PA_ALWAYS_INLINE void* TagMemoryRangeRandomly(uintptr_t ptr,
- template <typename T>
- PA_ALWAYS_INLINE T* TagPtr(T* ptr) {
- #if PA_CONFIG(HAS_MEMORY_TAGGING)
--  return reinterpret_cast<T*>(global_remask_void_ptr_fn(ptr));
-+  return reinterpret_cast<T*>(RemaskPointerInternal(ptr));
- #else
-   return ptr;
- #endif
-diff --git a/base/allocator/partition_allocator/tagging_unittest.cc b/base/allocator/partition_allocator/tagging_unittest.cc
-index f3b8532a8f1f4..47f62ac000b43 100644
---- a/base/allocator/partition_allocator/tagging_unittest.cc
-+++ b/base/allocator/partition_allocator/tagging_unittest.cc
-@@ -16,7 +16,6 @@ namespace partition_alloc::internal {
- 
- // Check whether we can call the tagging intrinsics safely on all architectures.
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlySafe) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-                  PageAccessibilityConfiguration(
-@@ -32,7 +31,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlySafe) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementSafe) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -54,7 +52,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementSafe) {
- #if defined(ARCH_CPU_64_BITS)
- // Size / alignment constraints are only enforced on 64-bit architectures.
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeBadSz) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -71,7 +68,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeBadSz) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlyNoSz) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -87,7 +83,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlyNoSz) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlyBadAlign) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -104,7 +99,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeRandomlyBadAlign) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementBadSz) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -120,7 +114,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementBadSz) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementNoSz) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),
-@@ -136,7 +129,6 @@ TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementNoSz) {
- }
- 
- TEST(PartitionAllocMemoryTaggingTest, TagMemoryRangeIncrementBadAlign) {
--  ::partition_alloc::internal::InitializeMTESupportIfNeeded();
-   base::CPU cpu;
-   uintptr_t buffer =
-       AllocPages(PageAllocationGranularity(), PageAllocationGranularity(),

diff --git a/chromium-115-system-brotli.patch b/chromium-115-system-brotli.patch
deleted file mode 100644
index c80c69e..0000000
--- a/chromium-115-system-brotli.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up chromium-115.0.5790.24/net/filter/brotli_source_stream.cc.system-brotli chromium-115.0.5790.24/net/filter/brotli_source_stream.cc
---- chromium-115.0.5790.24/net/filter/brotli_source_stream.cc.system-brotli	2023-06-07 21:48:38.000000000 +0200
-+++ chromium-115.0.5790.24/net/filter/brotli_source_stream.cc	2023-06-17 14:42:19.734299929 +0200
-@@ -10,7 +10,7 @@
- #include "base/memory/raw_ptr.h"
- #include "base/metrics/histogram_macros.h"
- #include "net/base/io_buffer.h"
--#include "third_party/brotli/include/brotli/decode.h"
-+#include <brotli/decode.h>
- 
- namespace net {
- 
-diff -up chromium-115.0.5790.24/net/ssl/cert_compression.cc.system-brotli chromium-115.0.5790.24/net/ssl/cert_compression.cc
---- chromium-115.0.5790.24/net/ssl/cert_compression.cc.system-brotli	2023-06-07 21:48:38.000000000 +0200
-+++ chromium-115.0.5790.24/net/ssl/cert_compression.cc	2023-06-17 14:42:19.734299929 +0200
-@@ -9,7 +9,7 @@
- #include "third_party/boringssl/src/include/openssl/ssl.h"
- 
- #if !defined(NET_DISABLE_BROTLI)
--#include "third_party/brotli/include/brotli/decode.h"
-+#include <brotli/decode.h>
- #endif
- 
- namespace net {
-diff -up chromium-115.0.5790.24/ui/base/resource/resource_bundle.cc.system-brotli chromium-115.0.5790.24/ui/base/resource/resource_bundle.cc
---- chromium-115.0.5790.24/ui/base/resource/resource_bundle.cc.system-brotli	2023-06-17 14:42:19.734299929 +0200
-+++ chromium-115.0.5790.24/ui/base/resource/resource_bundle.cc	2023-06-17 14:44:18.591002119 +0200
-@@ -32,7 +32,7 @@
- #include "net/filter/gzip_header.h"
- #include "skia/ext/image_operations.h"
- #include "third_party/abseil-cpp/absl/types/variant.h"
--#include "third_party/brotli/include/brotli/decode.h"
-+#include <brotli/decode.h>
- #include "third_party/skia/include/core/SkBitmap.h"
- #include "third_party/skia/include/core/SkColor.h"
- #include "third_party/zlib/google/compression_utils.h"

diff --git a/chromium-115-typename.patch b/chromium-115-typename.patch
deleted file mode 100644
index fc70420..0000000
--- a/chromium-115-typename.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -up chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc
---- chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.typename	2023-06-17 14:50:56.342591702 +0200
-+++ chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc	2023-06-17 14:57:48.024377375 +0200
-@@ -91,7 +91,7 @@ ItemSortKey GetSortKey(const Item& item)
- // Helper to get an iterator to the last element in the cache. The cache
- // must not be empty.
- template <typename Item>
--SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-+typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-   CHECK(!cache.empty());
-   auto it = cache.end();
-   return std::prev(it);
-@@ -967,9 +967,9 @@ bool DownloadBubbleUpdateService::CacheM
- }
- 
- template <typename Id, typename Item>
--SortedItems<Item>::iterator
-+typename SortedItems<Item>::iterator
- DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
--    SortedItems<Item>::iterator iter,
-+    typename SortedItems<Item>::iterator iter,
-     SortedItems<Item>& cache,
-     IterMap<Id, Item>& iter_map) {
-   CHECK(iter != cache.end());
-diff -up chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h
---- chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me	2023-06-18 21:52:53.515625237 +0200
-+++ chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h	2023-06-18 21:53:06.881881293 +0200
-@@ -189,7 +189,7 @@ class TFLiteModelExecutor : public Model
-   void SendForBatchExecution(
-       BatchExecutionCallback callback_on_complete,
-       base::TimeTicks start_time,
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-       override {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-diff -up chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me1 chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
---- chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me1	2023-06-19 10:03:32.319218678 +0200
-+++ chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc	2023-06-19 10:04:12.023942232 +0200
-@@ -169,7 +169,7 @@ class HTMLFastPathParser {
-   using Span = base::span<const Char>;
-   using USpan = base::span<const UChar>;
-   // 32 matches that used by HTMLToken::Attribute.
--  typedef std::conditional<std::is_same_v<Char, UChar>,
-+  typedef typename std::conditional<std::is_same_v<Char, UChar>,
-                            UCharLiteralBuffer<32>,
-                            LCharLiteralBuffer<32>>::type LiteralBufferType;
-   typedef UCharLiteralBuffer<32> UCharLiteralBufferType;

diff --git a/chromium-115-wayland-load_default_cursor_theme.patch b/chromium-115-wayland-load_default_cursor_theme.patch
deleted file mode 100644
index 6f47774..0000000
--- a/chromium-115-wayland-load_default_cursor_theme.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-commit 8f46ad499d8f8afd56bf5c82cbbcad67285ed8aa
-Author: Phan Quang Minh <phanquangminh217@gmail.com>
-Date:   Wed May 24 10:13:45 2023 +0000
-
-    ozone/wayland: Load default cursor theme if theme name is empty
-    
-    We might need to load the cursor theme even if `OnCursorThemeName` never
-    gets called (e.g. Qt theme backend). In this case we will need to load
-    the default theme by passing `NULL` to wl_cursor_theme_load.
-    
-    Change-Id: I0e1814178319734a4d0fe7574cdc8c7a1d1cf7a5
-    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4553659
-    Reviewed-by: Antonio Gomes <tonikitoo@igalia.com>
-    Reviewed-by: Maksim Sisov <msisov@igalia.com>
-    Commit-Queue: Maksim Sisov <msisov@igalia.com>
-    Cr-Commit-Position: refs/heads/main@{#1148441}
-
-diff --git a/ui/ozone/platform/wayland/host/wayland_cursor_factory.cc b/ui/ozone/platform/wayland/host/wayland_cursor_factory.cc
-index 9ab12b1994c68..11b162554abc8 100644
---- a/ui/ozone/platform/wayland/host/wayland_cursor_factory.cc
-+++ b/ui/ozone/platform/wayland/host/wayland_cursor_factory.cc
-@@ -230,7 +230,8 @@ void WaylandCursorFactory::MaybeLoadThemeCursors() {
-   base::ThreadPool::PostTaskAndReplyWithResult(
-       FROM_HERE,
-       {base::MayBlock(), base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
--      base::BindOnce(wl_cursor_theme_load, name_.c_str(), GetCacheKey(),
-+      base::BindOnce(wl_cursor_theme_load,
-+                     name_.empty() ? nullptr : name_.c_str(), GetCacheKey(),
-                      connection_->buffer_factory()->shm()),
-       base::BindOnce(&WaylandCursorFactory::OnThemeLoaded,
-                      weak_factory_.GetWeakPtr(), name_, size_));

diff --git a/chromium-116-arm64-memory_tagging.patch b/chromium-116-arm64-memory_tagging.patch
new file mode 100644
index 0000000..c69cda8
--- /dev/null
+++ b/chromium-116-arm64-memory_tagging.patch
@@ -0,0 +1,14 @@
+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-missing-header-files.patch b/chromium-116-missing-header-files.patch
new file mode 100644
index 0000000..1356e12
--- /dev/null
+++ b/chromium-116-missing-header-files.patch
@@ -0,0 +1,470 @@
+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-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h
+--- chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me	2023-01-17 18:02:44.681538107 +0100
++++ chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/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-116.0.5845.50/components/bookmarks/common/url_load_stats.h.me chromium-116.0.5845.50/components/bookmarks/common/url_load_stats.h
+--- chromium-116.0.5845.50/components/bookmarks/common/url_load_stats.h.me	2023-08-01 15:07:06.940881439 +0200
++++ chromium-116.0.5845.50/components/bookmarks/common/url_load_stats.h	2023-08-01 15:09:29.301537450 +0200
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_BOOKMARKS_COMMON_URL_LOAD_STATS_H_
+ #define COMPONENTS_BOOKMARKS_COMMON_URL_LOAD_STATS_H_
+ 
++#include <cstddef>
+ #include <cstdint>
+ #include <vector>
+ 
+diff -up chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h
+--- chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me	2023-07-30 19:44:54.718846606 +0200
++++ chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h	2023-07-30 19:45:14.829249467 +0200
+@@ -8,6 +8,7 @@
+ #include <array>
+ #include <memory>
+ #include <utility>
++#include <variant>
+ 
+ #include "base/dcheck_is_on.h"
+ #include "base/memory/ptr_util.h"
+diff -up chromium-116.0.5845.50/chrome/browser/ui/profile_view_utils.h.me chromium-116.0.5845.50/chrome/browser/ui/profile_view_utils.h
+--- chromium-116.0.5845.50/chrome/browser/ui/profile_view_utils.h.me	2023-07-31 13:40:18.171175385 +0200
++++ chromium-116.0.5845.50/chrome/browser/ui/profile_view_utils.h	2023-07-31 13:43:38.185244234 +0200
+@@ -7,6 +7,7 @@
+ 
+ #include <string>
+ #include <utility>
++#include <vector>
+ 
+ class Profile;
+ class ProfileAttributesEntry;
+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/pps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/pps_parser.h
+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/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+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 --git a/chromium-116-no_matching_constructor.patch b/chromium-116-no_matching_constructor.patch
new file mode 100644
index 0000000..4c238fb
--- /dev/null
+++ b/chromium-116-no_matching_constructor.patch
@@ -0,0 +1,364 @@
+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 --git a/chromium-116-system-brotli.patch b/chromium-116-system-brotli.patch
new file mode 100644
index 0000000..b62b128
--- /dev/null
+++ b/chromium-116-system-brotli.patch
@@ -0,0 +1,38 @@
+diff -up chromium-116.0.5845.50/net/filter/brotli_source_stream.cc.system-brotli chromium-116.0.5845.50/net/filter/brotli_source_stream.cc
+--- chromium-116.0.5845.50/net/filter/brotli_source_stream.cc.system-brotli	2023-07-30 13:06:06.284705823 +0200
++++ chromium-116.0.5845.50/net/filter/brotli_source_stream.cc	2023-07-30 13:08:43.398218141 +0200
+@@ -12,8 +12,8 @@
+ #include "base/memory/raw_ptr.h"
+ #include "base/metrics/histogram_macros.h"
+ #include "net/base/io_buffer.h"
+-#include "third_party/brotli/include/brotli/decode.h"
+-#include "third_party/brotli/include/brotli/shared_dictionary.h"
++#include <brotli/decode.h>
++#include <brotli/shared_dictionary.h>
+ 
+ namespace net {
+ 
+diff -up chromium-116.0.5845.50/net/ssl/cert_compression.cc.system-brotli chromium-116.0.5845.50/net/ssl/cert_compression.cc
+--- chromium-116.0.5845.50/net/ssl/cert_compression.cc.system-brotli	2023-07-26 17:43:01.000000000 +0200
++++ chromium-116.0.5845.50/net/ssl/cert_compression.cc	2023-07-30 13:06:06.284705823 +0200
+@@ -9,7 +9,7 @@
+ #include "third_party/boringssl/src/include/openssl/ssl.h"
+ 
+ #if !defined(NET_DISABLE_BROTLI)
+-#include "third_party/brotli/include/brotli/decode.h"
++#include <brotli/decode.h>
+ #endif
+ 
+ namespace net {
+diff -up chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc.system-brotli chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc
+--- chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc.system-brotli	2023-07-26 17:43:23.000000000 +0200
++++ chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc	2023-07-30 13:06:06.284705823 +0200
+@@ -32,7 +32,7 @@
+ #include "net/filter/gzip_header.h"
+ #include "skia/ext/image_operations.h"
+ #include "third_party/abseil-cpp/absl/types/variant.h"
+-#include "third_party/brotli/include/brotli/decode.h"
++#include <brotli/decode.h>
+ #include "third_party/skia/include/core/SkBitmap.h"
+ #include "third_party/skia/include/core/SkColor.h"
+ #include "third_party/zlib/google/compression_utils.h"

diff --git a/chromium-116-tweak_about_gpu.patch b/chromium-116-tweak_about_gpu.patch
new file mode 100644
index 0000000..64a48e9
--- /dev/null
+++ b/chromium-116-tweak_about_gpu.patch
@@ -0,0 +1,237 @@
+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-116-typename.patch b/chromium-116-typename.patch
new file mode 100644
index 0000000..c58126c
--- /dev/null
+++ b/chromium-116-typename.patch
@@ -0,0 +1,79 @@
+diff -up chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.me chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc
+--- chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc.me	2023-06-17 14:50:56.342591702 +0200
++++ chromium-115.0.5790.24/chrome/browser/download/bubble/download_bubble_update_service.cc	2023-06-17 14:57:48.024377375 +0200
+@@ -91,7 +91,7 @@ ItemSortKey GetSortKey(const Item& item)
+ // Helper to get an iterator to the last element in the cache. The cache
+ // must not be empty.
+ template <typename Item>
+-SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
++typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
+   CHECK(!cache.empty());
+   auto it = cache.end();
+   return std::prev(it);
+@@ -967,9 +967,9 @@ bool DownloadBubbleUpdateService::CacheM
+ }
+ 
+ template <typename Id, typename Item>
+-SortedItems<Item>::iterator
++typename SortedItems<Item>::iterator
+ DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
+-    SortedItems<Item>::iterator iter,
++    typename SortedItems<Item>::iterator iter,
+     SortedItems<Item>& cache,
+     IterMap<Id, Item>& iter_map) {
+   CHECK(iter != cache.end());
+diff -up chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h
+--- chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me	2023-06-18 21:52:53.515625237 +0200
++++ chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h	2023-06-18 21:53:06.881881293 +0200
+@@ -189,7 +189,7 @@ class TFLiteModelExecutor : public Model
+   void SendForBatchExecution(
+       BatchExecutionCallback callback_on_complete,
+       base::TimeTicks start_time,
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+       override {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+diff -up chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
+--- chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me	2023-06-19 10:03:32.319218678 +0200
++++ chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc	2023-06-19 10:04:12.023942232 +0200
+@@ -169,7 +169,7 @@ class HTMLFastPathParser {
+   using Span = base::span<const Char>;
+   using USpan = base::span<const UChar>;
+   // 32 matches that used by HTMLToken::Attribute.
+-  typedef std::conditional<std::is_same_v<Char, UChar>,
++  typedef typename std::conditional<std::is_same_v<Char, UChar>,
+                            UCharLiteralBuffer<32>,
+                            LCharLiteralBuffer<32>>::type LiteralBufferType;
+   typedef UCharLiteralBuffer<32> UCharLiteralBufferType;
+diff -up chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h.me chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h
+--- chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h.me	2023-08-02 16:18:30.380108125 +0200
++++ chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h	2023-08-02 16:20:59.660024578 +0200
+@@ -127,10 +127,10 @@ class CONTENT_EXPORT WebUIBrowserInterfa
+   //
+   // TODO(crbug.com/1407936): Point to WebUIJsBridge documentation.
+   template <typename ControllerType>
+-  JsBridgeTraits<ControllerType>::BinderInitializer& ForWebUIWithJsBridge() {
++  typename JsBridgeTraits<ControllerType>::BinderInitializer& ForWebUIWithJsBridge() {
+     using Traits = JsBridgeTraits<ControllerType>;
+-    using Interface = Traits::Interface;
+-    using JsBridgeBinderInitializer = Traits::BinderInitializer;
++    using Interface = typename Traits::Interface;
++    using JsBridgeBinderInitializer = typename Traits::BinderInitializer;
+ 
+     // WebUIController::GetType() requires an instantiated WebUIController
+     // (because it's a virtual method and can't be static). Here we only have
+diff -up chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h
+--- chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me	2023-08-02 20:41:23.984729462 +0200
++++ chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h	2023-08-02 20:41:53.737583093 +0200
+@@ -270,8 +270,8 @@ class CORE_EXPORT ObjectPaintPropertiesS
+       NodeList& nodes,
+       NodeId node_id,
+       const ParentType& parent,
+-      NodeType::State&& state,
+-      const NodeType::AnimationState& animation_state =
++      typename NodeType::State&& state,
++      const typename NodeType::AnimationState& animation_state =
+           NodeType::AnimationState()) {
+     // First, check if we need to add a new node.
+     if (!nodes.HasField(node_id)) {

diff --git a/chromium-96.0.4664.45-missing-cstdint-header.patch b/chromium-96.0.4664.45-missing-cstdint-header.patch
deleted file mode 100644
index fe4e5dd..0000000
--- a/chromium-96.0.4664.45-missing-cstdint-header.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -up chromium-96.0.4664.45/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/pps_parser.h
-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 --git a/chromium-96.0.4664.45-missing-cstring.patch b/chromium-96.0.4664.45-missing-cstring.patch
deleted file mode 100644
index 5a5fa2f..0000000
--- a/chromium-96.0.4664.45-missing-cstring.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-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/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
-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 --git a/chromium-99.0.4844.51-el7-extra-operator.patch b/chromium-99.0.4844.51-el7-extra-operator.patch
new file mode 100644
index 0000000..34c89d0
--- /dev/null
+++ b/chromium-99.0.4844.51-el7-extra-operator.patch
@@ -0,0 +1,26 @@
+diff -up chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h
+--- chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal	2022-03-05 18:37:25.979241754 -0500
++++ chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h	2022-03-05 18:37:25.979241754 -0500
+@@ -39,6 +39,11 @@ class MetadataAllocator {
+   }
+ 
+   template <typename U>
++  bool operator==(const MetadataAllocator<U>&) const {
++    return true;
++  }
++
++  template <typename U>
+   bool operator!=(const MetadataAllocator<U>& o) {
+     return !operator==(o);
+   }
+diff -up chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h
+--- chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal	2022-03-06 19:14:20.892513442 -0500
++++ chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h	2022-03-06 19:15:40.412060574 -0500
+@@ -70,6 +70,7 @@ struct FxPartitionAllocAllocator {
+   }
+ 
+   // There's no state, so they are all the same,
++  bool operator==(const FxPartitionAllocAllocator&) const { return true; }
+   bool operator==(const FxPartitionAllocAllocator& that) { return true; }
+   bool operator!=(const FxPartitionAllocAllocator& that) { return false; }
+ };

diff --git a/chromium-99.0.4844.51-el7-extra-operator==.patch b/chromium-99.0.4844.51-el7-extra-operator==.patch
deleted file mode 100644
index 34c89d0..0000000
--- a/chromium-99.0.4844.51-el7-extra-operator==.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h
---- chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal	2022-03-05 18:37:25.979241754 -0500
-+++ chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h	2022-03-05 18:37:25.979241754 -0500
-@@ -39,6 +39,11 @@ class MetadataAllocator {
-   }
- 
-   template <typename U>
-+  bool operator==(const MetadataAllocator<U>&) const {
-+    return true;
-+  }
-+
-+  template <typename U>
-   bool operator!=(const MetadataAllocator<U>& o) {
-     return !operator==(o);
-   }
-diff -up chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h
---- chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal	2022-03-06 19:14:20.892513442 -0500
-+++ chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h	2022-03-06 19:15:40.412060574 -0500
-@@ -70,6 +70,7 @@ struct FxPartitionAllocAllocator {
-   }
- 
-   // There's no state, so they are all the same,
-+  bool operator==(const FxPartitionAllocAllocator&) const { return true; }
-   bool operator==(const FxPartitionAllocAllocator& that) { return true; }
-   bool operator!=(const FxPartitionAllocAllocator& that) { return false; }
- };

diff --git a/chromium.spec b/chromium.spec
index efecb11..264c39e 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -129,8 +129,9 @@
 %global toolchain gcc
 %endif
 
-# enable system brotli
-%global bundlebrotli 0
+# enable|disable system brotli
+# disable system brotli due to old system brotli
+%global bundlebrotli 1
 
 # Chromium's fork of ICU is now something we can't unbundle.
 # This is left here to ease the change if that ever switches.
@@ -234,8 +235,8 @@
 %endif
 
 Name:	chromium%{chromium_channel}
-Version: 115.0.5790.170
-Release: 2%{?dist}
+Version: 116.0.5845.96
+Release: 1%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
 License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
@@ -270,15 +271,6 @@ Patch20: chromium-disable-font-tests.patch
 # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch
 Patch52: chromium-81.0.4044.92-unbundle-zlib.patch
 
-# missing limits.h, error: no member named 'numeric_limits' in namespace 'std'
-Patch53: chromium-110-limits.patch
-
-# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
-Patch56: chromium-96.0.4664.45-missing-cstdint-header.patch
-
-# Missing <cstring> (thanks c++17)
-Patch57: chromium-96.0.4664.45-missing-cstring.patch
-
 # Fix headers to look for system paths when we are using system minizip
 Patch61: chromium-109-system-minizip-header-fix.patch
 
@@ -296,7 +288,7 @@ Patch70: chromium-105.0.5195.52-python-six-1.16.0.patch
 Patch82: chromium-98.0.4758.102-remoting-no-tests.patch
 
 # patch for using system brotli
-Patch89: chromium-115-system-brotli.patch
+Patch89: chromium-116-system-brotli.patch
 
 # disable GlobalMediaControlsCastStartStop to avoid crash
 # when using the address bar media player button
@@ -328,7 +320,7 @@ Patch105: chromium-85.0.4183.83-el7-old-libdrm.patch
 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
+Patch107: chromium-99.0.4844.51-el7-extra-operator.patch
 # workaround for clang bug on el7
 Patch109: chromium-114-wireless-el7.patch
 Patch110: chromium-115-buildflag-el7.patch
@@ -341,37 +333,29 @@ Patch116: chromium-112-ffmpeg-first_dts.patch
 # revert new-channel-layout-api on f36, old ffmpeg-free
 Patch117: chromium-108-ffmpeg-revert-new-channel-layout-api.patch
 
-# gcc13
-Patch122: chromium-115-gcc13.patch
-
 # revert AV1 VA-API video encode due to old libva on el9
 Patch130: chromium-114-revert-av1enc-el9.patch
 
-# Apply these patches to work around EPEL8 issues
-Patch300: chromium-113-rhel8-force-disable-use_gnome_keyring.patch
-
 # compiler build errors
+Patch300: chromium-116-no_matching_constructor.patch
 Patch301: chromium-115-compiler-SkColor4f.patch
 
 # workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
 Patch302: chromium-115-workaround_clang_bug-structured_binding.patch
 
 # missing typename
-Patch303: chromium-115-typename.patch
-
-# missing cmath
-Patch304: chromium-115-missing-cmath.patch
+Patch303: chromium-116-typename.patch
 
-# add BoundSessionRefreshCookieFetcher::Result
-Patch305: chromium-115-add_BoundSessionRefreshCookieFetcher::Result.patch
+# missing include header files
+Patch304: chromium-116-missing-header-files.patch
 
 # compiler error with c++20
 Patch306: chromium-115-emplace_back_on_vector-c++20.patch
 
-# revert for epel8 on aarch64 due to new feature IFUNC-Resolver not supported
+# disable memory tagging for 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
-Patch307: chromium-115-revert-ifunc.patch
+Patch307: chromium-116-arm64-memory_tagging.patch
 
 # upstream, do not restrict new V4L2 decoders to ARM or ChromeOS 
 # error: use of undeclared identifier 'kV4L2FlatStatefulVideoDecoder'
@@ -382,25 +366,17 @@ Patch308: chromium-115-do_not_restrict_new_V4L2_decoders.v4l2.pach
 # error: no member named 'Contains' in namespace 'base'
 Patch309: chromium-115-include_contains_h_header_for_V4L2StatefulVideoDecoder.patch
 
-# Load default cursor theme if theme name is empty
-Patch310: chromium-115-wayland-load_default_cursor_theme.patch
-
 # clang warnings
 Patch311: chromium-115-clang-warnings.patch
 
 # imp module is removed in python-3.12
 Patch312: chromium-115-python-3.12-deprecated.patch
 
-# Qt issue
-Patch321: chromium-114-qt-handle_scale_factor_changes.patch
-Patch322: chromium-114-qt-fix_font_double_scaling.patch
-Patch323: chromium-114-qt_deps.patch
-Patch324: chromium-114-qt_enable_AllowQt_feature_flag.patch
-Patch325: chromium-114-qt_logical_scale_factor.patch
-
-# theme
-# upstream, Set toolkit dark preference based on FDO dark preference
+# upstream patches
+# Set toolkit dark preference based on FDO dark preference
 Patch350: chromium-115-linux_ui_darkmode.patch
+# Tweak about:gpu, Add dark mode support
+Patch351: chromium-116-tweak_about_gpu.patch
 
 # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
 # http://build.chromium.org/buildbot/official/
@@ -621,13 +597,7 @@ BuildRequires:	opus-devel
 
 BuildRequires:	perl(Switch)
 BuildRequires: %{chromium_pybin}
-
-%if %{gtk3}
 BuildRequires:	pkgconfig(gtk+-3.0)
-%else
-BuildRequires:	pkgconfig(gtk+-2.0)
-%endif
-
 BuildRequires:	python3-devel
 BuildRequires: python3-zipp
 BuildRequires: python3-simplejson
@@ -930,10 +900,6 @@ udev.
 %patch -P52 -p1 -b .unbundle-zlib
 %endif
 
-%patch -P53 -p1 -b .limits-header
-%patch -P56 -p1 -b .missing-cstdint
-%patch -P57 -p1 -b .missing-cstring
-
 %if ! %{bundleminizip}
 %patch -P61 -p1 -b .system-minizip
 %endif
@@ -980,16 +946,11 @@ udev.
 %patch -P110 -p1 -b .buildflag-el7
 %endif
 
-%patch -P122 -p1 -b .gcc13
-
 %if 0%{?rhel} == 9
 %patch -P130 -p1 -b .revert-av1enc
 %endif
 
-%if 0%{?rhel} >= 8
-%patch -P300 -p1 -b .disblegnomekeyring
-%endif
-
+%patch -P300 -p1 -b .no_matching_constructor
 %if %{clang}
 %if 0%{?rhel} || 0%{?fedora} < 38
 %patch -P301 -p1 -b .workaround_clang-SkColor4f
@@ -998,27 +959,22 @@ udev.
 %endif
 
 %patch -P303 -p1 -b .typename
-%patch -P304 -p1 -b .cmath
-%patch -P305 -p1 -b .add_BoundSessionRefreshCookieFetcher::Result
+%patch -P304 -p1 -b .missing-header-files
 %patch -P306 -p1 -b .emplace_back_on_vector-c++20
+
 %ifarch aarch64
-%if 0%{?rhel} == 8
-%patch -P307 -p1 -R -b .ifunc
+%if 0%{?rhel} <= 8
+%patch -P307 -p1 -b .memory_tagging
 %endif
 %endif
+
 %patch -P308 -p1 -b .do_not_restrict_new_V4L2_decoders.v4l2
 %patch -P309 -p1 -b .include_contains_h_header_for_V4L2StatefulVideoDecoder
-%patch -P310 -p1 -b .wayland_load_default_cursor_theme
 %patch -P311 -p1 -b .clang-warnings
 %patch -P312 -p1 -b .python-3.12-deprecated
 
-%patch -P321 -p1 -b .handle_scale_factor_changes
-%patch -P322 -p1 -b .fix_font_double_scaling
-%patch -P323 -p1 -b .qt_deps
-%patch -P324 -p1 -b .qt_enable_AllowQt_feature_flag
-%patch -P325 -p1 -b .qt_logical_scale_factor
-
 %patch -P350 -p1 -b .linux_ui_darkmode
+%patch -P351 -p1 -b .tweak_about_gpu
 
 # Change shebang in all relevant files in this directory and all subdirectories
 # See `man find` for how the `-exec command {} +` syntax works
@@ -1700,6 +1656,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
 %{chromium_path}/chromedriver
 
 %changelog
+* Tue Aug 15 2023 Than Ngo <than@redhat.com> - 116.0.5845.96-1
+-  update to 116.0.5845.96 
+
 * Wed Aug 09 2023 Than Ngo <than@redhat.com> - 115.0.5790.170-2
 - set use_all_cpus=1 for aarch64
 

                 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=178611872112.1.1884886447045914971.rpms-chromium-5175b086e886@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