* [PR PATCH] chromium: update to 119.0.6045.105.
@ 2023-11-04 15:08 Duncaen
2023-11-05 14:04 ` [PR PATCH] [Updated] " Duncaen
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Duncaen @ 2023-11-04 15:08 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is a new pull request by Duncaen against master on the void-packages repository
https://github.com/Duncaen/void-packages chromium-119
https://github.com/void-linux/void-packages/pull/47058
chromium: update to 119.0.6045.105.
[ci skip]
* [ ] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686
A patch file from https://github.com/void-linux/void-packages/pull/47058.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-119-47058.patch --]
[-- Type: text/x-diff, Size: 75166 bytes --]
From 8f923564d21f8c36c40511216497dd607870f237 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sat, 4 Nov 2023 16:02:39 +0100
Subject: [PATCH] chromium: update to 119.0.6045.105.
---
.../chromium-118-use_system_freetype.patch | 91 ---
.../patches/chromium-119-assert.patch | 12 +
.../patches/chromium-119-constexpr.patch | 12 +
....4.patch => chromium-119-ffmpeg-4.4.patch} | 14 +-
...tVideoDecoder-flag-on-VA-API-devices.patch | 195 ++++++
| 12 -
...hromium-119-no_matching_constructor.patch} | 608 +++++++++++-------
...-119-nullptr_t-without-namespace-std.patch | 21 +
...a-use-separate-bo-to-verify-modifier.patch | 164 +++++
srcpkgs/chromium/template | 4 +-
10 files changed, 784 insertions(+), 349 deletions(-)
delete mode 100644 srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-assert.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-constexpr.patch
rename srcpkgs/chromium/patches/{chromium-118-ffmpeg-4.4.patch => chromium-119-ffmpeg-4.4.patch} (53%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
rename srcpkgs/chromium/patches/{chromium-118-missing-header-files.patch => chromium-119-missing-header-files.patch} (97%)
rename srcpkgs/chromium/patches/{chromium-118-no_matching_constructor.patch => chromium-119-no_matching_constructor.patch} (56%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
diff --git a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch b/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
deleted file mode 100644
index ce9fbdebe2fb7..0000000000000
--- a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-commit ed354d00aeda84693611b14baa56a287557a26b5
-Author: Munira Tursunova <moonira@google.com>
-Date: Tue Sep 12 11:54:48 2023 +0000
-
- Add check for use_system_freetype when importing private freetype header
-
- In [0] the include of private freetype header was added, which caused
- build breakage when use_system_freetype=true, see [1].
-
- This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
-
- [0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
- [1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
-
- Bug: 1429581
- Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
- Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
- Commit-Queue: Munira Tursunova <moonira@google.com>
- Reviewed-by: Dominik Röttsches <drott@chromium.org>
- Reviewed-by: Rick Byers <rbyers@chromium.org>
- Cr-Commit-Position: refs/heads/main@{#1195323}
-
-diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
-index 7b086f95413ff..4ce797ebad722 100644
---- a/third_party/BUILD.gn
-+++ b/third_party/BUILD.gn
-@@ -2,6 +2,7 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
-+import("//build/buildflag_header.gni")
- import("//build/config/features.gni")
- import("//build/config/freetype/freetype.gni")
- import("//third_party/harfbuzz-ng/harfbuzz.gni")
-@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
- public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
- }
- }
-+
-+buildflag_header("freetype_buildflags") {
-+ header = "freetype_buildflags.h"
-+ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
-+}
-diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
-index 591d2f939605b..f6a2cd2168d1e 100644
---- a/third_party/blink/renderer/platform/BUILD.gn
-+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1717,6 +1717,7 @@ component("platform") {
- "//services/viz/public/cpp/gpu",
- "//skia",
- "//skia:skcms",
-+ "//third_party:freetype_buildflags",
- "//third_party:freetype_harfbuzz",
- "//third_party/abseil-cpp:absl",
- "//third_party/blink/public:image_resources",
-diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-index abe06f35c14a5..b2bfd88f0d85d 100644
---- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-+++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-@@ -48,7 +48,7 @@
- #include "third_party/blink/renderer/platform/wtf/math_extras.h"
- #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
- #include "third_party/blink/renderer/platform/wtf/text/unicode.h"
--#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#include "third_party/freetype_buildflags.h"
- #include "third_party/skia/include/core/SkFontMetrics.h"
- #include "third_party/skia/include/core/SkPath.h"
- #include "third_party/skia/include/core/SkTypeface.h"
-@@ -57,12 +57,22 @@
- #include "ui/gfx/geometry/skia_conversions.h"
- #include "v8/include/v8.h"
-
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
-+#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#endif
-+
- namespace blink {
-
- constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
- constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
-+
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
- constexpr int32_t kFontObjectsMemoryConsumption =
- std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
-+#else
-+// sizeof(AF_LatinMetricsRec) = 2128
-+constexpr int32_t kFontObjectsMemoryConsumption = 2128;
-+#endif
-
- SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
- scoped_refptr<CustomFontData> custom_data,
diff --git a/srcpkgs/chromium/patches/chromium-119-assert.patch b/srcpkgs/chromium/patches/chromium-119-assert.patch
new file mode 100644
index 0000000000000..6c502f13a5955
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-assert.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h
+--- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100
++++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100
+@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
+ class SmallVector {
+ // Currently only support trivially copyable and trivially destructible data
+ // types, as it uses memcpy to copy elements and never calls destructors.
+- ASSERT_TRIVIALLY_COPYABLE(T);
++ //ASSERT_TRIVIALLY_COPYABLE(T);
+ static_assert(std::is_trivially_destructible<T>::value);
+
+ public:
diff --git a/srcpkgs/chromium/patches/chromium-119-constexpr.patch b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
new file mode 100644
index 0000000000000..b195ff408ba81
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h
+--- chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me 2023-10-31 21:05:05.548565241 +0100
++++ chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h 2023-10-31 21:20:53.945532094 +0100
+@@ -93,7 +93,7 @@ class MiracleParameter {
+ template <>
+ class MiracleParameter<std::string> : public MiracleParameterBase<std::string> {
+ public:
+- constexpr MiracleParameter(const base::Feature* feature,
++ MiracleParameter(const base::Feature* feature,
+ const char* param_name,
+ std::string default_value)
+ : MiracleParameterBase(feature, param_name, std::move(default_value)) {}
diff --git a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
similarity index 53%
rename from srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
rename to srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
index 556c734d4e02e..04d04b166ba37 100644
--- a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
+++ b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
@@ -1,17 +1,15 @@
-diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
-index ac4713b07268..492a9a37d096 100644
---- a/media/filters/ffmpeg_demuxer.cc
+--- a/media/filters/ffmpeg_demuxer.cc.orig
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
- buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
- side_data.data(), side_data.size());
- } else {
+@@ -390,7 +390,7 @@
+
+ scoped_refptr<DecoderBuffer> buffer;
+
- size_t side_data_size = 0;
+ int side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
-@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+@@ -453,7 +453,7 @@
packet->size - data_offset);
}
diff --git a/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
new file mode 100644
index 0000000000000..88d675e8047f0
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
@@ -0,0 +1,195 @@
+commit 87fca7f1759e800bd72b5ab6511eea17d6400a76
+Author: Pilar Molina Lopez <pmolinalopez@chromium.org>
+Date: Tue Oct 24 19:57:55 2023 +0000
+
+ video: hide UseChromeOSDirectVideoDecoder flag on VA-API devices
+
+ We are seeing crashes causes by this CHECK statement:
+ https://source.chromium.org/chromium/chromium/src/+/main:content/public/browser/gpu_utils.cc;l=151;drc=0e777ba9b6c34611705d5b145c92bcd09539011c
+ It's triggered when the user manually disables the UseChromeOSDirectVideoDecoder
+ flag on VA-API devices (Intel and AMD). This flag is supported only on
+ non-Intel and non-AMD devices. This CL adds this information to the flag
+ description and hides the flag in case VA-API is used.
+
+ Bug: 1469285
+ Test: manual test on volteer
+ Change-Id: I153b9ccb3815498c91ce5eee966834060749e247
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4960919
+ Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+ Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
+ Reviewed-by: Avi Drissman <avi@chromium.org>
+ Commit-Queue: Pilar Molina Lopez <pmolinalopez@chromium.org>
+ Cr-Commit-Position: refs/heads/main@{#1214411}
+
+diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
+index ee9fb206cde36..0fe18013ab044 100644
+--- a/chrome/browser/DEPS
++++ b/chrome/browser/DEPS
+@@ -418,6 +418,7 @@ include_rules = [
+ "+media/base", # For media switches
+ "+media/capabilities", # For InMemoryVideoDecodeStatsDB
+ "+media/cdm",
++ "+media/gpu/buildflags.h",
+ "+media/remoting/device_capability_checker.h",
+ "+media/capture",
+ "+media/midi", # For midi switches
+diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+index 84709afaa34d0..777bebeb33d9e 100644
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -7578,11 +7578,13 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ {"chromeos-direct-video-decoder",
+ flag_descriptions::kChromeOSDirectVideoDecoderName,
+ flag_descriptions::kChromeOSDirectVideoDecoderDescription,
+ kOsCrOS | kOsLacros,
+ FEATURE_VALUE_TYPE(media::kUseChromeOSDirectVideoDecoder)},
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ {"enable-vbr-encode-acceleration",
+ flag_descriptions::kChromeOSHWVBREncodingName,
+diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
+index 318a8be9ab1a6..d2497d0c403f3 100644
+--- a/chrome/browser/flag_descriptions.cc
++++ b/chrome/browser/flag_descriptions.cc
+@@ -7,6 +7,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "components/supervised_user/core/common/buildflags.h"
++#include "media/gpu/buildflags.h"
+ #include "pdf/buildflags.h"
+
+ // Keep in identical order as the header file, see the comment at the top
+@@ -7338,6 +7339,7 @@ const char kQuickOfficeForceFileDownloadDescription[] =
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSDirectVideoDecoderName[] = "ChromeOS Direct Video Decoder";
+ const char kChromeOSDirectVideoDecoderDescription[] =
+ "Enables the hardware-accelerated ChromeOS direct media::VideoDecoder "
+@@ -7345,7 +7347,8 @@ const char kChromeOSDirectVideoDecoderDescription[] =
+ "--platform-disallows-chromeos-direct-video-decoder command line switch "
+ "which is added for platforms where said direct VideoDecoder does not work "
+ "or is not well tested (see the disable_cros_video_decoder USE flag in "
+- "ChromeOS)";
++ "ChromeOS). This flag is supported only on non-Intel and non-AMD devices.";
++#endif // !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSHWVBREncodingName[] =
+ "ChromeOS Hardware Variable Bitrate Encoding";
+ const char kChromeOSHWVBREncodingDescription[] =
+diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc
+index dceeca9659a85..3d091359777cc 100644
+--- a/content/public/browser/gpu_utils.cc
++++ b/content/public/browser/gpu_utils.cc
+@@ -133,20 +133,26 @@ const gpu::GpuPreferences GetGpuPreferencesFromCommandLine() {
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ // The direct VideoDecoder is disallowed on some particular SoC/platforms.
+ const bool should_use_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ true;
++#else
+ !command_line->HasSwitch(
+ switches::kPlatformDisallowsChromeOSDirectVideoDecoder) &&
+ base::FeatureList::IsEnabled(media::kUseChromeOSDirectVideoDecoder);
++#endif // BUILDFLAG(USE_VAAPI)
++
++ gpu_preferences.enable_chromeos_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ should_use_direct_video_decoder;
++#else
++ // For testing purposes, the following flag allows using the "other" video
++ // decoder implementation.
++ base::FeatureList::IsEnabled(
++ media::kUseAlternateVideoDecoderImplementation)
++ ? !should_use_direct_video_decoder
++ : should_use_direct_video_decoder;
++#endif // BUILDFLAG(USE_VAAPI)
+
+- // For testing purposes, the following flag allows using the "other" video
+- // decoder implementation.
+- if (base::FeatureList::IsEnabled(
+- media::kUseAlternateVideoDecoderImplementation)) {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- !should_use_direct_video_decoder;
+- } else {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- should_use_direct_video_decoder;
+- }
+ #if BUILDFLAG(USE_VAAPI)
+ CHECK(gpu_preferences.enable_chromeos_direct_video_decoder);
+ #endif // BUILDFLAG(USE_VAAPI)
+diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
+index 1af4de46e2a02..3086b1bec2134 100644
+--- a/media/base/media_switches.cc
++++ b/media/base/media_switches.cc
+@@ -1192,6 +1192,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ "ChromeOSHWVBREncoding",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
++#if !BUILDFLAG(USE_VAAPI)
+ // Enable the hardware-accelerated direct video decoder instead of the one
+ // needing the VdaVideoDecoder adapter. This flag is used mainly as a
+ // chrome:flag for developers debugging issues as well as to be able to
+@@ -1200,6 +1201,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ BASE_FEATURE(kUseChromeOSDirectVideoDecoder,
+ "UseChromeOSDirectVideoDecoder",
+ base::FEATURE_ENABLED_BY_DEFAULT);
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ // Limit the number of concurrent hardware decoder instances on ChromeOS.
+ BASE_FEATURE(kLimitConcurrentDecoderInstances,
+@@ -1228,7 +1230,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ "PreferSoftwareMT21",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ // ChromeOS has one of two VideoDecoder implementations active based on
+ // SoC/board specific configurations that are sent via command line flags. This
+ // switch allows using the non default implementation for testing.
+@@ -1236,7 +1238,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ BASE_FEATURE(kUseAlternateVideoDecoderImplementation,
+ "UseAlternateVideoDecoderImplementation",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
+diff --git a/media/base/media_switches.h b/media/base/media_switches.h
+index 1d9c2c2d9df73..96d9595be110e 100644
+--- a/media/base/media_switches.h
++++ b/media/base/media_switches.h
+@@ -14,6 +14,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "media/base/media_export.h"
++#include "media/gpu/buildflags.h"
+ #include "media/media_buildflags.h"
+
+ namespace base {
+@@ -381,16 +382,18 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBuiltInHlsPlayer);
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWAV1Decoder);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWVBREncoding);
++#if !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseChromeOSDirectVideoDecoder);
++#endif // !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kLimitConcurrentDecoderInstances);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUSeSequencedTaskRunnerForVEA);
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferGLImageProcessor);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferSoftwareMT21);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAlternateVideoDecoderImplementation);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
diff --git a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
similarity index 97%
rename from srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
rename to srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
index ea415df32835b..a2542ef420eaf 100644
--- a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
+++ b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
@@ -468,15 +468,3 @@ diff -up chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor
#include <type_traits>
namespace device {
-diff -up chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h
---- chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me 2023-10-02 13:38:31.217806428 +0200
-+++ chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h 2023-10-02 13:39:05.006427168 +0200
-@@ -5,6 +5,8 @@
- #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
- #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
-
-+#include <atomic>
-+
- #include "base/gtest_prod_util.h"
- #include "components/gwp_asan/client/export.h"
- #include "components/gwp_asan/common/lightweight_detector_state.h"
diff --git a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
similarity index 56%
rename from srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
rename to srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
index 3d7748c3d5a26..a16c979c37f1c 100644
--- a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
+++ b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
@@ -1,19 +1,112 @@
-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(
+diff -up chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor chromium-119.0.6045.59/base/trace_event/trace_log.cc
+--- chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor 2023-10-26 18:16:51.000000000 +0200
++++ chromium-119.0.6045.59/base/trace_event/trace_log.cc 2023-10-30 16:51:02.270151487 +0100
+@@ -2191,8 +2191,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+ AutoLock lock(track_event_lock_);
+- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+- args.backend_type);
++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++ args.backend_type};
+ }
- 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_));
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc 2023-10-30 16:51:02.269151462 +0100
+@@ -226,8 +226,8 @@ void OneTimePermissionProvider::OnSuspen
- 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
+ while (rule_iterator && rule_iterator->HasNext()) {
+ auto rule = rule_iterator->Next();
+- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+- rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++ rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ setting_type,
+ permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -329,8 +329,8 @@ void OneTimePermissionProvider::DeleteEn
+ auto rule = rule_iterator->Next();
+ if (rule->primary_pattern.Matches(origin_gurl) &&
+ rule->secondary_pattern.Matches(origin_gurl)) {
+- patterns_to_delete.emplace_back(
+- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {
++ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ content_setting_type, trigger_event);
+ }
+diff -up chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-10-30 16:51:02.267151412 +0100
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+ // TODO(crbug.com/1445072): Add actual domains with attribute names.
+ profile_attributes->insert(std::make_pair(
+ "supported.test",
+- SAMLProfileAttributes("placeholderName", "placeholderDomain",
+- "placeholderToken")));
++ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++ "placeholderToken"}));
+
+ // Extract domains and attributes from the command line switch.
+ const base::CommandLine& command_line =
+diff -up chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2023-10-26 18:17:00.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-10-30 16:51:02.262151288 +0100
+@@ -474,10 +474,10 @@ void ChromeOmniboxClient::OnAutocomplete
+ alternative_nav_match);
+
+ // Store the details necessary to open the omnibox match via browser commands.
+- location_bar_->set_navigation_params(LocationBar::NavigationParams(
++ location_bar_->set_navigation_params(LocationBar::NavigationParams{
+ destination_url, disposition, transition, match_selection_timestamp,
+ destination_url_entered_without_scheme,
+- destination_url_entered_with_http_scheme));
++ destination_url_entered_with_http_scheme});
+
+ if (browser_) {
+ auto navigation = chrome::OpenCurrentURL(browser_);
+diff -up chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc
+--- chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-10-26 18:17:01.000000000 +0200
++++ chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc 2023-10-30 16:51:02.268151437 +0100
+@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
+ "'version' field of type string");
+ }
+
+- brands.emplace_back(*brand, *version);
++ brands.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.brands = std::move(brands);
+@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
+ "a 'version' field of type string");
+ }
+
+- full_version_list.emplace_back(*brand, *version);
++ full_version_list.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor 2023-10-30 16:51:02.273151562 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-30 17:41:12.685887538 +0100
+@@ -195,9 +195,9 @@ class ContactInfoProfileSetter {
+ CHECK(observations.empty());
+ for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+ metadata.observations()) {
+- observations.emplace_back(proto_observation.type(),
++ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
+ ProfileTokenQuality::FormSignatureHash(
+- proto_observation.form_hash()));
++ proto_observation.form_hash())};
+ }
+ }
+ }
+diff -up chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-10-30 16:51:02.260151238 +0100
+@@ -1530,7 +1530,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
// Issue readbacks from the surfaces:
for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
@@ -22,9 +115,87 @@ diff -up chromium-116.0.5845.50/components/viz/service/display_embedder/skia_out
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
+diff -up chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/download/save_package.cc
+--- chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/download/save_package.cc 2023-10-30 16:51:02.271151512 +0100
+@@ -769,8 +769,8 @@ void SavePackage::Finish() {
+ if (download_) {
+ std::vector<download::DownloadSaveItemData::ItemInfo> files;
+ for (auto& item : saved_success_items_) {
+- files.emplace_back(item.second->full_path(), item.second->url(),
+- item.second->referrer().url);
++ files.emplace_back() = {item.second->full_path(), item.second->url(),
++ item.second->referrer().url};
+ }
+ download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+ }
+diff -up chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc 2023-10-30 17:38:09.351389984 +0100
+@@ -8567,7 +8567,7 @@ void RenderFrameHostImpl::SendFencedFram
+ for (const blink::FencedFrame::ReportingDestination& destination :
+ destinations) {
+ SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(event_type, event_data), destination,
++ DestinationEnumEvent{event_type, event_data}, destination,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+ }
+@@ -8603,7 +8603,7 @@ void RenderFrameHostImpl::SendFencedFram
+ }
+
+ SendFencedFrameReportingBeaconInternal(
+- DestinationURLEvent(destination_url),
++ DestinationURLEvent{destination_url},
+ blink::FencedFrame::ReportingDestination::kBuyer,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+@@ -8703,8 +8703,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ data = info->data;
+ }
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ data},
+ destination,
+ /*from_renderer=*/false, attribution_reporting_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+@@ -8717,8 +8717,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ for (blink::FencedFrame::ReportingDestination destination :
+ info->destinations) {
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- info->data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ info->data},
+ destination,
+ /*from_renderer=*/false, info->attribution_reporting_runtime_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h 2023-10-30 16:51:02.262151288 +0100
+@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ Color::ColorSpace color_interpolation_space,
+ absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+ return base::AdoptRef(new FontPalette(
+- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+ normalized_percentage, alpha_multiplier, color_interpolation_space,
+ hue_interpolation_method));
+ }
+@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ double normalized_percentage) {
+ double end_percentage = normalized_percentage * 100.0;
+ double start_percentage = 100.0 - end_percentage;
+- return NonNormalizedPercentages(start_percentage, end_percentage);
++ return NonNormalizedPercentages{start_percentage, end_percentage};
+ }
+
+ double GetAlphaMultiplier() const {
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2023-10-30 16:51:02.261151263 +0100
@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
color_interpolation_space, hue_interpolation_method, start_color,
end_color, percentage, alpha_multiplier);
@@ -34,10 +205,113 @@ diff -up chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palett
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::
+diff -up chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-119.0.6045.59/ui/gtk/gtk_ui.cc
+--- chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/gtk/gtk_ui.cc 2023-10-30 16:51:02.272151537 +0100
+@@ -993,11 +993,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
+ GdkRectangle geometry;
+ gdk_monitor_get_geometry(monitor, &geometry);
+ int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+- config.display_geometries.emplace_back(
++ config.display_geometries.emplace_back() = {
+ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+ monitor_scale * geometry.width,
+ monitor_scale * geometry.height),
+- monitor_scale * font_scale);
++ static_cast<float>(monitor_scale * font_scale)};
+ }
+ return config;
+ }
+diff -up chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc
+--- chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me 2023-10-31 18:14:49.275728099 +0100
++++ chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc 2023-10-31 18:19:54.599223239 +0100
+@@ -221,13 +221,13 @@ PersistentSparseHistogramDataManager::Lo
+ // The sample-record could be for any sparse histogram. Add the reference
+ // to the appropriate collection for later use.
+ if (found_id == match_id) {
+- found_records.emplace_back(ref, value);
++ found_records.emplace_back() = {ref, value};
+ found = true;
+ } else {
+ std::vector<ReferenceAndSample>* samples =
+ GetSampleMapRecordsWhileLocked(found_id);
+ CHECK(samples);
+- samples->emplace_back(ref, value);
++ samples->emplace_back() = {ref, value};
+ }
+ }
+
+diff -up chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me chromium-119.0.6045.59/net/dns/host_resolver_cache.cc
+--- chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me 2023-10-31 20:48:19.153868338 +0100
++++ chromium-119.0.6045.59/net/dns/host_resolver_cache.cc 2023-10-31 20:51:37.634526549 +0100
+@@ -368,7 +368,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-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me 2023-10-31 22:32:58.995997897 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc 2023-10-31 22:33:28.290520601 +0100
+@@ -1733,10 +1733,10 @@ std::unique_ptr<AutofillProfile> Autofil
+ }
+
+ base::span<const uint8_t> observations_data = s.ColumnBlob(3);
+- field_type_values.emplace_back(
++ field_type_values.emplace_back() = {
+ type, s.ColumnString16(1), s.ColumnInt(2),
+ std::vector<uint8_t>(observations_data.begin(),
+- observations_data.end()));
++ observations_data.end())};
+
+ if (type == ADDRESS_HOME_COUNTRY) {
+ country_code = base::UTF16ToUTF8(s.ColumnString16(1));
+diff -up chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc
+--- chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than 2023-10-31 22:41:22.850233005 +0100
++++ chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc 2023-10-31 22:42:37.276931933 +0100
+@@ -625,7 +625,7 @@ void PasswordManager::OnUserModifiedNonP
+ // |driver| might be empty on iOS or in tests.
+ int driver_id = driver ? driver->GetId() : 0;
+ possible_usernames_.Put(
+- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
++ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
+ PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
+ renderer_id, value, base::Time::Now(), driver_id,
+ autocomplete_attribute_has_username, is_likely_otp));
+diff -up chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc
+--- chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than 2023-10-31 23:31:08.438267908 +0100
++++ chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc 2023-10-31 23:32:08.979358711 +0100
+@@ -2854,10 +2854,10 @@ DoGetKAnonymityData(sql::Database& db,
+
+ std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
+ while (interest_group_kanon_query.Step()) {
+- k_anon_data.emplace_back(
++ k_anon_data.emplace_back() = {
+ /*key=*/interest_group_kanon_query.ColumnString(0),
+ /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
+- /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
++ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
+ }
+ if (!interest_group_kanon_query.Succeeded()) {
+ return absl::nullopt;
+diff -up chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc
+--- chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than 2023-11-01 11:19:42.745395797 +0100
++++ chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc 2023-11-01 11:22:16.670920679 +0100
+@@ -1881,7 +1881,7 @@ void FederatedAuthRequestImpl::ShowError
+ base::BindOnce(&FederatedAuthRequestImpl::CompleteRequestWithError,
+ weak_ptr_factory_.GetWeakPtr()));
+ absl::optional<TokenError> token_error =
+- error ? absl::make_optional<TokenError>(error->code, error->url)
++ error ? absl::make_optional<TokenError>({error->code, error->url})
+ : absl::nullopt;
+
+ // TODO(crbug.com/1485710): Refactor IdentityCredentialTokenError
+--- chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h 2023-11-01 17:29:54.269820415 +0100
+@@ -52,53 +52,53 @@
zcr_color_manager_v1_chromaticity_names,
PrimaryVersion>(
{{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
@@ -117,7 +391,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
// 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
+@@ -107,68 +107,68 @@
zcr_color_manager_v1_eotf_names,
TransferVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -128,6 +402,11 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
{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_SRGB_HDR,
+- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
- TransferVersion(gfx::ColorSpace::TransferID::BT709,
- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
@@ -219,7 +498,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -174,18 +174,18 @@ constexpr auto kEotfMap = base::MakeFixe
+@@ -177,18 +177,18 @@
constexpr auto kTransferMap =
base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -245,15 +524,18 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -194,68 +194,68 @@ constexpr auto kTransferMap =
+@@ -197,70 +197,70 @@
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_SRGB_HDR,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kSRGB,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
@@ -346,222 +628,76 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
gfx::ColorSpace::PrimaryID primaryID,
-diff -up chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
---- chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2023-08-03 13:23:33.748394615 +0200
-+++ chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-08-03 13:25:01.140489840 +0200
-@@ -470,10 +470,10 @@ void ChromeOmniboxClient::OnAutocomplete
- alternative_nav_match);
-
- // Store the details necessary to open the omnibox match via browser commands.
-- location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+ location_bar_->set_navigation_params(LocationBar::NavigationParams{
- destination_url, disposition, transition, match_selection_timestamp,
- destination_url_entered_without_scheme,
-- destination_url_entered_with_http_scheme));
-+ destination_url_entered_with_http_scheme});
-
- if (browser_) {
- auto navigation = chrome::OpenCurrentURL(browser_);
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
-diff -up chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h
---- chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me 2023-09-15 10:48:41.330294241 +0200
-+++ chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h 2023-09-15 10:51:24.501324416 +0200
-@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
- Color::ColorSpace color_interpolation_space,
- absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
- return base::AdoptRef(new FontPalette(
-- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
- normalized_percentage, alpha_multiplier, color_interpolation_space,
- hue_interpolation_method));
- }
-@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
- double normalized_percentage) {
- double end_percentage = normalized_percentage * 100.0;
- double start_percentage = 100.0 - end_percentage;
-- return NonNormalizedPercentages(start_percentage, end_percentage);
-+ return NonNormalizedPercentages{start_percentage, end_percentage};
- }
-
- double GetAlphaMultiplier() const {
-diff -up chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me 2023-09-15 12:17:35.664861257 +0200
-+++ chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc 2023-09-15 12:21:06.112694256 +0200
-@@ -8509,7 +8509,7 @@ void RenderFrameHostImpl::SendFencedFram
- for (const blink::FencedFrame::ReportingDestination& destination :
- destinations) {
- SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(event_type, event_data), destination,
-+ DestinationEnumEvent{event_type, event_data}, destination,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
- }
-@@ -8545,7 +8545,7 @@ void RenderFrameHostImpl::SendFencedFram
- }
-
- SendFencedFrameReportingBeaconInternal(
-- DestinationURLEvent(destination_url),
-+ DestinationURLEvent{destination_url},
- blink::FencedFrame::ReportingDestination::kBuyer,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
-@@ -8617,8 +8617,8 @@ void RenderFrameHostImpl::MaybeSendFence
- for (blink::FencedFrame::ReportingDestination destination :
- info->destinations) {
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
-- info->data),
-+ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
-+ info->data},
- destination,
- /*from_renderer=*/false, info->attribution_reporting_runtime_features,
- GetFrameTreeNodeId(), navigation_request.GetNavigationId());
-diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me 2023-09-15 22:04:09.233356627 +0200
-+++ chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-09-15 22:05:44.126063992 +0200
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
- // TODO(crbug.com/1445072): Add actual domains with attribute names.
- profile_attributes->insert(std::make_pair(
- "supported.test",
-- SAMLProfileAttributes("placeholderName", "placeholderDomain",
-- "placeholderToken")));
-+ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+ "placeholderToken"}));
-
- // Extract domains and attributes from the command line switch.
- const base::CommandLine& command_line =
-diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
---- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200
-+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200
-@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
- "'version' field of type string");
- }
-
-- brands.emplace_back(*brand, *version);
-+ brands.emplace_back() = {*brand, *version};
- }
-
- client_hints.brands = std::move(brands);
-@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
- "a 'version' field of type string");
- }
+@@ -283,4 +283,4 @@
-- full_version_list.emplace_back(*brand, *version);
-+ full_version_list.emplace_back() = {*brand, *version};
- }
+ } // namespace ui::wayland
- client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200
-+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200
-@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
+-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+\ Kein Zeilenumbruch am Dateiende.
++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me 2023-11-01 20:46:15.997861278 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-11-01 20:49:33.603371680 +0100
+@@ -58,13 +58,13 @@ EmbeddedPermissionPromptPreviouslyGrante
+ std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
+- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- while (rule_iterator && rule_iterator->HasNext()) {
- auto rule = rule_iterator->Next();
-- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
-- rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+ rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- setting_type,
- permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
- auto rule = rule_iterator->Next();
- if (rule->primary_pattern.Matches(origin_gurl) &&
- rule->secondary_pattern.Matches(origin_gurl)) {
-- patterns_to_delete.emplace_back(
-- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {
-+ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- content_setting_type, trigger_event);
- }
-diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
---- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200
-+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200
-@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
- AutoLock lock(track_event_lock_);
-- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
-- args.backend_type);
-+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+ args.backend_type};
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
+- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal};
+ return buttons;
}
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
---- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200
-+++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200
-@@ -764,8 +764,8 @@ void SavePackage::Finish() {
- if (download_) {
- std::vector<download::DownloadSaveItemData::ItemInfo> files;
- for (auto& item : saved_success_items_) {
-- files.emplace_back(item.second->full_path(), item.second->url(),
-- item.second->referrer().url);
-+ files.emplace_back() = {item.second->full_path(), item.second->url(),
-+ item.second->referrer().url};
- }
- download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
- }
-diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
---- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200
-+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200
-@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
- GdkRectangle geometry;
- gdk_monitor_get_geometry(monitor, &geometry);
- int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
-- config.display_geometries.emplace_back(
-+ config.display_geometries.emplace_back() = {
- gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
- monitor_scale * geometry.width,
- monitor_scale * geometry.height),
-- monitor_scale * font_scale);
-+ static_cast<float>(monitor_scale * font_scale)};
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than 2023-11-01 20:52:29.005464494 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2023-11-01 21:14:12.741859604 +0100
+@@ -56,12 +56,12 @@ std::vector<EmbeddedPermissionPromptAskV
+ EmbeddedPermissionPromptAskView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+ if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
}
- return config;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+- ButtonType::kAllow, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++ ButtonType::kAllow, ui::ButtonStyle::kTonal};
+ return buttons;
}
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me 2023-10-06 10:38:52.473145692 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-06 10:37:30.268617169 +0200
-@@ -174,9 +174,9 @@ class ContactInfoProfileSetter {
- CHECK(observations.empty());
- for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
- proto_observations) {
-- observations.emplace_back(proto_observation.type(),
-+ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
- ProfileTokenQuality::FormSignatureHash(
-- proto_observation.form_hash()));
-+ proto_observation.form_hash())};
- }
- }
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me 2023-10-06 10:41:37.746402215 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc 2023-10-06 10:42:28.469562927 +0200
-@@ -553,11 +553,11 @@ ServerCvc AutofillWalletCvcStructDataFro
- base::StringToInt64(wallet_credential_specifics.instrument_id(),
- &instrument_id);
-
-- return ServerCvc(
-+ return ServerCvc{
- instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
- base::Time::UnixEpoch() +
- base::Milliseconds(wallet_credential_specifics
-- .last_updated_time_unix_epoch_millis()));
-+ .last_updated_time_unix_epoch_millis())};
- }
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me 2023-11-01 21:22:02.222646903 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2023-11-01 21:19:58.769619393 +0100
+@@ -72,6 +72,7 @@ class EmbeddedPermissionPromptBaseView :
+ struct RequestLineConfiguration {
+ const raw_ptr<const gfx::VectorIcon> icon;
+ std::u16string message;
++ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
+ };
- VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics(
-diff -up chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc
---- chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me 2023-10-06 13:46:57.287089040 +0200
-+++ chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc 2023-10-06 13:47:25.450632156 +0200
-@@ -604,7 +604,7 @@ void OnTokenRequestParsed(
- if (response_error) {
- int error_code = response_error->FindInt(kErrorCodeKey).value_or(0);
- GURL error_url = ExtractUrl(*response_error, kErrorUrlKey);
-- token_result.error = TokenError(error_code, error_url);
-+ token_result.error = TokenError{error_code, error_url};
- }
- }
+ struct ButtonConfiguration {
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than 2023-11-01 21:25:31.118626473 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2023-11-01 21:30:06.383340274 +0100
+@@ -48,8 +48,8 @@ EmbeddedPermissionPromptPolicyView::GetR
+ std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
+ EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
+- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
+ return buttons;
+ }
diff --git a/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
new file mode 100644
index 0000000000000..5cb969f4f40cf
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
@@ -0,0 +1,21 @@
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200
+@@ -52,7 +52,7 @@ class FragmentDataIterator
+ public:
+ explicit FragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(&object.FirstFragment()) {}
+- explicit FragmentDataIterator(nullptr_t)
++ explicit FragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
+@@ -63,7 +63,7 @@ class MutableFragmentDataIterator
+ explicit MutableFragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(
+ &object.GetMutableForPainting().FirstFragment()) {}
+- explicit MutableFragmentDataIterator(nullptr_t)
++ explicit MutableFragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
diff --git a/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
new file mode 100644
index 0000000000000..717d897446c7c
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
@@ -0,0 +1,164 @@
+commit bdcc23e0a5e7e220660d3f54c97262f9a4c31606
+Author: Nick Diego Yamane <nickdiego@igalia.com>
+Date: Thu Nov 2 17:26:25 2023 +0000
+
+ gbm: nvidia: use separate bo to verify modifiers
+
+ Buggy Nvidia drivers fail to return FDs for planes of a BO which had
+ already an imported BO destroyed before. This is a workaround for that
+ issue, which consists of creating/destroying a separate 1x1 BO for
+ validating the modifiers before actually creating the final requested
+ BO, which for now is limited to IS_LINUX builds.
+
+ The Nvidia driver bug is being tracked under internal bug 4315529. There
+ seems to be other issues when running under Wayland with Nvidia, which
+ will be tracked and addressed in separate patches.
+
+ R=dcastagna, msisov@igalia.com
+
+ with ozone/wayland backend and verify GPU acceleration is not broken.
+
+ Test: In a single Nvidia GPU setup, with proprietary driver, run Chrome
+ Bug: 1273758, 1478684, 1463851
+ Change-Id: I9f322bcf40b460bcd4ead02f05dd2e9a8d271cea
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989782
+ Reviewed-by: Maksim Sisov <msisov@igalia.com>
+ Commit-Queue: Nick Yamane <nickdiego@igalia.com>
+ Cr-Commit-Position: refs/heads/main@{#1218924}
+
+diff --git a/ui/gfx/linux/gbm_wrapper.cc b/ui/gfx/linux/gbm_wrapper.cc
+index bf90b76605f68..14918c19c0ab0 100644
+--- a/ui/gfx/linux/gbm_wrapper.cc
++++ b/ui/gfx/linux/gbm_wrapper.cc
+@@ -11,6 +11,7 @@
+ #include "base/logging.h"
+ #include "base/memory/raw_ptr.h"
+ #include "base/memory/raw_ptr_exclusion.h"
++#include "base/numerics/safe_conversions.h"
+ #include "base/posix/eintr_wrapper.h"
+ #include "skia/ext/legacy_display_globals.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -71,6 +72,7 @@ base::ScopedFD GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
+ int ret;
+ // Use DRM_RDWR to allow the fd to be mappable in another process.
+ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++ PLOG_IF(ERROR, ret != 0) << "Failed to get fd for plane.";
+
+ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
+ // anyways
+@@ -301,58 +303,82 @@ class Device final : public ui::GbmDevice {
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferWithModifiers(
+ uint32_t format,
+- const gfx::Size& size,
++ const gfx::Size& requested_size,
+ uint32_t flags,
+ const std::vector<uint64_t>& modifiers) override {
+- if (modifiers.empty())
+- return CreateBuffer(format, size, flags);
+-
+- std::vector<uint64_t> filtered_modifiers =
+- GetFilteredModifiers(format, flags, modifiers);
+- struct gbm_bo* bo = nullptr;
+- while (filtered_modifiers.size() > 0) {
+- bo = gbm_bo_create_with_modifiers(device_, size.width(), size.height(),
+- format, filtered_modifiers.data(),
+- filtered_modifiers.size());
+- if (!bo) {
++ if (modifiers.empty()) {
++ return CreateBuffer(format, requested_size, flags);
++ }
++
++ // Buggy drivers prevent us from getting plane FDs from a BO which had its
++ // previously imported BO destroyed. E.g: Nvidia. Thus, on Linux Desktop, we
++ // do the create/import modifiers validation loop below using a separate set
++ // of 1x1 BOs which are destroyed before creating the final BO creation used
++ // to instantiate the returned GbmBuffer.
++ gfx::Size size =
++#if BUILDFLAG(IS_LINUX)
++ gfx::Size(1, 1);
++#else
++ requested_size;
++#endif
++ auto filtered_modifiers = GetFilteredModifiers(format, flags, modifiers);
++ struct gbm_bo* created_bo = nullptr;
++ bool valid_modifiers = false;
++
++ while (!valid_modifiers && !filtered_modifiers.empty()) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, size.width(), size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ if (!created_bo) {
+ return nullptr;
+ }
+
+- struct gbm_import_fd_modifier_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+- fd_data.num_fds = gbm_bo_get_plane_count(bo);
+- fd_data.modifier = gbm_bo_get_modifier(bo);
+-
+- // Store fds in the vector of base::ScopedFDs. Will be released
+- // automatically.
++ const int planes_count = gbm_bo_get_plane_count(created_bo);
++ struct gbm_import_fd_modifier_data fd_data = {
++ .width = base::checked_cast<uint32_t>(size.width()),
++ .height = base::checked_cast<uint32_t>(size.height()),
++ .format = format,
++ .num_fds = base::checked_cast<uint32_t>(planes_count),
++ .modifier = gbm_bo_get_modifier(created_bo)};
++ // Store fds in a base::ScopedFDs vector. Will be released automatically.
+ std::vector<base::ScopedFD> fds;
+ for (size_t i = 0; i < static_cast<size_t>(fd_data.num_fds); ++i) {
+- fds.emplace_back(GetPlaneFdForBo(bo, i));
++ fds.emplace_back(GetPlaneFdForBo(created_bo, i));
+ fd_data.fds[i] = fds.back().get();
+- fd_data.strides[i] = gbm_bo_get_stride_for_plane(bo, i);
+- fd_data.offsets[i] = gbm_bo_get_offset(bo, i);
++ fd_data.strides[i] = gbm_bo_get_stride_for_plane(created_bo, i);
++ fd_data.offsets[i] = gbm_bo_get_offset(created_bo, i);
+ }
+
+- struct gbm_bo* bo_import =
++ struct gbm_bo* imported_bo =
+ gbm_bo_import(device_, GBM_BO_IMPORT_FD_MODIFIER, &fd_data, flags);
+- if (bo_import) {
+- gbm_bo_destroy(bo_import);
+- break;
++
++ if (imported_bo) {
++ valid_modifiers = true;
++ gbm_bo_destroy(imported_bo);
+ } else {
+- gbm_bo_destroy(bo);
+- bo = nullptr;
+ AddModifierToBlocklist(format, flags, fd_data.modifier);
+ filtered_modifiers =
+ GetFilteredModifiers(format, flags, filtered_modifiers);
+ }
++
++ if (!valid_modifiers || size != requested_size) {
++ gbm_bo_destroy(created_bo);
++ created_bo = nullptr;
++ }
+ }
+- if (!bo) {
+- return nullptr;
++
++ // If modifiers were successfully verified though `created_bo` is null here,
++ // it it means that the buffer created for verification could not be reused,
++ // ie: different size, so create it now with the `requested_size`.
++ if (valid_modifiers && !created_bo) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, requested_size.width(), requested_size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ PLOG_IF(ERROR, !created_bo) << "Failed to create BO with modifiers.";
+ }
+
+- return CreateBufferForBO(bo, format, size, flags);
++ return created_bo ? CreateBufferForBO(created_bo, format, size, flags)
++ : nullptr;
+ }
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferFromHandle(
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index cc36911cd338d..996f5a7eb67c6 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
# Template file for 'chromium'
pkgname=chromium
# See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=118.0.5993.70
+version=119.0.6045.105
revision=1
archs="i686* x86_64* aarch64* armv7l*"
hostmakedepends="
@@ -27,7 +27,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://www.chromium.org/"
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=49ee00a734de3dae7c421eb3c974e8d451b4de6f5b4e34b603fd6435eab6993d
+checksum=73cb8c39e928f8c627d747d37a3b020f08913ef5508f893758d70bdbd545dbcf
lib32disabled=yes
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Updated] chromium: update to 119.0.6045.105.
2023-11-04 15:08 [PR PATCH] chromium: update to 119.0.6045.105 Duncaen
@ 2023-11-05 14:04 ` Duncaen
2023-11-05 14:34 ` Duncaen
2023-11-05 23:15 ` [PR PATCH] [Merged]: " Duncaen
2 siblings, 0 replies; 4+ messages in thread
From: Duncaen @ 2023-11-05 14:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 412 bytes --]
There is an updated pull request by Duncaen against master on the void-packages repository
https://github.com/Duncaen/void-packages chromium-119
https://github.com/void-linux/void-packages/pull/47058
chromium: update to 119.0.6045.105.
[ci skip]
* [x] x86_64-glibc
* [x] x86_64-musl
* [ ] aarch64-musl
* [ ] i686
A patch file from https://github.com/void-linux/void-packages/pull/47058.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-119-47058.patch --]
[-- Type: text/x-diff, Size: 75721 bytes --]
From 70c68eb323838505293f746fd95c816c2bffe2ee Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sat, 4 Nov 2023 16:02:39 +0100
Subject: [PATCH] chromium: update to 119.0.6045.105.
---
.../chromium-118-use_system_freetype.patch | 91 ---
.../patches/chromium-119-assert.patch | 12 +
.../patches/chromium-119-constexpr.patch | 12 +
....4.patch => chromium-119-ffmpeg-4.4.patch} | 14 +-
...tVideoDecoder-flag-on-VA-API-devices.patch | 195 ++++++
| 12 -
...hromium-119-no_matching_constructor.patch} | 608 +++++++++++-------
...-119-nullptr_t-without-namespace-std.patch | 21 +
...a-use-separate-bo-to-verify-modifier.patch | 164 +++++
srcpkgs/chromium/template | 7 +-
10 files changed, 786 insertions(+), 350 deletions(-)
delete mode 100644 srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-assert.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-constexpr.patch
rename srcpkgs/chromium/patches/{chromium-118-ffmpeg-4.4.patch => chromium-119-ffmpeg-4.4.patch} (53%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
rename srcpkgs/chromium/patches/{chromium-118-missing-header-files.patch => chromium-119-missing-header-files.patch} (97%)
rename srcpkgs/chromium/patches/{chromium-118-no_matching_constructor.patch => chromium-119-no_matching_constructor.patch} (56%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
diff --git a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch b/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
deleted file mode 100644
index ce9fbdebe2fb7..0000000000000
--- a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-commit ed354d00aeda84693611b14baa56a287557a26b5
-Author: Munira Tursunova <moonira@google.com>
-Date: Tue Sep 12 11:54:48 2023 +0000
-
- Add check for use_system_freetype when importing private freetype header
-
- In [0] the include of private freetype header was added, which caused
- build breakage when use_system_freetype=true, see [1].
-
- This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
-
- [0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
- [1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
-
- Bug: 1429581
- Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
- Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
- Commit-Queue: Munira Tursunova <moonira@google.com>
- Reviewed-by: Dominik Röttsches <drott@chromium.org>
- Reviewed-by: Rick Byers <rbyers@chromium.org>
- Cr-Commit-Position: refs/heads/main@{#1195323}
-
-diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
-index 7b086f95413ff..4ce797ebad722 100644
---- a/third_party/BUILD.gn
-+++ b/third_party/BUILD.gn
-@@ -2,6 +2,7 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
-+import("//build/buildflag_header.gni")
- import("//build/config/features.gni")
- import("//build/config/freetype/freetype.gni")
- import("//third_party/harfbuzz-ng/harfbuzz.gni")
-@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
- public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
- }
- }
-+
-+buildflag_header("freetype_buildflags") {
-+ header = "freetype_buildflags.h"
-+ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
-+}
-diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
-index 591d2f939605b..f6a2cd2168d1e 100644
---- a/third_party/blink/renderer/platform/BUILD.gn
-+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1717,6 +1717,7 @@ component("platform") {
- "//services/viz/public/cpp/gpu",
- "//skia",
- "//skia:skcms",
-+ "//third_party:freetype_buildflags",
- "//third_party:freetype_harfbuzz",
- "//third_party/abseil-cpp:absl",
- "//third_party/blink/public:image_resources",
-diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-index abe06f35c14a5..b2bfd88f0d85d 100644
---- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-+++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-@@ -48,7 +48,7 @@
- #include "third_party/blink/renderer/platform/wtf/math_extras.h"
- #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
- #include "third_party/blink/renderer/platform/wtf/text/unicode.h"
--#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#include "third_party/freetype_buildflags.h"
- #include "third_party/skia/include/core/SkFontMetrics.h"
- #include "third_party/skia/include/core/SkPath.h"
- #include "third_party/skia/include/core/SkTypeface.h"
-@@ -57,12 +57,22 @@
- #include "ui/gfx/geometry/skia_conversions.h"
- #include "v8/include/v8.h"
-
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
-+#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#endif
-+
- namespace blink {
-
- constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
- constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
-+
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
- constexpr int32_t kFontObjectsMemoryConsumption =
- std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
-+#else
-+// sizeof(AF_LatinMetricsRec) = 2128
-+constexpr int32_t kFontObjectsMemoryConsumption = 2128;
-+#endif
-
- SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
- scoped_refptr<CustomFontData> custom_data,
diff --git a/srcpkgs/chromium/patches/chromium-119-assert.patch b/srcpkgs/chromium/patches/chromium-119-assert.patch
new file mode 100644
index 0000000000000..6c502f13a5955
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-assert.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h
+--- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100
++++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100
+@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
+ class SmallVector {
+ // Currently only support trivially copyable and trivially destructible data
+ // types, as it uses memcpy to copy elements and never calls destructors.
+- ASSERT_TRIVIALLY_COPYABLE(T);
++ //ASSERT_TRIVIALLY_COPYABLE(T);
+ static_assert(std::is_trivially_destructible<T>::value);
+
+ public:
diff --git a/srcpkgs/chromium/patches/chromium-119-constexpr.patch b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
new file mode 100644
index 0000000000000..b195ff408ba81
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h
+--- chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me 2023-10-31 21:05:05.548565241 +0100
++++ chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h 2023-10-31 21:20:53.945532094 +0100
+@@ -93,7 +93,7 @@ class MiracleParameter {
+ template <>
+ class MiracleParameter<std::string> : public MiracleParameterBase<std::string> {
+ public:
+- constexpr MiracleParameter(const base::Feature* feature,
++ MiracleParameter(const base::Feature* feature,
+ const char* param_name,
+ std::string default_value)
+ : MiracleParameterBase(feature, param_name, std::move(default_value)) {}
diff --git a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
similarity index 53%
rename from srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
rename to srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
index 556c734d4e02e..04d04b166ba37 100644
--- a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
+++ b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
@@ -1,17 +1,15 @@
-diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
-index ac4713b07268..492a9a37d096 100644
---- a/media/filters/ffmpeg_demuxer.cc
+--- a/media/filters/ffmpeg_demuxer.cc.orig
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
- buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
- side_data.data(), side_data.size());
- } else {
+@@ -390,7 +390,7 @@
+
+ scoped_refptr<DecoderBuffer> buffer;
+
- size_t side_data_size = 0;
+ int side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
-@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+@@ -453,7 +453,7 @@
packet->size - data_offset);
}
diff --git a/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
new file mode 100644
index 0000000000000..88d675e8047f0
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
@@ -0,0 +1,195 @@
+commit 87fca7f1759e800bd72b5ab6511eea17d6400a76
+Author: Pilar Molina Lopez <pmolinalopez@chromium.org>
+Date: Tue Oct 24 19:57:55 2023 +0000
+
+ video: hide UseChromeOSDirectVideoDecoder flag on VA-API devices
+
+ We are seeing crashes causes by this CHECK statement:
+ https://source.chromium.org/chromium/chromium/src/+/main:content/public/browser/gpu_utils.cc;l=151;drc=0e777ba9b6c34611705d5b145c92bcd09539011c
+ It's triggered when the user manually disables the UseChromeOSDirectVideoDecoder
+ flag on VA-API devices (Intel and AMD). This flag is supported only on
+ non-Intel and non-AMD devices. This CL adds this information to the flag
+ description and hides the flag in case VA-API is used.
+
+ Bug: 1469285
+ Test: manual test on volteer
+ Change-Id: I153b9ccb3815498c91ce5eee966834060749e247
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4960919
+ Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+ Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
+ Reviewed-by: Avi Drissman <avi@chromium.org>
+ Commit-Queue: Pilar Molina Lopez <pmolinalopez@chromium.org>
+ Cr-Commit-Position: refs/heads/main@{#1214411}
+
+diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
+index ee9fb206cde36..0fe18013ab044 100644
+--- a/chrome/browser/DEPS
++++ b/chrome/browser/DEPS
+@@ -418,6 +418,7 @@ include_rules = [
+ "+media/base", # For media switches
+ "+media/capabilities", # For InMemoryVideoDecodeStatsDB
+ "+media/cdm",
++ "+media/gpu/buildflags.h",
+ "+media/remoting/device_capability_checker.h",
+ "+media/capture",
+ "+media/midi", # For midi switches
+diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+index 84709afaa34d0..777bebeb33d9e 100644
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -7578,11 +7578,13 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ {"chromeos-direct-video-decoder",
+ flag_descriptions::kChromeOSDirectVideoDecoderName,
+ flag_descriptions::kChromeOSDirectVideoDecoderDescription,
+ kOsCrOS | kOsLacros,
+ FEATURE_VALUE_TYPE(media::kUseChromeOSDirectVideoDecoder)},
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ {"enable-vbr-encode-acceleration",
+ flag_descriptions::kChromeOSHWVBREncodingName,
+diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
+index 318a8be9ab1a6..d2497d0c403f3 100644
+--- a/chrome/browser/flag_descriptions.cc
++++ b/chrome/browser/flag_descriptions.cc
+@@ -7,6 +7,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "components/supervised_user/core/common/buildflags.h"
++#include "media/gpu/buildflags.h"
+ #include "pdf/buildflags.h"
+
+ // Keep in identical order as the header file, see the comment at the top
+@@ -7338,6 +7339,7 @@ const char kQuickOfficeForceFileDownloadDescription[] =
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSDirectVideoDecoderName[] = "ChromeOS Direct Video Decoder";
+ const char kChromeOSDirectVideoDecoderDescription[] =
+ "Enables the hardware-accelerated ChromeOS direct media::VideoDecoder "
+@@ -7345,7 +7347,8 @@ const char kChromeOSDirectVideoDecoderDescription[] =
+ "--platform-disallows-chromeos-direct-video-decoder command line switch "
+ "which is added for platforms where said direct VideoDecoder does not work "
+ "or is not well tested (see the disable_cros_video_decoder USE flag in "
+- "ChromeOS)";
++ "ChromeOS). This flag is supported only on non-Intel and non-AMD devices.";
++#endif // !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSHWVBREncodingName[] =
+ "ChromeOS Hardware Variable Bitrate Encoding";
+ const char kChromeOSHWVBREncodingDescription[] =
+diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc
+index dceeca9659a85..3d091359777cc 100644
+--- a/content/public/browser/gpu_utils.cc
++++ b/content/public/browser/gpu_utils.cc
+@@ -133,20 +133,26 @@ const gpu::GpuPreferences GetGpuPreferencesFromCommandLine() {
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ // The direct VideoDecoder is disallowed on some particular SoC/platforms.
+ const bool should_use_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ true;
++#else
+ !command_line->HasSwitch(
+ switches::kPlatformDisallowsChromeOSDirectVideoDecoder) &&
+ base::FeatureList::IsEnabled(media::kUseChromeOSDirectVideoDecoder);
++#endif // BUILDFLAG(USE_VAAPI)
++
++ gpu_preferences.enable_chromeos_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ should_use_direct_video_decoder;
++#else
++ // For testing purposes, the following flag allows using the "other" video
++ // decoder implementation.
++ base::FeatureList::IsEnabled(
++ media::kUseAlternateVideoDecoderImplementation)
++ ? !should_use_direct_video_decoder
++ : should_use_direct_video_decoder;
++#endif // BUILDFLAG(USE_VAAPI)
+
+- // For testing purposes, the following flag allows using the "other" video
+- // decoder implementation.
+- if (base::FeatureList::IsEnabled(
+- media::kUseAlternateVideoDecoderImplementation)) {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- !should_use_direct_video_decoder;
+- } else {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- should_use_direct_video_decoder;
+- }
+ #if BUILDFLAG(USE_VAAPI)
+ CHECK(gpu_preferences.enable_chromeos_direct_video_decoder);
+ #endif // BUILDFLAG(USE_VAAPI)
+diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
+index 1af4de46e2a02..3086b1bec2134 100644
+--- a/media/base/media_switches.cc
++++ b/media/base/media_switches.cc
+@@ -1192,6 +1192,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ "ChromeOSHWVBREncoding",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
++#if !BUILDFLAG(USE_VAAPI)
+ // Enable the hardware-accelerated direct video decoder instead of the one
+ // needing the VdaVideoDecoder adapter. This flag is used mainly as a
+ // chrome:flag for developers debugging issues as well as to be able to
+@@ -1200,6 +1201,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ BASE_FEATURE(kUseChromeOSDirectVideoDecoder,
+ "UseChromeOSDirectVideoDecoder",
+ base::FEATURE_ENABLED_BY_DEFAULT);
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ // Limit the number of concurrent hardware decoder instances on ChromeOS.
+ BASE_FEATURE(kLimitConcurrentDecoderInstances,
+@@ -1228,7 +1230,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ "PreferSoftwareMT21",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ // ChromeOS has one of two VideoDecoder implementations active based on
+ // SoC/board specific configurations that are sent via command line flags. This
+ // switch allows using the non default implementation for testing.
+@@ -1236,7 +1238,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ BASE_FEATURE(kUseAlternateVideoDecoderImplementation,
+ "UseAlternateVideoDecoderImplementation",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
+diff --git a/media/base/media_switches.h b/media/base/media_switches.h
+index 1d9c2c2d9df73..96d9595be110e 100644
+--- a/media/base/media_switches.h
++++ b/media/base/media_switches.h
+@@ -14,6 +14,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "media/base/media_export.h"
++#include "media/gpu/buildflags.h"
+ #include "media/media_buildflags.h"
+
+ namespace base {
+@@ -381,16 +382,18 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBuiltInHlsPlayer);
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWAV1Decoder);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWVBREncoding);
++#if !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseChromeOSDirectVideoDecoder);
++#endif // !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kLimitConcurrentDecoderInstances);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUSeSequencedTaskRunnerForVEA);
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferGLImageProcessor);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferSoftwareMT21);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAlternateVideoDecoderImplementation);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
diff --git a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
similarity index 97%
rename from srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
rename to srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
index ea415df32835b..a2542ef420eaf 100644
--- a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
+++ b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
@@ -468,15 +468,3 @@ diff -up chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor
#include <type_traits>
namespace device {
-diff -up chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h
---- chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me 2023-10-02 13:38:31.217806428 +0200
-+++ chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h 2023-10-02 13:39:05.006427168 +0200
-@@ -5,6 +5,8 @@
- #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
- #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
-
-+#include <atomic>
-+
- #include "base/gtest_prod_util.h"
- #include "components/gwp_asan/client/export.h"
- #include "components/gwp_asan/common/lightweight_detector_state.h"
diff --git a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
similarity index 56%
rename from srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
rename to srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
index 3d7748c3d5a26..a16c979c37f1c 100644
--- a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
+++ b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
@@ -1,19 +1,112 @@
-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(
+diff -up chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor chromium-119.0.6045.59/base/trace_event/trace_log.cc
+--- chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor 2023-10-26 18:16:51.000000000 +0200
++++ chromium-119.0.6045.59/base/trace_event/trace_log.cc 2023-10-30 16:51:02.270151487 +0100
+@@ -2191,8 +2191,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+ AutoLock lock(track_event_lock_);
+- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+- args.backend_type);
++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++ args.backend_type};
+ }
- 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_));
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc 2023-10-30 16:51:02.269151462 +0100
+@@ -226,8 +226,8 @@ void OneTimePermissionProvider::OnSuspen
- 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
+ while (rule_iterator && rule_iterator->HasNext()) {
+ auto rule = rule_iterator->Next();
+- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+- rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++ rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ setting_type,
+ permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -329,8 +329,8 @@ void OneTimePermissionProvider::DeleteEn
+ auto rule = rule_iterator->Next();
+ if (rule->primary_pattern.Matches(origin_gurl) &&
+ rule->secondary_pattern.Matches(origin_gurl)) {
+- patterns_to_delete.emplace_back(
+- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {
++ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ content_setting_type, trigger_event);
+ }
+diff -up chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-10-30 16:51:02.267151412 +0100
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+ // TODO(crbug.com/1445072): Add actual domains with attribute names.
+ profile_attributes->insert(std::make_pair(
+ "supported.test",
+- SAMLProfileAttributes("placeholderName", "placeholderDomain",
+- "placeholderToken")));
++ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++ "placeholderToken"}));
+
+ // Extract domains and attributes from the command line switch.
+ const base::CommandLine& command_line =
+diff -up chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2023-10-26 18:17:00.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-10-30 16:51:02.262151288 +0100
+@@ -474,10 +474,10 @@ void ChromeOmniboxClient::OnAutocomplete
+ alternative_nav_match);
+
+ // Store the details necessary to open the omnibox match via browser commands.
+- location_bar_->set_navigation_params(LocationBar::NavigationParams(
++ location_bar_->set_navigation_params(LocationBar::NavigationParams{
+ destination_url, disposition, transition, match_selection_timestamp,
+ destination_url_entered_without_scheme,
+- destination_url_entered_with_http_scheme));
++ destination_url_entered_with_http_scheme});
+
+ if (browser_) {
+ auto navigation = chrome::OpenCurrentURL(browser_);
+diff -up chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc
+--- chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-10-26 18:17:01.000000000 +0200
++++ chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc 2023-10-30 16:51:02.268151437 +0100
+@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
+ "'version' field of type string");
+ }
+
+- brands.emplace_back(*brand, *version);
++ brands.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.brands = std::move(brands);
+@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
+ "a 'version' field of type string");
+ }
+
+- full_version_list.emplace_back(*brand, *version);
++ full_version_list.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor 2023-10-30 16:51:02.273151562 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-30 17:41:12.685887538 +0100
+@@ -195,9 +195,9 @@ class ContactInfoProfileSetter {
+ CHECK(observations.empty());
+ for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+ metadata.observations()) {
+- observations.emplace_back(proto_observation.type(),
++ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
+ ProfileTokenQuality::FormSignatureHash(
+- proto_observation.form_hash()));
++ proto_observation.form_hash())};
+ }
+ }
+ }
+diff -up chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-10-30 16:51:02.260151238 +0100
+@@ -1530,7 +1530,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
// Issue readbacks from the surfaces:
for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
@@ -22,9 +115,87 @@ diff -up chromium-116.0.5845.50/components/viz/service/display_embedder/skia_out
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
+diff -up chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/download/save_package.cc
+--- chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/download/save_package.cc 2023-10-30 16:51:02.271151512 +0100
+@@ -769,8 +769,8 @@ void SavePackage::Finish() {
+ if (download_) {
+ std::vector<download::DownloadSaveItemData::ItemInfo> files;
+ for (auto& item : saved_success_items_) {
+- files.emplace_back(item.second->full_path(), item.second->url(),
+- item.second->referrer().url);
++ files.emplace_back() = {item.second->full_path(), item.second->url(),
++ item.second->referrer().url};
+ }
+ download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+ }
+diff -up chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc 2023-10-30 17:38:09.351389984 +0100
+@@ -8567,7 +8567,7 @@ void RenderFrameHostImpl::SendFencedFram
+ for (const blink::FencedFrame::ReportingDestination& destination :
+ destinations) {
+ SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(event_type, event_data), destination,
++ DestinationEnumEvent{event_type, event_data}, destination,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+ }
+@@ -8603,7 +8603,7 @@ void RenderFrameHostImpl::SendFencedFram
+ }
+
+ SendFencedFrameReportingBeaconInternal(
+- DestinationURLEvent(destination_url),
++ DestinationURLEvent{destination_url},
+ blink::FencedFrame::ReportingDestination::kBuyer,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+@@ -8703,8 +8703,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ data = info->data;
+ }
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ data},
+ destination,
+ /*from_renderer=*/false, attribution_reporting_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+@@ -8717,8 +8717,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ for (blink::FencedFrame::ReportingDestination destination :
+ info->destinations) {
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- info->data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ info->data},
+ destination,
+ /*from_renderer=*/false, info->attribution_reporting_runtime_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h 2023-10-30 16:51:02.262151288 +0100
+@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ Color::ColorSpace color_interpolation_space,
+ absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+ return base::AdoptRef(new FontPalette(
+- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+ normalized_percentage, alpha_multiplier, color_interpolation_space,
+ hue_interpolation_method));
+ }
+@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ double normalized_percentage) {
+ double end_percentage = normalized_percentage * 100.0;
+ double start_percentage = 100.0 - end_percentage;
+- return NonNormalizedPercentages(start_percentage, end_percentage);
++ return NonNormalizedPercentages{start_percentage, end_percentage};
+ }
+
+ double GetAlphaMultiplier() const {
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2023-10-30 16:51:02.261151263 +0100
@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
color_interpolation_space, hue_interpolation_method, start_color,
end_color, percentage, alpha_multiplier);
@@ -34,10 +205,113 @@ diff -up chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palett
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::
+diff -up chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-119.0.6045.59/ui/gtk/gtk_ui.cc
+--- chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/gtk/gtk_ui.cc 2023-10-30 16:51:02.272151537 +0100
+@@ -993,11 +993,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
+ GdkRectangle geometry;
+ gdk_monitor_get_geometry(monitor, &geometry);
+ int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+- config.display_geometries.emplace_back(
++ config.display_geometries.emplace_back() = {
+ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+ monitor_scale * geometry.width,
+ monitor_scale * geometry.height),
+- monitor_scale * font_scale);
++ static_cast<float>(monitor_scale * font_scale)};
+ }
+ return config;
+ }
+diff -up chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc
+--- chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me 2023-10-31 18:14:49.275728099 +0100
++++ chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc 2023-10-31 18:19:54.599223239 +0100
+@@ -221,13 +221,13 @@ PersistentSparseHistogramDataManager::Lo
+ // The sample-record could be for any sparse histogram. Add the reference
+ // to the appropriate collection for later use.
+ if (found_id == match_id) {
+- found_records.emplace_back(ref, value);
++ found_records.emplace_back() = {ref, value};
+ found = true;
+ } else {
+ std::vector<ReferenceAndSample>* samples =
+ GetSampleMapRecordsWhileLocked(found_id);
+ CHECK(samples);
+- samples->emplace_back(ref, value);
++ samples->emplace_back() = {ref, value};
+ }
+ }
+
+diff -up chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me chromium-119.0.6045.59/net/dns/host_resolver_cache.cc
+--- chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me 2023-10-31 20:48:19.153868338 +0100
++++ chromium-119.0.6045.59/net/dns/host_resolver_cache.cc 2023-10-31 20:51:37.634526549 +0100
+@@ -368,7 +368,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-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me 2023-10-31 22:32:58.995997897 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc 2023-10-31 22:33:28.290520601 +0100
+@@ -1733,10 +1733,10 @@ std::unique_ptr<AutofillProfile> Autofil
+ }
+
+ base::span<const uint8_t> observations_data = s.ColumnBlob(3);
+- field_type_values.emplace_back(
++ field_type_values.emplace_back() = {
+ type, s.ColumnString16(1), s.ColumnInt(2),
+ std::vector<uint8_t>(observations_data.begin(),
+- observations_data.end()));
++ observations_data.end())};
+
+ if (type == ADDRESS_HOME_COUNTRY) {
+ country_code = base::UTF16ToUTF8(s.ColumnString16(1));
+diff -up chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc
+--- chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than 2023-10-31 22:41:22.850233005 +0100
++++ chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc 2023-10-31 22:42:37.276931933 +0100
+@@ -625,7 +625,7 @@ void PasswordManager::OnUserModifiedNonP
+ // |driver| might be empty on iOS or in tests.
+ int driver_id = driver ? driver->GetId() : 0;
+ possible_usernames_.Put(
+- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
++ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
+ PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
+ renderer_id, value, base::Time::Now(), driver_id,
+ autocomplete_attribute_has_username, is_likely_otp));
+diff -up chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc
+--- chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than 2023-10-31 23:31:08.438267908 +0100
++++ chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc 2023-10-31 23:32:08.979358711 +0100
+@@ -2854,10 +2854,10 @@ DoGetKAnonymityData(sql::Database& db,
+
+ std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
+ while (interest_group_kanon_query.Step()) {
+- k_anon_data.emplace_back(
++ k_anon_data.emplace_back() = {
+ /*key=*/interest_group_kanon_query.ColumnString(0),
+ /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
+- /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
++ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
+ }
+ if (!interest_group_kanon_query.Succeeded()) {
+ return absl::nullopt;
+diff -up chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc
+--- chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than 2023-11-01 11:19:42.745395797 +0100
++++ chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc 2023-11-01 11:22:16.670920679 +0100
+@@ -1881,7 +1881,7 @@ void FederatedAuthRequestImpl::ShowError
+ base::BindOnce(&FederatedAuthRequestImpl::CompleteRequestWithError,
+ weak_ptr_factory_.GetWeakPtr()));
+ absl::optional<TokenError> token_error =
+- error ? absl::make_optional<TokenError>(error->code, error->url)
++ error ? absl::make_optional<TokenError>({error->code, error->url})
+ : absl::nullopt;
+
+ // TODO(crbug.com/1485710): Refactor IdentityCredentialTokenError
+--- chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h 2023-11-01 17:29:54.269820415 +0100
+@@ -52,53 +52,53 @@
zcr_color_manager_v1_chromaticity_names,
PrimaryVersion>(
{{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
@@ -117,7 +391,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
// 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
+@@ -107,68 +107,68 @@
zcr_color_manager_v1_eotf_names,
TransferVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -128,6 +402,11 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
{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_SRGB_HDR,
+- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
- TransferVersion(gfx::ColorSpace::TransferID::BT709,
- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
@@ -219,7 +498,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -174,18 +174,18 @@ constexpr auto kEotfMap = base::MakeFixe
+@@ -177,18 +177,18 @@
constexpr auto kTransferMap =
base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -245,15 +524,18 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -194,68 +194,68 @@ constexpr auto kTransferMap =
+@@ -197,70 +197,70 @@
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_SRGB_HDR,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kSRGB,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
@@ -346,222 +628,76 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
gfx::ColorSpace::PrimaryID primaryID,
-diff -up chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
---- chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2023-08-03 13:23:33.748394615 +0200
-+++ chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-08-03 13:25:01.140489840 +0200
-@@ -470,10 +470,10 @@ void ChromeOmniboxClient::OnAutocomplete
- alternative_nav_match);
-
- // Store the details necessary to open the omnibox match via browser commands.
-- location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+ location_bar_->set_navigation_params(LocationBar::NavigationParams{
- destination_url, disposition, transition, match_selection_timestamp,
- destination_url_entered_without_scheme,
-- destination_url_entered_with_http_scheme));
-+ destination_url_entered_with_http_scheme});
-
- if (browser_) {
- auto navigation = chrome::OpenCurrentURL(browser_);
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
-diff -up chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h
---- chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me 2023-09-15 10:48:41.330294241 +0200
-+++ chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h 2023-09-15 10:51:24.501324416 +0200
-@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
- Color::ColorSpace color_interpolation_space,
- absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
- return base::AdoptRef(new FontPalette(
-- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
- normalized_percentage, alpha_multiplier, color_interpolation_space,
- hue_interpolation_method));
- }
-@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
- double normalized_percentage) {
- double end_percentage = normalized_percentage * 100.0;
- double start_percentage = 100.0 - end_percentage;
-- return NonNormalizedPercentages(start_percentage, end_percentage);
-+ return NonNormalizedPercentages{start_percentage, end_percentage};
- }
-
- double GetAlphaMultiplier() const {
-diff -up chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me 2023-09-15 12:17:35.664861257 +0200
-+++ chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc 2023-09-15 12:21:06.112694256 +0200
-@@ -8509,7 +8509,7 @@ void RenderFrameHostImpl::SendFencedFram
- for (const blink::FencedFrame::ReportingDestination& destination :
- destinations) {
- SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(event_type, event_data), destination,
-+ DestinationEnumEvent{event_type, event_data}, destination,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
- }
-@@ -8545,7 +8545,7 @@ void RenderFrameHostImpl::SendFencedFram
- }
-
- SendFencedFrameReportingBeaconInternal(
-- DestinationURLEvent(destination_url),
-+ DestinationURLEvent{destination_url},
- blink::FencedFrame::ReportingDestination::kBuyer,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
-@@ -8617,8 +8617,8 @@ void RenderFrameHostImpl::MaybeSendFence
- for (blink::FencedFrame::ReportingDestination destination :
- info->destinations) {
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
-- info->data),
-+ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
-+ info->data},
- destination,
- /*from_renderer=*/false, info->attribution_reporting_runtime_features,
- GetFrameTreeNodeId(), navigation_request.GetNavigationId());
-diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me 2023-09-15 22:04:09.233356627 +0200
-+++ chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-09-15 22:05:44.126063992 +0200
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
- // TODO(crbug.com/1445072): Add actual domains with attribute names.
- profile_attributes->insert(std::make_pair(
- "supported.test",
-- SAMLProfileAttributes("placeholderName", "placeholderDomain",
-- "placeholderToken")));
-+ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+ "placeholderToken"}));
-
- // Extract domains and attributes from the command line switch.
- const base::CommandLine& command_line =
-diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
---- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200
-+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200
-@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
- "'version' field of type string");
- }
-
-- brands.emplace_back(*brand, *version);
-+ brands.emplace_back() = {*brand, *version};
- }
-
- client_hints.brands = std::move(brands);
-@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
- "a 'version' field of type string");
- }
+@@ -283,4 +283,4 @@
-- full_version_list.emplace_back(*brand, *version);
-+ full_version_list.emplace_back() = {*brand, *version};
- }
+ } // namespace ui::wayland
- client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200
-+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200
-@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
+-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+\ Kein Zeilenumbruch am Dateiende.
++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me 2023-11-01 20:46:15.997861278 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-11-01 20:49:33.603371680 +0100
+@@ -58,13 +58,13 @@ EmbeddedPermissionPromptPreviouslyGrante
+ std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
+- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- while (rule_iterator && rule_iterator->HasNext()) {
- auto rule = rule_iterator->Next();
-- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
-- rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+ rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- setting_type,
- permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
- auto rule = rule_iterator->Next();
- if (rule->primary_pattern.Matches(origin_gurl) &&
- rule->secondary_pattern.Matches(origin_gurl)) {
-- patterns_to_delete.emplace_back(
-- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {
-+ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- content_setting_type, trigger_event);
- }
-diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
---- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200
-+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200
-@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
- AutoLock lock(track_event_lock_);
-- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
-- args.backend_type);
-+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+ args.backend_type};
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
+- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal};
+ return buttons;
}
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
---- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200
-+++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200
-@@ -764,8 +764,8 @@ void SavePackage::Finish() {
- if (download_) {
- std::vector<download::DownloadSaveItemData::ItemInfo> files;
- for (auto& item : saved_success_items_) {
-- files.emplace_back(item.second->full_path(), item.second->url(),
-- item.second->referrer().url);
-+ files.emplace_back() = {item.second->full_path(), item.second->url(),
-+ item.second->referrer().url};
- }
- download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
- }
-diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
---- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200
-+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200
-@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
- GdkRectangle geometry;
- gdk_monitor_get_geometry(monitor, &geometry);
- int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
-- config.display_geometries.emplace_back(
-+ config.display_geometries.emplace_back() = {
- gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
- monitor_scale * geometry.width,
- monitor_scale * geometry.height),
-- monitor_scale * font_scale);
-+ static_cast<float>(monitor_scale * font_scale)};
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than 2023-11-01 20:52:29.005464494 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2023-11-01 21:14:12.741859604 +0100
+@@ -56,12 +56,12 @@ std::vector<EmbeddedPermissionPromptAskV
+ EmbeddedPermissionPromptAskView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+ if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
}
- return config;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+- ButtonType::kAllow, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++ ButtonType::kAllow, ui::ButtonStyle::kTonal};
+ return buttons;
}
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me 2023-10-06 10:38:52.473145692 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-06 10:37:30.268617169 +0200
-@@ -174,9 +174,9 @@ class ContactInfoProfileSetter {
- CHECK(observations.empty());
- for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
- proto_observations) {
-- observations.emplace_back(proto_observation.type(),
-+ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
- ProfileTokenQuality::FormSignatureHash(
-- proto_observation.form_hash()));
-+ proto_observation.form_hash())};
- }
- }
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me 2023-10-06 10:41:37.746402215 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc 2023-10-06 10:42:28.469562927 +0200
-@@ -553,11 +553,11 @@ ServerCvc AutofillWalletCvcStructDataFro
- base::StringToInt64(wallet_credential_specifics.instrument_id(),
- &instrument_id);
-
-- return ServerCvc(
-+ return ServerCvc{
- instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
- base::Time::UnixEpoch() +
- base::Milliseconds(wallet_credential_specifics
-- .last_updated_time_unix_epoch_millis()));
-+ .last_updated_time_unix_epoch_millis())};
- }
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me 2023-11-01 21:22:02.222646903 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2023-11-01 21:19:58.769619393 +0100
+@@ -72,6 +72,7 @@ class EmbeddedPermissionPromptBaseView :
+ struct RequestLineConfiguration {
+ const raw_ptr<const gfx::VectorIcon> icon;
+ std::u16string message;
++ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
+ };
- VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics(
-diff -up chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc
---- chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me 2023-10-06 13:46:57.287089040 +0200
-+++ chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc 2023-10-06 13:47:25.450632156 +0200
-@@ -604,7 +604,7 @@ void OnTokenRequestParsed(
- if (response_error) {
- int error_code = response_error->FindInt(kErrorCodeKey).value_or(0);
- GURL error_url = ExtractUrl(*response_error, kErrorUrlKey);
-- token_result.error = TokenError(error_code, error_url);
-+ token_result.error = TokenError{error_code, error_url};
- }
- }
+ struct ButtonConfiguration {
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than 2023-11-01 21:25:31.118626473 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2023-11-01 21:30:06.383340274 +0100
+@@ -48,8 +48,8 @@ EmbeddedPermissionPromptPolicyView::GetR
+ std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
+ EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
+- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
+ return buttons;
+ }
diff --git a/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
new file mode 100644
index 0000000000000..5cb969f4f40cf
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
@@ -0,0 +1,21 @@
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200
+@@ -52,7 +52,7 @@ class FragmentDataIterator
+ public:
+ explicit FragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(&object.FirstFragment()) {}
+- explicit FragmentDataIterator(nullptr_t)
++ explicit FragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
+@@ -63,7 +63,7 @@ class MutableFragmentDataIterator
+ explicit MutableFragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(
+ &object.GetMutableForPainting().FirstFragment()) {}
+- explicit MutableFragmentDataIterator(nullptr_t)
++ explicit MutableFragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
diff --git a/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
new file mode 100644
index 0000000000000..717d897446c7c
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
@@ -0,0 +1,164 @@
+commit bdcc23e0a5e7e220660d3f54c97262f9a4c31606
+Author: Nick Diego Yamane <nickdiego@igalia.com>
+Date: Thu Nov 2 17:26:25 2023 +0000
+
+ gbm: nvidia: use separate bo to verify modifiers
+
+ Buggy Nvidia drivers fail to return FDs for planes of a BO which had
+ already an imported BO destroyed before. This is a workaround for that
+ issue, which consists of creating/destroying a separate 1x1 BO for
+ validating the modifiers before actually creating the final requested
+ BO, which for now is limited to IS_LINUX builds.
+
+ The Nvidia driver bug is being tracked under internal bug 4315529. There
+ seems to be other issues when running under Wayland with Nvidia, which
+ will be tracked and addressed in separate patches.
+
+ R=dcastagna, msisov@igalia.com
+
+ with ozone/wayland backend and verify GPU acceleration is not broken.
+
+ Test: In a single Nvidia GPU setup, with proprietary driver, run Chrome
+ Bug: 1273758, 1478684, 1463851
+ Change-Id: I9f322bcf40b460bcd4ead02f05dd2e9a8d271cea
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989782
+ Reviewed-by: Maksim Sisov <msisov@igalia.com>
+ Commit-Queue: Nick Yamane <nickdiego@igalia.com>
+ Cr-Commit-Position: refs/heads/main@{#1218924}
+
+diff --git a/ui/gfx/linux/gbm_wrapper.cc b/ui/gfx/linux/gbm_wrapper.cc
+index bf90b76605f68..14918c19c0ab0 100644
+--- a/ui/gfx/linux/gbm_wrapper.cc
++++ b/ui/gfx/linux/gbm_wrapper.cc
+@@ -11,6 +11,7 @@
+ #include "base/logging.h"
+ #include "base/memory/raw_ptr.h"
+ #include "base/memory/raw_ptr_exclusion.h"
++#include "base/numerics/safe_conversions.h"
+ #include "base/posix/eintr_wrapper.h"
+ #include "skia/ext/legacy_display_globals.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -71,6 +72,7 @@ base::ScopedFD GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
+ int ret;
+ // Use DRM_RDWR to allow the fd to be mappable in another process.
+ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++ PLOG_IF(ERROR, ret != 0) << "Failed to get fd for plane.";
+
+ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
+ // anyways
+@@ -301,58 +303,82 @@ class Device final : public ui::GbmDevice {
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferWithModifiers(
+ uint32_t format,
+- const gfx::Size& size,
++ const gfx::Size& requested_size,
+ uint32_t flags,
+ const std::vector<uint64_t>& modifiers) override {
+- if (modifiers.empty())
+- return CreateBuffer(format, size, flags);
+-
+- std::vector<uint64_t> filtered_modifiers =
+- GetFilteredModifiers(format, flags, modifiers);
+- struct gbm_bo* bo = nullptr;
+- while (filtered_modifiers.size() > 0) {
+- bo = gbm_bo_create_with_modifiers(device_, size.width(), size.height(),
+- format, filtered_modifiers.data(),
+- filtered_modifiers.size());
+- if (!bo) {
++ if (modifiers.empty()) {
++ return CreateBuffer(format, requested_size, flags);
++ }
++
++ // Buggy drivers prevent us from getting plane FDs from a BO which had its
++ // previously imported BO destroyed. E.g: Nvidia. Thus, on Linux Desktop, we
++ // do the create/import modifiers validation loop below using a separate set
++ // of 1x1 BOs which are destroyed before creating the final BO creation used
++ // to instantiate the returned GbmBuffer.
++ gfx::Size size =
++#if BUILDFLAG(IS_LINUX)
++ gfx::Size(1, 1);
++#else
++ requested_size;
++#endif
++ auto filtered_modifiers = GetFilteredModifiers(format, flags, modifiers);
++ struct gbm_bo* created_bo = nullptr;
++ bool valid_modifiers = false;
++
++ while (!valid_modifiers && !filtered_modifiers.empty()) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, size.width(), size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ if (!created_bo) {
+ return nullptr;
+ }
+
+- struct gbm_import_fd_modifier_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+- fd_data.num_fds = gbm_bo_get_plane_count(bo);
+- fd_data.modifier = gbm_bo_get_modifier(bo);
+-
+- // Store fds in the vector of base::ScopedFDs. Will be released
+- // automatically.
++ const int planes_count = gbm_bo_get_plane_count(created_bo);
++ struct gbm_import_fd_modifier_data fd_data = {
++ .width = base::checked_cast<uint32_t>(size.width()),
++ .height = base::checked_cast<uint32_t>(size.height()),
++ .format = format,
++ .num_fds = base::checked_cast<uint32_t>(planes_count),
++ .modifier = gbm_bo_get_modifier(created_bo)};
++ // Store fds in a base::ScopedFDs vector. Will be released automatically.
+ std::vector<base::ScopedFD> fds;
+ for (size_t i = 0; i < static_cast<size_t>(fd_data.num_fds); ++i) {
+- fds.emplace_back(GetPlaneFdForBo(bo, i));
++ fds.emplace_back(GetPlaneFdForBo(created_bo, i));
+ fd_data.fds[i] = fds.back().get();
+- fd_data.strides[i] = gbm_bo_get_stride_for_plane(bo, i);
+- fd_data.offsets[i] = gbm_bo_get_offset(bo, i);
++ fd_data.strides[i] = gbm_bo_get_stride_for_plane(created_bo, i);
++ fd_data.offsets[i] = gbm_bo_get_offset(created_bo, i);
+ }
+
+- struct gbm_bo* bo_import =
++ struct gbm_bo* imported_bo =
+ gbm_bo_import(device_, GBM_BO_IMPORT_FD_MODIFIER, &fd_data, flags);
+- if (bo_import) {
+- gbm_bo_destroy(bo_import);
+- break;
++
++ if (imported_bo) {
++ valid_modifiers = true;
++ gbm_bo_destroy(imported_bo);
+ } else {
+- gbm_bo_destroy(bo);
+- bo = nullptr;
+ AddModifierToBlocklist(format, flags, fd_data.modifier);
+ filtered_modifiers =
+ GetFilteredModifiers(format, flags, filtered_modifiers);
+ }
++
++ if (!valid_modifiers || size != requested_size) {
++ gbm_bo_destroy(created_bo);
++ created_bo = nullptr;
++ }
+ }
+- if (!bo) {
+- return nullptr;
++
++ // If modifiers were successfully verified though `created_bo` is null here,
++ // it it means that the buffer created for verification could not be reused,
++ // ie: different size, so create it now with the `requested_size`.
++ if (valid_modifiers && !created_bo) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, requested_size.width(), requested_size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ PLOG_IF(ERROR, !created_bo) << "Failed to create BO with modifiers.";
+ }
+
+- return CreateBufferForBO(bo, format, size, flags);
++ return created_bo ? CreateBufferForBO(created_bo, format, size, flags)
++ : nullptr;
+ }
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferFromHandle(
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index cc36911cd338d..c4b76486570e2 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
# Template file for 'chromium'
pkgname=chromium
# See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=118.0.5993.70
+version=119.0.6045.105
revision=1
archs="i686* x86_64* aarch64* armv7l*"
hostmakedepends="
@@ -27,7 +27,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://www.chromium.org/"
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=49ee00a734de3dae7c421eb3c974e8d451b4de6f5b4e34b603fd6435eab6993d
+checksum=73cb8c39e928f8c627d747d37a3b020f08913ef5508f893758d70bdbd545dbcf
lib32disabled=yes
@@ -52,7 +52,8 @@ if [ "$CROSS_BUILD" ]; then
$(vopt_if pipewire pipewire-devel) ffmpeg-devel opus-devel pango-devel libva-devel
libcurl-devel snappy-devel libXrandr-devel libXcomposite-devel cups-devel
mit-krb5-devel alsa-lib-devel libXdamage-devel libepoxy-devel libevdev-devel
- libavif-devel libaom-devel jsoncpp-devel woff2-devel libdav1d-devel libflac-devel"
+ libavif-devel libaom-devel jsoncpp-devel woff2-devel libdav1d-devel libflac-devel
+ libdrm-devel libgbm-devel"
fi
if [ ! "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Updated] chromium: update to 119.0.6045.105.
2023-11-04 15:08 [PR PATCH] chromium: update to 119.0.6045.105 Duncaen
2023-11-05 14:04 ` [PR PATCH] [Updated] " Duncaen
@ 2023-11-05 14:34 ` Duncaen
2023-11-05 23:15 ` [PR PATCH] [Merged]: " Duncaen
2 siblings, 0 replies; 4+ messages in thread
From: Duncaen @ 2023-11-05 14:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 412 bytes --]
There is an updated pull request by Duncaen against master on the void-packages repository
https://github.com/Duncaen/void-packages chromium-119
https://github.com/void-linux/void-packages/pull/47058
chromium: update to 119.0.6045.105.
[ci skip]
* [x] x86_64-glibc
* [x] x86_64-musl
* [ ] aarch64-musl
* [ ] i686
A patch file from https://github.com/void-linux/void-packages/pull/47058.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-119-47058.patch --]
[-- Type: text/x-diff, Size: 76433 bytes --]
From 2f59b8237b45f42bebb566aaf56f8f3f70d10e77 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sat, 4 Nov 2023 16:02:39 +0100
Subject: [PATCH] chromium: update to 119.0.6045.105.
---
.../chromium-118-use_system_freetype.patch | 91 ---
.../patches/chromium-119-assert.patch | 12 +
.../patches/chromium-119-constexpr.patch | 12 +
....4.patch => chromium-119-ffmpeg-4.4.patch} | 14 +-
.../chromium-119-fix-aarch64-musl.patch | 11 +
...tVideoDecoder-flag-on-VA-API-devices.patch | 195 ++++++
| 12 -
...hromium-119-no_matching_constructor.patch} | 608 +++++++++++-------
...-119-nullptr_t-without-namespace-std.patch | 21 +
...a-use-separate-bo-to-verify-modifier.patch | 164 +++++
srcpkgs/chromium/template | 7 +-
11 files changed, 797 insertions(+), 350 deletions(-)
delete mode 100644 srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-assert.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-constexpr.patch
rename srcpkgs/chromium/patches/{chromium-118-ffmpeg-4.4.patch => chromium-119-ffmpeg-4.4.patch} (53%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-fix-aarch64-musl.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
rename srcpkgs/chromium/patches/{chromium-118-missing-header-files.patch => chromium-119-missing-header-files.patch} (97%)
rename srcpkgs/chromium/patches/{chromium-118-no_matching_constructor.patch => chromium-119-no_matching_constructor.patch} (56%)
create mode 100644 srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
create mode 100644 srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
diff --git a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch b/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
deleted file mode 100644
index ce9fbdebe2fb7..0000000000000
--- a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-commit ed354d00aeda84693611b14baa56a287557a26b5
-Author: Munira Tursunova <moonira@google.com>
-Date: Tue Sep 12 11:54:48 2023 +0000
-
- Add check for use_system_freetype when importing private freetype header
-
- In [0] the include of private freetype header was added, which caused
- build breakage when use_system_freetype=true, see [1].
-
- This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
-
- [0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
- [1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
-
- Bug: 1429581
- Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
- Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
- Commit-Queue: Munira Tursunova <moonira@google.com>
- Reviewed-by: Dominik Röttsches <drott@chromium.org>
- Reviewed-by: Rick Byers <rbyers@chromium.org>
- Cr-Commit-Position: refs/heads/main@{#1195323}
-
-diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
-index 7b086f95413ff..4ce797ebad722 100644
---- a/third_party/BUILD.gn
-+++ b/third_party/BUILD.gn
-@@ -2,6 +2,7 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
-+import("//build/buildflag_header.gni")
- import("//build/config/features.gni")
- import("//build/config/freetype/freetype.gni")
- import("//third_party/harfbuzz-ng/harfbuzz.gni")
-@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
- public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
- }
- }
-+
-+buildflag_header("freetype_buildflags") {
-+ header = "freetype_buildflags.h"
-+ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
-+}
-diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
-index 591d2f939605b..f6a2cd2168d1e 100644
---- a/third_party/blink/renderer/platform/BUILD.gn
-+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1717,6 +1717,7 @@ component("platform") {
- "//services/viz/public/cpp/gpu",
- "//skia",
- "//skia:skcms",
-+ "//third_party:freetype_buildflags",
- "//third_party:freetype_harfbuzz",
- "//third_party/abseil-cpp:absl",
- "//third_party/blink/public:image_resources",
-diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-index abe06f35c14a5..b2bfd88f0d85d 100644
---- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-+++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
-@@ -48,7 +48,7 @@
- #include "third_party/blink/renderer/platform/wtf/math_extras.h"
- #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
- #include "third_party/blink/renderer/platform/wtf/text/unicode.h"
--#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#include "third_party/freetype_buildflags.h"
- #include "third_party/skia/include/core/SkFontMetrics.h"
- #include "third_party/skia/include/core/SkPath.h"
- #include "third_party/skia/include/core/SkTypeface.h"
-@@ -57,12 +57,22 @@
- #include "ui/gfx/geometry/skia_conversions.h"
- #include "v8/include/v8.h"
-
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
-+#include "third_party/freetype/src/src/autofit/afws-decl.h"
-+#endif
-+
- namespace blink {
-
- constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
- constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
-+
-+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
- constexpr int32_t kFontObjectsMemoryConsumption =
- std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
-+#else
-+// sizeof(AF_LatinMetricsRec) = 2128
-+constexpr int32_t kFontObjectsMemoryConsumption = 2128;
-+#endif
-
- SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
- scoped_refptr<CustomFontData> custom_data,
diff --git a/srcpkgs/chromium/patches/chromium-119-assert.patch b/srcpkgs/chromium/patches/chromium-119-assert.patch
new file mode 100644
index 0000000000000..6c502f13a5955
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-assert.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h
+--- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100
++++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100
+@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
+ class SmallVector {
+ // Currently only support trivially copyable and trivially destructible data
+ // types, as it uses memcpy to copy elements and never calls destructors.
+- ASSERT_TRIVIALLY_COPYABLE(T);
++ //ASSERT_TRIVIALLY_COPYABLE(T);
+ static_assert(std::is_trivially_destructible<T>::value);
+
+ public:
diff --git a/srcpkgs/chromium/patches/chromium-119-constexpr.patch b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
new file mode 100644
index 0000000000000..b195ff408ba81
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-constexpr.patch
@@ -0,0 +1,12 @@
+diff -up chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h
+--- chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me 2023-10-31 21:05:05.548565241 +0100
++++ chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h 2023-10-31 21:20:53.945532094 +0100
+@@ -93,7 +93,7 @@ class MiracleParameter {
+ template <>
+ class MiracleParameter<std::string> : public MiracleParameterBase<std::string> {
+ public:
+- constexpr MiracleParameter(const base::Feature* feature,
++ MiracleParameter(const base::Feature* feature,
+ const char* param_name,
+ std::string default_value)
+ : MiracleParameterBase(feature, param_name, std::move(default_value)) {}
diff --git a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
similarity index 53%
rename from srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
rename to srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
index 556c734d4e02e..04d04b166ba37 100644
--- a/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch
+++ b/srcpkgs/chromium/patches/chromium-119-ffmpeg-4.4.patch
@@ -1,17 +1,15 @@
-diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
-index ac4713b07268..492a9a37d096 100644
---- a/media/filters/ffmpeg_demuxer.cc
+--- a/media/filters/ffmpeg_demuxer.cc.orig
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
- buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
- side_data.data(), side_data.size());
- } else {
+@@ -390,7 +390,7 @@
+
+ scoped_refptr<DecoderBuffer> buffer;
+
- size_t side_data_size = 0;
+ int side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
-@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+@@ -453,7 +453,7 @@
packet->size - data_offset);
}
diff --git a/srcpkgs/chromium/patches/chromium-119-fix-aarch64-musl.patch b/srcpkgs/chromium/patches/chromium-119-fix-aarch64-musl.patch
new file mode 100644
index 0000000000000..cbb2ec14c90fb
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-fix-aarch64-musl.patch
@@ -0,0 +1,11 @@
+--- a/v8/src/base/cpu.cc
++++ b/v8/src/base/cpu.cc
+@@ -14,7 +14,7 @@
+ #if V8_OS_LINUX
+ #include <linux/auxvec.h> // AT_HWCAP
+ #endif
+-#if V8_GLIBC_PREREQ(2, 16) || V8_OS_ANDROID
++#if V8_OS_LINUX || V8_OS_ANDROID
+ #include <sys/auxv.h> // getauxval()
+ #endif
+ #if V8_OS_QNX
diff --git a/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
new file mode 100644
index 0000000000000..88d675e8047f0
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch
@@ -0,0 +1,195 @@
+commit 87fca7f1759e800bd72b5ab6511eea17d6400a76
+Author: Pilar Molina Lopez <pmolinalopez@chromium.org>
+Date: Tue Oct 24 19:57:55 2023 +0000
+
+ video: hide UseChromeOSDirectVideoDecoder flag on VA-API devices
+
+ We are seeing crashes causes by this CHECK statement:
+ https://source.chromium.org/chromium/chromium/src/+/main:content/public/browser/gpu_utils.cc;l=151;drc=0e777ba9b6c34611705d5b145c92bcd09539011c
+ It's triggered when the user manually disables the UseChromeOSDirectVideoDecoder
+ flag on VA-API devices (Intel and AMD). This flag is supported only on
+ non-Intel and non-AMD devices. This CL adds this information to the flag
+ description and hides the flag in case VA-API is used.
+
+ Bug: 1469285
+ Test: manual test on volteer
+ Change-Id: I153b9ccb3815498c91ce5eee966834060749e247
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4960919
+ Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+ Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
+ Reviewed-by: Avi Drissman <avi@chromium.org>
+ Commit-Queue: Pilar Molina Lopez <pmolinalopez@chromium.org>
+ Cr-Commit-Position: refs/heads/main@{#1214411}
+
+diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
+index ee9fb206cde36..0fe18013ab044 100644
+--- a/chrome/browser/DEPS
++++ b/chrome/browser/DEPS
+@@ -418,6 +418,7 @@ include_rules = [
+ "+media/base", # For media switches
+ "+media/capabilities", # For InMemoryVideoDecodeStatsDB
+ "+media/cdm",
++ "+media/gpu/buildflags.h",
+ "+media/remoting/device_capability_checker.h",
+ "+media/capture",
+ "+media/midi", # For midi switches
+diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+index 84709afaa34d0..777bebeb33d9e 100644
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -7578,11 +7578,13 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ {"chromeos-direct-video-decoder",
+ flag_descriptions::kChromeOSDirectVideoDecoderName,
+ flag_descriptions::kChromeOSDirectVideoDecoderDescription,
+ kOsCrOS | kOsLacros,
+ FEATURE_VALUE_TYPE(media::kUseChromeOSDirectVideoDecoder)},
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ {"enable-vbr-encode-acceleration",
+ flag_descriptions::kChromeOSHWVBREncodingName,
+diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
+index 318a8be9ab1a6..d2497d0c403f3 100644
+--- a/chrome/browser/flag_descriptions.cc
++++ b/chrome/browser/flag_descriptions.cc
+@@ -7,6 +7,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "components/supervised_user/core/common/buildflags.h"
++#include "media/gpu/buildflags.h"
+ #include "pdf/buildflags.h"
+
+ // Keep in identical order as the header file, see the comment at the top
+@@ -7338,6 +7339,7 @@ const char kQuickOfficeForceFileDownloadDescription[] =
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
++#if !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSDirectVideoDecoderName[] = "ChromeOS Direct Video Decoder";
+ const char kChromeOSDirectVideoDecoderDescription[] =
+ "Enables the hardware-accelerated ChromeOS direct media::VideoDecoder "
+@@ -7345,7 +7347,8 @@ const char kChromeOSDirectVideoDecoderDescription[] =
+ "--platform-disallows-chromeos-direct-video-decoder command line switch "
+ "which is added for platforms where said direct VideoDecoder does not work "
+ "or is not well tested (see the disable_cros_video_decoder USE flag in "
+- "ChromeOS)";
++ "ChromeOS). This flag is supported only on non-Intel and non-AMD devices.";
++#endif // !BUILDFLAG(USE_VAAPI)
+ const char kChromeOSHWVBREncodingName[] =
+ "ChromeOS Hardware Variable Bitrate Encoding";
+ const char kChromeOSHWVBREncodingDescription[] =
+diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc
+index dceeca9659a85..3d091359777cc 100644
+--- a/content/public/browser/gpu_utils.cc
++++ b/content/public/browser/gpu_utils.cc
+@@ -133,20 +133,26 @@ const gpu::GpuPreferences GetGpuPreferencesFromCommandLine() {
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ // The direct VideoDecoder is disallowed on some particular SoC/platforms.
+ const bool should_use_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ true;
++#else
+ !command_line->HasSwitch(
+ switches::kPlatformDisallowsChromeOSDirectVideoDecoder) &&
+ base::FeatureList::IsEnabled(media::kUseChromeOSDirectVideoDecoder);
++#endif // BUILDFLAG(USE_VAAPI)
++
++ gpu_preferences.enable_chromeos_direct_video_decoder =
++#if BUILDFLAG(USE_VAAPI)
++ should_use_direct_video_decoder;
++#else
++ // For testing purposes, the following flag allows using the "other" video
++ // decoder implementation.
++ base::FeatureList::IsEnabled(
++ media::kUseAlternateVideoDecoderImplementation)
++ ? !should_use_direct_video_decoder
++ : should_use_direct_video_decoder;
++#endif // BUILDFLAG(USE_VAAPI)
+
+- // For testing purposes, the following flag allows using the "other" video
+- // decoder implementation.
+- if (base::FeatureList::IsEnabled(
+- media::kUseAlternateVideoDecoderImplementation)) {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- !should_use_direct_video_decoder;
+- } else {
+- gpu_preferences.enable_chromeos_direct_video_decoder =
+- should_use_direct_video_decoder;
+- }
+ #if BUILDFLAG(USE_VAAPI)
+ CHECK(gpu_preferences.enable_chromeos_direct_video_decoder);
+ #endif // BUILDFLAG(USE_VAAPI)
+diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
+index 1af4de46e2a02..3086b1bec2134 100644
+--- a/media/base/media_switches.cc
++++ b/media/base/media_switches.cc
+@@ -1192,6 +1192,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ "ChromeOSHWVBREncoding",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
++#if !BUILDFLAG(USE_VAAPI)
+ // Enable the hardware-accelerated direct video decoder instead of the one
+ // needing the VdaVideoDecoder adapter. This flag is used mainly as a
+ // chrome:flag for developers debugging issues as well as to be able to
+@@ -1200,6 +1201,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
+ BASE_FEATURE(kUseChromeOSDirectVideoDecoder,
+ "UseChromeOSDirectVideoDecoder",
+ base::FEATURE_ENABLED_BY_DEFAULT);
++#endif // !BUILDFLAG(USE_VAAPI)
+
+ // Limit the number of concurrent hardware decoder instances on ChromeOS.
+ BASE_FEATURE(kLimitConcurrentDecoderInstances,
+@@ -1228,7 +1230,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ "PreferSoftwareMT21",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ // ChromeOS has one of two VideoDecoder implementations active based on
+ // SoC/board specific configurations that are sent via command line flags. This
+ // switch allows using the non default implementation for testing.
+@@ -1236,7 +1238,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
+ BASE_FEATURE(kUseAlternateVideoDecoderImplementation,
+ "UseAlternateVideoDecoderImplementation",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
+diff --git a/media/base/media_switches.h b/media/base/media_switches.h
+index 1d9c2c2d9df73..96d9595be110e 100644
+--- a/media/base/media_switches.h
++++ b/media/base/media_switches.h
+@@ -14,6 +14,7 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "media/base/media_export.h"
++#include "media/gpu/buildflags.h"
+ #include "media/media_buildflags.h"
+
+ namespace base {
+@@ -381,16 +382,18 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBuiltInHlsPlayer);
+ #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWAV1Decoder);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWVBREncoding);
++#if !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseChromeOSDirectVideoDecoder);
++#endif // !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kLimitConcurrentDecoderInstances);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUSeSequencedTaskRunnerForVEA);
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferGLImageProcessor);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferSoftwareMT21);
+ #endif // defined(ARCH_CPU_ARM_FAMILY)
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAlternateVideoDecoderImplementation);
+-#endif // BUILDFLAG(IS_CHROMEOS)
++#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
+ #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
+
+ #if BUILDFLAG(IS_WIN)
diff --git a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
similarity index 97%
rename from srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
rename to srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
index ea415df32835b..a2542ef420eaf 100644
--- a/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch
+++ b/srcpkgs/chromium/patches/chromium-119-missing-header-files.patch
@@ -468,15 +468,3 @@ diff -up chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor
#include <type_traits>
namespace device {
-diff -up chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h
---- chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me 2023-10-02 13:38:31.217806428 +0200
-+++ chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h 2023-10-02 13:39:05.006427168 +0200
-@@ -5,6 +5,8 @@
- #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
- #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
-
-+#include <atomic>
-+
- #include "base/gtest_prod_util.h"
- #include "components/gwp_asan/client/export.h"
- #include "components/gwp_asan/common/lightweight_detector_state.h"
diff --git a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
similarity index 56%
rename from srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
rename to srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
index 3d7748c3d5a26..a16c979c37f1c 100644
--- a/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch
+++ b/srcpkgs/chromium/patches/chromium-119-no_matching_constructor.patch
@@ -1,19 +1,112 @@
-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(
+diff -up chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor chromium-119.0.6045.59/base/trace_event/trace_log.cc
+--- chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor 2023-10-26 18:16:51.000000000 +0200
++++ chromium-119.0.6045.59/base/trace_event/trace_log.cc 2023-10-30 16:51:02.270151487 +0100
+@@ -2191,8 +2191,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+ AutoLock lock(track_event_lock_);
+- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+- args.backend_type);
++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++ args.backend_type};
+ }
- 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_));
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc 2023-10-30 16:51:02.269151462 +0100
+@@ -226,8 +226,8 @@ void OneTimePermissionProvider::OnSuspen
- 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
+ while (rule_iterator && rule_iterator->HasNext()) {
+ auto rule = rule_iterator->Next();
+- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+- rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++ rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ setting_type,
+ permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -329,8 +329,8 @@ void OneTimePermissionProvider::DeleteEn
+ auto rule = rule_iterator->Next();
+ if (rule->primary_pattern.Matches(origin_gurl) &&
+ rule->secondary_pattern.Matches(origin_gurl)) {
+- patterns_to_delete.emplace_back(
+- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {
++ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ content_setting_type, trigger_event);
+ }
+diff -up chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-10-30 16:51:02.267151412 +0100
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+ // TODO(crbug.com/1445072): Add actual domains with attribute names.
+ profile_attributes->insert(std::make_pair(
+ "supported.test",
+- SAMLProfileAttributes("placeholderName", "placeholderDomain",
+- "placeholderToken")));
++ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++ "placeholderToken"}));
+
+ // Extract domains and attributes from the command line switch.
+ const base::CommandLine& command_line =
+diff -up chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2023-10-26 18:17:00.000000000 +0200
++++ chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-10-30 16:51:02.262151288 +0100
+@@ -474,10 +474,10 @@ void ChromeOmniboxClient::OnAutocomplete
+ alternative_nav_match);
+
+ // Store the details necessary to open the omnibox match via browser commands.
+- location_bar_->set_navigation_params(LocationBar::NavigationParams(
++ location_bar_->set_navigation_params(LocationBar::NavigationParams{
+ destination_url, disposition, transition, match_selection_timestamp,
+ destination_url_entered_without_scheme,
+- destination_url_entered_with_http_scheme));
++ destination_url_entered_with_http_scheme});
+
+ if (browser_) {
+ auto navigation = chrome::OpenCurrentURL(browser_);
+diff -up chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc
+--- chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-10-26 18:17:01.000000000 +0200
++++ chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc 2023-10-30 16:51:02.268151437 +0100
+@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
+ "'version' field of type string");
+ }
+
+- brands.emplace_back(*brand, *version);
++ brands.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.brands = std::move(brands);
+@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
+ "a 'version' field of type string");
+ }
+
+- full_version_list.emplace_back(*brand, *version);
++ full_version_list.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor 2023-10-30 16:51:02.273151562 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-30 17:41:12.685887538 +0100
+@@ -195,9 +195,9 @@ class ContactInfoProfileSetter {
+ CHECK(observations.empty());
+ for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+ metadata.observations()) {
+- observations.emplace_back(proto_observation.type(),
++ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
+ ProfileTokenQuality::FormSignatureHash(
+- proto_observation.form_hash()));
++ proto_observation.form_hash())};
+ }
+ }
+ }
+diff -up chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-10-30 16:51:02.260151238 +0100
+@@ -1530,7 +1530,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
// Issue readbacks from the surfaces:
for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
@@ -22,9 +115,87 @@ diff -up chromium-116.0.5845.50/components/viz/service/display_embedder/skia_out
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
+diff -up chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/download/save_package.cc
+--- chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/download/save_package.cc 2023-10-30 16:51:02.271151512 +0100
+@@ -769,8 +769,8 @@ void SavePackage::Finish() {
+ if (download_) {
+ std::vector<download::DownloadSaveItemData::ItemInfo> files;
+ for (auto& item : saved_success_items_) {
+- files.emplace_back(item.second->full_path(), item.second->url(),
+- item.second->referrer().url);
++ files.emplace_back() = {item.second->full_path(), item.second->url(),
++ item.second->referrer().url};
+ }
+ download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+ }
+diff -up chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200
++++ chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc 2023-10-30 17:38:09.351389984 +0100
+@@ -8567,7 +8567,7 @@ void RenderFrameHostImpl::SendFencedFram
+ for (const blink::FencedFrame::ReportingDestination& destination :
+ destinations) {
+ SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(event_type, event_data), destination,
++ DestinationEnumEvent{event_type, event_data}, destination,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+ }
+@@ -8603,7 +8603,7 @@ void RenderFrameHostImpl::SendFencedFram
+ }
+
+ SendFencedFrameReportingBeaconInternal(
+- DestinationURLEvent(destination_url),
++ DestinationURLEvent{destination_url},
+ blink::FencedFrame::ReportingDestination::kBuyer,
+ /*from_renderer=*/true, attribution_reporting_runtime_features,
+ GetFrameTreeNodeId());
+@@ -8703,8 +8703,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ data = info->data;
+ }
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ data},
+ destination,
+ /*from_renderer=*/false, attribution_reporting_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+@@ -8717,8 +8717,8 @@ void RenderFrameHostImpl::MaybeSendFence
+ for (blink::FencedFrame::ReportingDestination destination :
+ info->destinations) {
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
+- info->data),
++ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
++ info->data},
+ destination,
+ /*from_renderer=*/false, info->attribution_reporting_runtime_features,
+ GetFrameTreeNodeId(), navigation_request.GetNavigationId());
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h 2023-10-30 16:51:02.262151288 +0100
+@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ Color::ColorSpace color_interpolation_space,
+ absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+ return base::AdoptRef(new FontPalette(
+- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+ normalized_percentage, alpha_multiplier, color_interpolation_space,
+ hue_interpolation_method));
+ }
+@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ double normalized_percentage) {
+ double end_percentage = normalized_percentage * 100.0;
+ double start_percentage = 100.0 - end_percentage;
+- return NonNormalizedPercentages(start_percentage, end_percentage);
++ return NonNormalizedPercentages{start_percentage, end_percentage};
+ }
+
+ double GetAlphaMultiplier() const {
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2023-10-30 16:51:02.261151263 +0100
@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
color_interpolation_space, hue_interpolation_method, start_color,
end_color, percentage, alpha_multiplier);
@@ -34,10 +205,113 @@ diff -up chromium-116.0.5845.50/third_party/blink/renderer/platform/fonts/palett
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::
+diff -up chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-119.0.6045.59/ui/gtk/gtk_ui.cc
+--- chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/gtk/gtk_ui.cc 2023-10-30 16:51:02.272151537 +0100
+@@ -993,11 +993,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
+ GdkRectangle geometry;
+ gdk_monitor_get_geometry(monitor, &geometry);
+ int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+- config.display_geometries.emplace_back(
++ config.display_geometries.emplace_back() = {
+ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+ monitor_scale * geometry.width,
+ monitor_scale * geometry.height),
+- monitor_scale * font_scale);
++ static_cast<float>(monitor_scale * font_scale)};
+ }
+ return config;
+ }
+diff -up chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc
+--- chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me 2023-10-31 18:14:49.275728099 +0100
++++ chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc 2023-10-31 18:19:54.599223239 +0100
+@@ -221,13 +221,13 @@ PersistentSparseHistogramDataManager::Lo
+ // The sample-record could be for any sparse histogram. Add the reference
+ // to the appropriate collection for later use.
+ if (found_id == match_id) {
+- found_records.emplace_back(ref, value);
++ found_records.emplace_back() = {ref, value};
+ found = true;
+ } else {
+ std::vector<ReferenceAndSample>* samples =
+ GetSampleMapRecordsWhileLocked(found_id);
+ CHECK(samples);
+- samples->emplace_back(ref, value);
++ samples->emplace_back() = {ref, value};
+ }
+ }
+
+diff -up chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me chromium-119.0.6045.59/net/dns/host_resolver_cache.cc
+--- chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me 2023-10-31 20:48:19.153868338 +0100
++++ chromium-119.0.6045.59/net/dns/host_resolver_cache.cc 2023-10-31 20:51:37.634526549 +0100
+@@ -368,7 +368,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-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc
+--- chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me 2023-10-31 22:32:58.995997897 +0100
++++ chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc 2023-10-31 22:33:28.290520601 +0100
+@@ -1733,10 +1733,10 @@ std::unique_ptr<AutofillProfile> Autofil
+ }
+
+ base::span<const uint8_t> observations_data = s.ColumnBlob(3);
+- field_type_values.emplace_back(
++ field_type_values.emplace_back() = {
+ type, s.ColumnString16(1), s.ColumnInt(2),
+ std::vector<uint8_t>(observations_data.begin(),
+- observations_data.end()));
++ observations_data.end())};
+
+ if (type == ADDRESS_HOME_COUNTRY) {
+ country_code = base::UTF16ToUTF8(s.ColumnString16(1));
+diff -up chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc
+--- chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than 2023-10-31 22:41:22.850233005 +0100
++++ chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc 2023-10-31 22:42:37.276931933 +0100
+@@ -625,7 +625,7 @@ void PasswordManager::OnUserModifiedNonP
+ // |driver| might be empty on iOS or in tests.
+ int driver_id = driver ? driver->GetId() : 0;
+ possible_usernames_.Put(
+- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
++ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
+ PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
+ renderer_id, value, base::Time::Now(), driver_id,
+ autocomplete_attribute_has_username, is_likely_otp));
+diff -up chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc
+--- chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than 2023-10-31 23:31:08.438267908 +0100
++++ chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc 2023-10-31 23:32:08.979358711 +0100
+@@ -2854,10 +2854,10 @@ DoGetKAnonymityData(sql::Database& db,
+
+ std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
+ while (interest_group_kanon_query.Step()) {
+- k_anon_data.emplace_back(
++ k_anon_data.emplace_back() = {
+ /*key=*/interest_group_kanon_query.ColumnString(0),
+ /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
+- /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
++ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
+ }
+ if (!interest_group_kanon_query.Succeeded()) {
+ return absl::nullopt;
+diff -up chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc
+--- chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than 2023-11-01 11:19:42.745395797 +0100
++++ chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc 2023-11-01 11:22:16.670920679 +0100
+@@ -1881,7 +1881,7 @@ void FederatedAuthRequestImpl::ShowError
+ base::BindOnce(&FederatedAuthRequestImpl::CompleteRequestWithError,
+ weak_ptr_factory_.GetWeakPtr()));
+ absl::optional<TokenError> token_error =
+- error ? absl::make_optional<TokenError>(error->code, error->url)
++ error ? absl::make_optional<TokenError>({error->code, error->url})
+ : absl::nullopt;
+
+ // TODO(crbug.com/1485710): Refactor IdentityCredentialTokenError
+--- chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200
++++ chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h 2023-11-01 17:29:54.269820415 +0100
+@@ -52,53 +52,53 @@
zcr_color_manager_v1_chromaticity_names,
PrimaryVersion>(
{{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
@@ -117,7 +391,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
// 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
+@@ -107,68 +107,68 @@
zcr_color_manager_v1_eotf_names,
TransferVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -128,6 +402,11 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
{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_SRGB_HDR,
+- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
- TransferVersion(gfx::ColorSpace::TransferID::BT709,
- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
@@ -219,7 +498,7 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -174,18 +174,18 @@ constexpr auto kEotfMap = base::MakeFixe
+@@ -177,18 +177,18 @@
constexpr auto kTransferMap =
base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
@@ -245,15 +524,18 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
});
// A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -194,68 +194,68 @@ constexpr auto kTransferMap =
+@@ -197,70 +197,70 @@
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_SRGB_HDR,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kSRGB,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
@@ -346,222 +628,76 @@ diff -up chromium-116.0.5845.50/ui/base/wayland/color_manager_util.h.me chromium
zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
gfx::ColorSpace::PrimaryID primaryID,
-diff -up chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
---- chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2023-08-03 13:23:33.748394615 +0200
-+++ chromium-116.0.5845.50/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-08-03 13:25:01.140489840 +0200
-@@ -470,10 +470,10 @@ void ChromeOmniboxClient::OnAutocomplete
- alternative_nav_match);
-
- // Store the details necessary to open the omnibox match via browser commands.
-- location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+ location_bar_->set_navigation_params(LocationBar::NavigationParams{
- destination_url, disposition, transition, match_selection_timestamp,
- destination_url_entered_without_scheme,
-- destination_url_entered_with_http_scheme));
-+ destination_url_entered_with_http_scheme});
-
- if (browser_) {
- auto navigation = chrome::OpenCurrentURL(browser_);
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
-diff -up chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h
---- chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h.me 2023-09-15 10:48:41.330294241 +0200
-+++ chromium-117.0.5938.62/third_party/blink/renderer/platform/fonts/font_palette.h 2023-09-15 10:51:24.501324416 +0200
-@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
- Color::ColorSpace color_interpolation_space,
- absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
- return base::AdoptRef(new FontPalette(
-- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
- normalized_percentage, alpha_multiplier, color_interpolation_space,
- hue_interpolation_method));
- }
-@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
- double normalized_percentage) {
- double end_percentage = normalized_percentage * 100.0;
- double start_percentage = 100.0 - end_percentage;
-- return NonNormalizedPercentages(start_percentage, end_percentage);
-+ return NonNormalizedPercentages{start_percentage, end_percentage};
- }
-
- double GetAlphaMultiplier() const {
-diff -up chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc.me 2023-09-15 12:17:35.664861257 +0200
-+++ chromium-117.0.5938.62/content/browser/renderer_host/render_frame_host_impl.cc 2023-09-15 12:21:06.112694256 +0200
-@@ -8509,7 +8509,7 @@ void RenderFrameHostImpl::SendFencedFram
- for (const blink::FencedFrame::ReportingDestination& destination :
- destinations) {
- SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(event_type, event_data), destination,
-+ DestinationEnumEvent{event_type, event_data}, destination,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
- }
-@@ -8545,7 +8545,7 @@ void RenderFrameHostImpl::SendFencedFram
- }
-
- SendFencedFrameReportingBeaconInternal(
-- DestinationURLEvent(destination_url),
-+ DestinationURLEvent{destination_url},
- blink::FencedFrame::ReportingDestination::kBuyer,
- /*from_renderer=*/true, attribution_reporting_runtime_features,
- GetFrameTreeNodeId());
-@@ -8617,8 +8617,8 @@ void RenderFrameHostImpl::MaybeSendFence
- for (blink::FencedFrame::ReportingDestination destination :
- info->destinations) {
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType,
-- info->data),
-+ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType,
-+ info->data},
- destination,
- /*from_renderer=*/false, info->attribution_reporting_runtime_features,
- GetFrameTreeNodeId(), navigation_request.GetNavigationId());
-diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.me 2023-09-15 22:04:09.233356627 +0200
-+++ chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-09-15 22:05:44.126063992 +0200
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
- // TODO(crbug.com/1445072): Add actual domains with attribute names.
- profile_attributes->insert(std::make_pair(
- "supported.test",
-- SAMLProfileAttributes("placeholderName", "placeholderDomain",
-- "placeholderToken")));
-+ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+ "placeholderToken"}));
-
- // Extract domains and attributes from the command line switch.
- const base::CommandLine& command_line =
-diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
---- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200
-+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200
-@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
- "'version' field of type string");
- }
-
-- brands.emplace_back(*brand, *version);
-+ brands.emplace_back() = {*brand, *version};
- }
-
- client_hints.brands = std::move(brands);
-@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
- "a 'version' field of type string");
- }
+@@ -283,4 +283,4 @@
-- full_version_list.emplace_back(*brand, *version);
-+ full_version_list.emplace_back() = {*brand, *version};
- }
+ } // namespace ui::wayland
- client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200
-+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200
-@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
+-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+\ Kein Zeilenumbruch am Dateiende.
++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me 2023-11-01 20:46:15.997861278 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-11-01 20:49:33.603371680 +0100
+@@ -58,13 +58,13 @@ EmbeddedPermissionPromptPreviouslyGrante
+ std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
+- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- while (rule_iterator && rule_iterator->HasNext()) {
- auto rule = rule_iterator->Next();
-- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
-- rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+ rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- setting_type,
- permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
- auto rule = rule_iterator->Next();
- if (rule->primary_pattern.Matches(origin_gurl) &&
- rule->secondary_pattern.Matches(origin_gurl)) {
-- patterns_to_delete.emplace_back(
-- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {
-+ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- content_setting_type, trigger_event);
- }
-diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
---- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200
-+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200
-@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
- AutoLock lock(track_event_lock_);
-- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
-- args.backend_type);
-+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+ args.backend_type};
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
+- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal};
+ return buttons;
}
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
---- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200
-+++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200
-@@ -764,8 +764,8 @@ void SavePackage::Finish() {
- if (download_) {
- std::vector<download::DownloadSaveItemData::ItemInfo> files;
- for (auto& item : saved_success_items_) {
-- files.emplace_back(item.second->full_path(), item.second->url(),
-- item.second->referrer().url);
-+ files.emplace_back() = {item.second->full_path(), item.second->url(),
-+ item.second->referrer().url};
- }
- download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
- }
-diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
---- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200
-+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200
-@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
- GdkRectangle geometry;
- gdk_monitor_get_geometry(monitor, &geometry);
- int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
-- config.display_geometries.emplace_back(
-+ config.display_geometries.emplace_back() = {
- gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
- monitor_scale * geometry.width,
- monitor_scale * geometry.height),
-- monitor_scale * font_scale);
-+ static_cast<float>(monitor_scale * font_scale)};
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than 2023-11-01 20:52:29.005464494 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2023-11-01 21:14:12.741859604 +0100
+@@ -56,12 +56,12 @@ std::vector<EmbeddedPermissionPromptAskV
+ EmbeddedPermissionPromptAskView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+ if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
}
- return config;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+- ButtonType::kAllow, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++ ButtonType::kAllow, ui::ButtonStyle::kTonal};
+ return buttons;
}
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me 2023-10-06 10:38:52.473145692 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-06 10:37:30.268617169 +0200
-@@ -174,9 +174,9 @@ class ContactInfoProfileSetter {
- CHECK(observations.empty());
- for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
- proto_observations) {
-- observations.emplace_back(proto_observation.type(),
-+ observations.emplace_back() = {static_cast<unsigned char>(proto_observation.type()),
- ProfileTokenQuality::FormSignatureHash(
-- proto_observation.form_hash()));
-+ proto_observation.form_hash())};
- }
- }
-diff -up chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
---- chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me 2023-10-06 10:41:37.746402215 +0200
-+++ chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc 2023-10-06 10:42:28.469562927 +0200
-@@ -553,11 +553,11 @@ ServerCvc AutofillWalletCvcStructDataFro
- base::StringToInt64(wallet_credential_specifics.instrument_id(),
- &instrument_id);
-
-- return ServerCvc(
-+ return ServerCvc{
- instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
- base::Time::UnixEpoch() +
- base::Milliseconds(wallet_credential_specifics
-- .last_updated_time_unix_epoch_millis()));
-+ .last_updated_time_unix_epoch_millis())};
- }
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me 2023-11-01 21:22:02.222646903 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2023-11-01 21:19:58.769619393 +0100
+@@ -72,6 +72,7 @@ class EmbeddedPermissionPromptBaseView :
+ struct RequestLineConfiguration {
+ const raw_ptr<const gfx::VectorIcon> icon;
+ std::u16string message;
++ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
+ };
- VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics(
-diff -up chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc
---- chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me 2023-10-06 13:46:57.287089040 +0200
-+++ chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc 2023-10-06 13:47:25.450632156 +0200
-@@ -604,7 +604,7 @@ void OnTokenRequestParsed(
- if (response_error) {
- int error_code = response_error->FindInt(kErrorCodeKey).value_or(0);
- GURL error_url = ExtractUrl(*response_error, kErrorUrlKey);
-- token_result.error = TokenError(error_code, error_url);
-+ token_result.error = TokenError{error_code, error_url};
- }
- }
+ struct ButtonConfiguration {
+diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
+--- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than 2023-11-01 21:25:31.118626473 +0100
++++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2023-11-01 21:30:06.383340274 +0100
+@@ -48,8 +48,8 @@ EmbeddedPermissionPromptPolicyView::GetR
+ std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
+ EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
+- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
+ return buttons;
+ }
diff --git a/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
new file mode 100644
index 0000000000000..5cb969f4f40cf
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nullptr_t-without-namespace-std.patch
@@ -0,0 +1,21 @@
+diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h
+--- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200
++++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200
+@@ -52,7 +52,7 @@ class FragmentDataIterator
+ public:
+ explicit FragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(&object.FirstFragment()) {}
+- explicit FragmentDataIterator(nullptr_t)
++ explicit FragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
+@@ -63,7 +63,7 @@ class MutableFragmentDataIterator
+ explicit MutableFragmentDataIterator(const LayoutObject& object)
+ : FragmentDataIteratorBase(
+ &object.GetMutableForPainting().FirstFragment()) {}
+- explicit MutableFragmentDataIterator(nullptr_t)
++ explicit MutableFragmentDataIterator(std::nullptr_t)
+ : FragmentDataIteratorBase(nullptr) {}
+ };
+
diff --git a/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
new file mode 100644
index 0000000000000..717d897446c7c
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch
@@ -0,0 +1,164 @@
+commit bdcc23e0a5e7e220660d3f54c97262f9a4c31606
+Author: Nick Diego Yamane <nickdiego@igalia.com>
+Date: Thu Nov 2 17:26:25 2023 +0000
+
+ gbm: nvidia: use separate bo to verify modifiers
+
+ Buggy Nvidia drivers fail to return FDs for planes of a BO which had
+ already an imported BO destroyed before. This is a workaround for that
+ issue, which consists of creating/destroying a separate 1x1 BO for
+ validating the modifiers before actually creating the final requested
+ BO, which for now is limited to IS_LINUX builds.
+
+ The Nvidia driver bug is being tracked under internal bug 4315529. There
+ seems to be other issues when running under Wayland with Nvidia, which
+ will be tracked and addressed in separate patches.
+
+ R=dcastagna, msisov@igalia.com
+
+ with ozone/wayland backend and verify GPU acceleration is not broken.
+
+ Test: In a single Nvidia GPU setup, with proprietary driver, run Chrome
+ Bug: 1273758, 1478684, 1463851
+ Change-Id: I9f322bcf40b460bcd4ead02f05dd2e9a8d271cea
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989782
+ Reviewed-by: Maksim Sisov <msisov@igalia.com>
+ Commit-Queue: Nick Yamane <nickdiego@igalia.com>
+ Cr-Commit-Position: refs/heads/main@{#1218924}
+
+diff --git a/ui/gfx/linux/gbm_wrapper.cc b/ui/gfx/linux/gbm_wrapper.cc
+index bf90b76605f68..14918c19c0ab0 100644
+--- a/ui/gfx/linux/gbm_wrapper.cc
++++ b/ui/gfx/linux/gbm_wrapper.cc
+@@ -11,6 +11,7 @@
+ #include "base/logging.h"
+ #include "base/memory/raw_ptr.h"
+ #include "base/memory/raw_ptr_exclusion.h"
++#include "base/numerics/safe_conversions.h"
+ #include "base/posix/eintr_wrapper.h"
+ #include "skia/ext/legacy_display_globals.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -71,6 +72,7 @@ base::ScopedFD GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
+ int ret;
+ // Use DRM_RDWR to allow the fd to be mappable in another process.
+ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++ PLOG_IF(ERROR, ret != 0) << "Failed to get fd for plane.";
+
+ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
+ // anyways
+@@ -301,58 +303,82 @@ class Device final : public ui::GbmDevice {
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferWithModifiers(
+ uint32_t format,
+- const gfx::Size& size,
++ const gfx::Size& requested_size,
+ uint32_t flags,
+ const std::vector<uint64_t>& modifiers) override {
+- if (modifiers.empty())
+- return CreateBuffer(format, size, flags);
+-
+- std::vector<uint64_t> filtered_modifiers =
+- GetFilteredModifiers(format, flags, modifiers);
+- struct gbm_bo* bo = nullptr;
+- while (filtered_modifiers.size() > 0) {
+- bo = gbm_bo_create_with_modifiers(device_, size.width(), size.height(),
+- format, filtered_modifiers.data(),
+- filtered_modifiers.size());
+- if (!bo) {
++ if (modifiers.empty()) {
++ return CreateBuffer(format, requested_size, flags);
++ }
++
++ // Buggy drivers prevent us from getting plane FDs from a BO which had its
++ // previously imported BO destroyed. E.g: Nvidia. Thus, on Linux Desktop, we
++ // do the create/import modifiers validation loop below using a separate set
++ // of 1x1 BOs which are destroyed before creating the final BO creation used
++ // to instantiate the returned GbmBuffer.
++ gfx::Size size =
++#if BUILDFLAG(IS_LINUX)
++ gfx::Size(1, 1);
++#else
++ requested_size;
++#endif
++ auto filtered_modifiers = GetFilteredModifiers(format, flags, modifiers);
++ struct gbm_bo* created_bo = nullptr;
++ bool valid_modifiers = false;
++
++ while (!valid_modifiers && !filtered_modifiers.empty()) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, size.width(), size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ if (!created_bo) {
+ return nullptr;
+ }
+
+- struct gbm_import_fd_modifier_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+- fd_data.num_fds = gbm_bo_get_plane_count(bo);
+- fd_data.modifier = gbm_bo_get_modifier(bo);
+-
+- // Store fds in the vector of base::ScopedFDs. Will be released
+- // automatically.
++ const int planes_count = gbm_bo_get_plane_count(created_bo);
++ struct gbm_import_fd_modifier_data fd_data = {
++ .width = base::checked_cast<uint32_t>(size.width()),
++ .height = base::checked_cast<uint32_t>(size.height()),
++ .format = format,
++ .num_fds = base::checked_cast<uint32_t>(planes_count),
++ .modifier = gbm_bo_get_modifier(created_bo)};
++ // Store fds in a base::ScopedFDs vector. Will be released automatically.
+ std::vector<base::ScopedFD> fds;
+ for (size_t i = 0; i < static_cast<size_t>(fd_data.num_fds); ++i) {
+- fds.emplace_back(GetPlaneFdForBo(bo, i));
++ fds.emplace_back(GetPlaneFdForBo(created_bo, i));
+ fd_data.fds[i] = fds.back().get();
+- fd_data.strides[i] = gbm_bo_get_stride_for_plane(bo, i);
+- fd_data.offsets[i] = gbm_bo_get_offset(bo, i);
++ fd_data.strides[i] = gbm_bo_get_stride_for_plane(created_bo, i);
++ fd_data.offsets[i] = gbm_bo_get_offset(created_bo, i);
+ }
+
+- struct gbm_bo* bo_import =
++ struct gbm_bo* imported_bo =
+ gbm_bo_import(device_, GBM_BO_IMPORT_FD_MODIFIER, &fd_data, flags);
+- if (bo_import) {
+- gbm_bo_destroy(bo_import);
+- break;
++
++ if (imported_bo) {
++ valid_modifiers = true;
++ gbm_bo_destroy(imported_bo);
+ } else {
+- gbm_bo_destroy(bo);
+- bo = nullptr;
+ AddModifierToBlocklist(format, flags, fd_data.modifier);
+ filtered_modifiers =
+ GetFilteredModifiers(format, flags, filtered_modifiers);
+ }
++
++ if (!valid_modifiers || size != requested_size) {
++ gbm_bo_destroy(created_bo);
++ created_bo = nullptr;
++ }
+ }
+- if (!bo) {
+- return nullptr;
++
++ // If modifiers were successfully verified though `created_bo` is null here,
++ // it it means that the buffer created for verification could not be reused,
++ // ie: different size, so create it now with the `requested_size`.
++ if (valid_modifiers && !created_bo) {
++ created_bo = gbm_bo_create_with_modifiers(
++ device_, requested_size.width(), requested_size.height(), format,
++ filtered_modifiers.data(), filtered_modifiers.size());
++ PLOG_IF(ERROR, !created_bo) << "Failed to create BO with modifiers.";
+ }
+
+- return CreateBufferForBO(bo, format, size, flags);
++ return created_bo ? CreateBufferForBO(created_bo, format, size, flags)
++ : nullptr;
+ }
+
+ std::unique_ptr<ui::GbmBuffer> CreateBufferFromHandle(
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index cc36911cd338d..c4b76486570e2 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
# Template file for 'chromium'
pkgname=chromium
# See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=118.0.5993.70
+version=119.0.6045.105
revision=1
archs="i686* x86_64* aarch64* armv7l*"
hostmakedepends="
@@ -27,7 +27,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://www.chromium.org/"
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=49ee00a734de3dae7c421eb3c974e8d451b4de6f5b4e34b603fd6435eab6993d
+checksum=73cb8c39e928f8c627d747d37a3b020f08913ef5508f893758d70bdbd545dbcf
lib32disabled=yes
@@ -52,7 +52,8 @@ if [ "$CROSS_BUILD" ]; then
$(vopt_if pipewire pipewire-devel) ffmpeg-devel opus-devel pango-devel libva-devel
libcurl-devel snappy-devel libXrandr-devel libXcomposite-devel cups-devel
mit-krb5-devel alsa-lib-devel libXdamage-devel libepoxy-devel libevdev-devel
- libavif-devel libaom-devel jsoncpp-devel woff2-devel libdav1d-devel libflac-devel"
+ libavif-devel libaom-devel jsoncpp-devel woff2-devel libdav1d-devel libflac-devel
+ libdrm-devel libgbm-devel"
fi
if [ ! "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Merged]: chromium: update to 119.0.6045.105.
2023-11-04 15:08 [PR PATCH] chromium: update to 119.0.6045.105 Duncaen
2023-11-05 14:04 ` [PR PATCH] [Updated] " Duncaen
2023-11-05 14:34 ` Duncaen
@ 2023-11-05 23:15 ` Duncaen
2 siblings, 0 replies; 4+ messages in thread
From: Duncaen @ 2023-11-05 23:15 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 251 bytes --]
There's a merged pull request on the void-packages repository
chromium: update to 119.0.6045.105.
https://github.com/void-linux/void-packages/pull/47058
Description:
[ci skip]
* [x] x86_64-glibc
* [x] x86_64-musl
* [x] aarch64-musl
* [x] i686
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-11-05 23:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-04 15:08 [PR PATCH] chromium: update to 119.0.6045.105 Duncaen
2023-11-05 14:04 ` [PR PATCH] [Updated] " Duncaen
2023-11-05 14:34 ` Duncaen
2023-11-05 23:15 ` [PR PATCH] [Merged]: " Duncaen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).