- update to 124.0.6367.155

* High CVE-2024-4558: Use after free in ANGLE
  * High CVE-2024-4559: Heap buffer overflow in WebAudio
i8e changed/i8e/chromium-124.0.6367.155-1.el8.inferit
Arkady L. Shane 6 months ago
parent 9b221d39eb
commit d57f683c56
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,4 +1,4 @@
a6b3e27c9154df1cc31f39122eaef5f1167cbe9d SOURCES/chromium-124.0.6367.118.tar.xz 234d14a6eabc696b6ac8aa226e5eb5b1984e46ad SOURCES/chromium-124.0.6367.155.tar.xz
dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz
7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz
769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz 769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz

2
.gitignore vendored

@ -1,4 +1,4 @@
SOURCES/chromium-124.0.6367.118.tar.xz SOURCES/chromium-124.0.6367.155.tar.xz
SOURCES/linux-x64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz
SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-arm64-0.19.2.tgz
SOURCES/node-v20.6.1-linux-x64.tar.xz SOURCES/node-v20.6.1-linux-x64.tar.xz

@ -1,12 +0,0 @@
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h
--- chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than 2023-12-04 10:20:45.350540897 +0100
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-12-04 10:23:17.335339670 +0100
@@ -21,7 +21,7 @@ class FragmentDataIteratorBase {
public:
explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
- explicit FragmentDataIteratorBase(nullptr_t) {}
+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
Data* GetFragmentData() const {
return !IsDone() ? &fragment_head_.at(idx_) : nullptr;

@ -1,60 +0,0 @@
diff -up chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h
--- chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me 2024-02-13 13:07:24.982184485 +0100
+++ chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h 2024-02-13 13:07:45.510551589 +0100
@@ -137,7 +137,7 @@ struct GlobalId {
friend constexpr auto operator<=>(const GlobalId<RendererId>& lhs,
const GlobalId<RendererId>& rhs) = default;
- friend constexpr bool operator==(const GlobalId<RendererId>& lhs,
+ friend bool operator==(const GlobalId<RendererId>& lhs,
const GlobalId<RendererId>& rhs) = default;
};
diff -up chromium-122.0.6261.29/base/types/strong_alias.h.me chromium-122.0.6261.29/base/types/strong_alias.h
--- chromium-122.0.6261.29/base/types/strong_alias.h.me 2024-02-13 14:13:20.311374288 +0100
+++ chromium-122.0.6261.29/base/types/strong_alias.h 2024-02-13 12:30:38.596913951 +0100
@@ -110,7 +110,7 @@ class StrongAlias {
// a `StrongAlias<W>`.
friend constexpr auto operator<=>(const StrongAlias& lhs,
const StrongAlias& rhs) = default;
- friend constexpr bool operator==(const StrongAlias& lhs,
+ friend bool operator==(const StrongAlias& lhs,
const StrongAlias& rhs) = default;
// Hasher to use in std::unordered_map, std::unordered_set, etc.
diff -up chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h
--- chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr 2024-02-07 19:49:31.000000000 +0100
+++ chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h 2024-02-13 11:12:52.913338699 +0100
@@ -67,7 +67,7 @@ struct QueryParams {
QueryParams(const QueryParams& other);
QueryParams& operator=(const QueryParams& other);
- friend constexpr bool operator==(const QueryParams&,
+ friend bool operator==(const QueryParams&,
const QueryParams&) = default;
// Resource types to measure.
diff -up chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h.me chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h
--- chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h.me 2024-03-17 11:57:22.097161565 +0100
+++ chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h 2024-03-17 22:18:25.442101825 +0100
@@ -28,7 +28,7 @@ class ContextCollection {
ContextCollection(const ContextCollection& other);
ContextCollection& operator=(const ContextCollection& other);
- friend constexpr bool operator==(const ContextCollection&,
+ friend bool operator==(const ContextCollection&,
const ContextCollection&) = default;
// Adds `context` to the collection.
diff -up chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h.me chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h
--- chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h.me 2024-03-16 23:38:10.437128249 +0100
+++ chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h 2024-03-16 23:59:50.868080652 +0100
@@ -57,7 +57,7 @@ struct IsRequired {
// This function is not defined and consteval. Therefore, any evaluation will
// fail and fail at compile time.
template <typename T>
- consteval operator T(); // NOLINT
+ operator T(); // NOLINT
};
} // namespace internal

@ -0,0 +1,74 @@
diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
--- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +0200
@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
// Country code that represents autofill's legacy address hierarchy model as
// stored `kAutofillModelRules`. As a workaround for GCC we declare the
// std::string constexpr first.
-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
+const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
+const AddressCountryCode kLegacyHierarchyCountryCode =
AddressCountryCode(kLegacyHierarchyCountryCodeString);
// Creates an instance of the address hierarchy model corresponding to the
diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
--- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +0200
@@ -57,7 +57,7 @@ struct IsRequired {
// This function is not defined and consteval. Therefore, any evaluation will
// fail and fail at compile time.
template <typename T>
- consteval operator T(); // NOLINT
+ operator T(); // NOLINT
};
} // namespace internal
diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
+++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200
@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
typedef std::map<VisitID, VisitSource> VisitSourceMap;
// Constant used to represent that no app_id is used for matching.
-inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
+inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
// VisitRow -------------------------------------------------------------------
diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
+++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200
@@ -28,17 +28,17 @@ namespace network {
namespace {
// https://urlpattern.spec.whatwg.org/#default-options
-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#hostname-options
-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#pathname-options
-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
.prefix_list = "/",
.sensitive = true,
.strict = true};
diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
yield '// Checks if all the matching patterns for the given PatternSources'
yield '// and language are the same - meaning that computing predictions for'
yield '// both is unnecessary, since it will yield the same result.'
- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
+ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
yield ' PatternSource b,'
yield ' LanguageCode lang_code) {'
yield ' if (a == b) {'

@ -0,0 +1,18 @@
diff -up chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp.me chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
--- chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp.me 2024-05-05 17:29:38.907559210 +0200
+++ chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp 2024-05-05 17:51:26.665080742 +0200
@@ -1726,10 +1726,10 @@ angle::Result FramebufferVk::generateFra
for (uint32_t point = 0; point < activeFocalPoints.size(); point++)
{
float density =
- 1.0f / std::max(std::powf(activeFocalPoints[point].focalX - px, 2) *
- std::powf(activeFocalPoints[point].gainX, 2) +
- std::powf(activeFocalPoints[point].focalY - py, 2) *
- std::powf(activeFocalPoints[point].gainY, 2) -
+ 1.0f / std::max(powf(activeFocalPoints[point].focalX - px, 2) *
+ powf(activeFocalPoints[point].gainX, 2) +
+ powf(activeFocalPoints[point].focalY - py, 2) *
+ powf(activeFocalPoints[point].gainY, 2) -
activeFocalPoints[point].foveaArea,
1.0f);

@ -0,0 +1,16 @@
diff -up chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h
--- chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me 2024-05-06 08:32:09.637210958 +0200
+++ chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h 2024-05-06 08:32:26.485518448 +0200
@@ -63,10 +63,10 @@ class IdAllocator : public IdAllocatorGe
// Tries to allocate `n` IDs. Returns a vector of `n` valid IDs or an empty
// vector, if not enough IDs are available.
- std::vector<T> AllocateMultiple(size_t n) {
+ std::vector<T> AllocateMultiple(std::size_t n) {
std::vector<T> res;
res.reserve(n);
- for (size_t i = 0; i < n; i++) {
+ for (std::size_t i = 0; i < n; i++) {
T id = Allocate();
if (id) {
res.push_back(id);

File diff suppressed because it is too large Load Diff

@ -1,13 +0,0 @@
diff -up chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py
--- chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me 2024-02-23 12:04:45.451423995 +0100
+++ chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py 2024-02-23 12:18:04.099824392 +0100
@@ -124,7 +124,8 @@ def _GenerateH(basepath, fileroot, head,
f.write(u'#include <cstddef>\n')
f.write(u'\n')
- if system_headers := schema.get(u'system-headers', []):
+ system_headers = schema.get(u'system-headers', [])
+ if system_headers:
for header in system_headers:
f.write(u'#include <%s>\n' % header)
f.write(u'\n')

@ -0,0 +1,11 @@
diff -up chromium-124.0.6367.155/ui/qt/BUILD.gn.me chromium-124.0.6367.155/ui/qt/BUILD.gn
--- chromium-124.0.6367.155/ui/qt/BUILD.gn.me 2024-05-08 18:15:34.178627040 +0200
+++ chromium-124.0.6367.155/ui/qt/BUILD.gn 2024-05-08 18:29:31.162513709 +0200
@@ -61,6 +61,7 @@ template("qt_shim") {
packages = [
"Qt" + invoker.qt_version + "Core",
"Qt" + invoker.qt_version + "Widgets",
+ "Qt" + invoker.qt_version + "Gui",
]
}

@ -0,0 +1,55 @@
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100
@@ -112,6 +112,7 @@ template("clang_lib") {
_prefix = "lib"
_suffix = ""
_ext = "a"
+ _libprefix = ""
if (is_win) {
_dir = "windows"
_prefix = ""
@@ -127,7 +128,33 @@ template("clang_lib") {
}
} else if (is_apple) {
_dir = "darwin"
- } else if (is_linux || is_chromeos) {
+ } else if (is_linux) {
+ if (current_cpu == "x64") {
+ _dir = "x86_64-redhat-linux-gnu"
+ _suffix ="-x86_64"
+ } else if (current_cpu == "x86") {
+ _dir = "i386-redhat-linux-gnu"
+ _suffix = "-i386"
+ } else if (current_cpu == "arm64") {
+ _dir = "aarch64-redhat-linux-gnu"
+ _suffix = "-aarch64"
+ } else if (current_cpu == "arm") {
+ _dir = "armhf-redhat-linux-gnu"
+ _suffix = "-armhf"
+ } else if (current_cpu == "ppc64") {
+ _dir = "ppc64le-redhat-linux-gnu"
+ _suffix = "-ppc64le"
+ } else {
+ assert(false) # Unhandled cpu type
+ }
+ # different clang lib dir in fedora/epel
+ if (clang_version == "17" || clang_version == "18") {
+ _suffix = ""
+ } else if (clang_version == "14" || clang_version == "15" || clang_version == "16") {
+ _libprefix = "64"
+ _dir = ""
+ }
+ } else if (is_chromeos) {
if (current_cpu == "x64") {
_dir = "x86_64-unknown-linux-gnu"
} else if (current_cpu == "x86") {
@@ -166,7 +193,7 @@ template("clang_lib") {
assert(false) # Unhandled target platform
}
- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
_lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
}

@ -1,10 +1,33 @@
diff -up chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
fixed error: missing 'typename' prior to dependent type name --- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-05-05 16:32:57.377654043 +0200
diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122.0.6261.69/base/containers/map_util.h @@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
--- chromium-122.0.6261.69/base/containers/map_util.h.typename 2024-02-22 22:42:43.000000000 +0100
+++ chromium-122.0.6261.69/base/containers/map_util.h 2024-02-24 15:05:00.882592705 +0100 // A class that meets C++ named requirements, Allocator.
@@ -42,7 +42,7 @@ constexpr internal::MappedType<Map>* Fin template <typename T>
-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
std::size_t count) {
PA_CHECK(count <=
std::numeric_limits<std::size_t>::max() / sizeof(value_type));
diff -up chromium-124.0.6367.118/base/containers/heap_array.h.typename chromium-124.0.6367.118/base/containers/heap_array.h
--- chromium-124.0.6367.118/base/containers/heap_array.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/containers/heap_array.h 2024-05-05 16:32:57.377654043 +0200
@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
static_assert(!std::is_reference_v<T>,
"HeapArray cannot hold reference types");
- using iterator = base::span<T>::iterator;
- using const_iterator = base::span<const T>::iterator;
+ using iterator = typename base::span<T>::iterator;
+ using const_iterator = typename base::span<const T>::iterator;
// Allocates initialized memory capable of holding `size` elements. No memory
// is allocated for zero-sized arrays.
diff -up chromium-124.0.6367.118/base/containers/map_util.h.typename chromium-124.0.6367.118/base/containers/map_util.h
--- chromium-124.0.6367.118/base/containers/map_util.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/containers/map_util.h 2024-05-05 16:36:15.062228596 +0200
@@ -44,7 +44,7 @@ constexpr internal::MappedType<Map>* Fin
template <typename Map, template <typename Map,
typename Key, typename Key,
typename MappedElementType = typename MappedElementType =
@ -13,7 +36,7 @@ diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122
constexpr const MappedElementType* FindPtrOrNull(const Map& map, constexpr const MappedElementType* FindPtrOrNull(const Map& map,
const Key& key) { const Key& key) {
auto it = map.find(key); auto it = map.find(key);
@@ -58,7 +58,7 @@ constexpr const MappedElementType* FindP @@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP
template <typename Map, template <typename Map,
typename Key, typename Key,
typename MappedElementType = typename MappedElementType =
@ -21,11 +44,11 @@ diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122
+ typename std::pointer_traits<internal::MappedType<Map>>::element_type> + typename std::pointer_traits<internal::MappedType<Map>>::element_type>
constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) { constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) {
auto it = map.find(key); auto it = map.find(key);
return it != map.end() ? std::to_address(it->second) : nullptr; return it != map.end() ? base::to_address(it->second) : nullptr;
diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromium-122.0.6261.69/base/functional/bind_internal.h diff -up chromium-124.0.6367.118/base/functional/bind_internal.h.typename chromium-124.0.6367.118/base/functional/bind_internal.h
--- chromium-122.0.6261.69/base/functional/bind_internal.h.typename 2024-02-24 15:05:00.883592724 +0100 --- chromium-124.0.6367.118/base/functional/bind_internal.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-122.0.6261.69/base/functional/bind_internal.h 2024-02-24 15:13:49.755223533 +0100 +++ chromium-124.0.6367.118/base/functional/bind_internal.h 2024-05-05 16:32:57.375653992 +0200
@@ -1400,11 +1400,11 @@ template <int i, @@ -1505,11 +1505,11 @@ template <int i,
typename Param> typename Param>
struct ParamCanBeBound { struct ParamCanBeBound {
private: private:
@ -40,10 +63,36 @@ diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromiu
BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>; BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
template <bool v = !UnwrappedParam::kRawPtr || template <bool v = !UnwrappedParam::kRawPtr ||
diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc diff -up chromium-124.0.6367.118/base/functional/function_ref.h.typename chromium-124.0.6367.118/base/functional/function_ref.h
--- chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-02-22 22:42:50.000000000 +0100 --- chromium-124.0.6367.118/base/functional/function_ref.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-02-24 15:05:00.882592705 +0100 +++ chromium-124.0.6367.118/base/functional/function_ref.h 2024-05-05 16:32:57.379654093 +0200
@@ -90,7 +90,7 @@ ItemSortKey GetSortKey(const Item& item) @@ -64,7 +64,7 @@ class FunctionRef;
template <typename R, typename... Args>
class FunctionRef<R(Args...)> {
template <typename Functor,
- typename RunType = internal::FunctorTraits<Functor>::RunType>
+ typename RunType = typename internal::FunctorTraits<Functor>::RunType>
static constexpr bool kCompatibleFunctor =
std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
diff -up chromium-124.0.6367.118/base/types/fixed_array.h.typename chromium-124.0.6367.118/base/types/fixed_array.h
--- chromium-124.0.6367.118/base/types/fixed_array.h.typename 2024-05-01 01:46:41.000000000 +0200
+++ chromium-124.0.6367.118/base/types/fixed_array.h 2024-05-05 16:32:57.378654068 +0200
@@ -27,8 +27,8 @@ template <typename T,
class FixedArray : public absl::FixedArray<T, N, A> {
public:
using absl::FixedArray<T, N, A>::FixedArray;
- explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
- const absl::FixedArray<T, N, A>::allocator_type& a =
+ explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
+ const typename absl::FixedArray<T, N, A>::allocator_type& a =
typename absl::FixedArray<T, N, A>::allocator_type())
: FixedArray(n, T(), a) {}
};
diff -up chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc
--- chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-05-01 01:46:45.000000000 +0200
+++ chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-05-05 16:32:57.375653992 +0200
@@ -95,7 +95,7 @@ ItemSortKey GetSortKey(const Item& item)
// Helper to get an iterator to the last element in the cache. The cache // Helper to get an iterator to the last element in the cache. The cache
// must not be empty. // must not be empty.
template <typename Item> template <typename Item>
@ -52,7 +101,7 @@ diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_u
CHECK(!cache.empty()); CHECK(!cache.empty());
auto it = cache.end(); auto it = cache.end();
return std::prev(it); return std::prev(it);
@@ -1090,9 +1090,9 @@ bool DownloadBubbleUpdateService::CacheM @@ -1179,9 +1179,9 @@ bool DownloadBubbleUpdateService::CacheM
} }
template <typename Id, typename Item> template <typename Id, typename Item>
@ -64,183 +113,9 @@ diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_u
SortedItems<Item>& cache, SortedItems<Item>& cache,
IterMap<Id, Item>& iter_map) { IterMap<Id, Item>& iter_map) {
CHECK(iter != cache.end()); CHECK(iter != cache.end());
diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h
--- chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-02-22 22:43:01.000000000 +0100 --- chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename 2024-05-01 01:46:48.000000000 +0200
+++ chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h 2024-02-24 15:05:00.884592742 +0100 +++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h 2024-05-05 16:32:57.378654068 +0200
@@ -25,7 +25,7 @@ void SetExecutionRequestTemplate(
// Request is set by the feature and should always be typed.
auto typed_request =
- static_cast<const FeatureType::Request&>(request_metadata);
+ static_cast<const typename FeatureType::Request&>(request_metadata);
*(logging_data->mutable_request_data()) = typed_request;
}
diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h
--- chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-02-22 22:43:01.000000000 +0100
+++ chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-02-24 15:05:00.884592742 +0100
@@ -29,7 +29,7 @@ class ModelQualityLogEntry {
}
template <typename FeatureType>
- FeatureType::Quality* quality_data() {
+ typename FeatureType::Quality* quality_data() {
return FeatureType::GetLoggingData(*log_ai_data_request_)
->mutable_quality_data();
}
diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h
--- chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename 2024-02-22 22:43:15.000000000 +0100
+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h 2024-02-24 15:05:00.884592742 +0100
@@ -90,7 +90,7 @@ template <typename Container>
{ c[i] } -> std::same_as<typename Container::reference>;
}
struct ArrayTraits<Container> {
- using Element = Container::value_type;
+ using Element = typename Container::value_type;
// vector-like containers have no built-in null.
static bool IsNull(const Container& c) { return false; }
diff -up chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h
--- chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-02-22 22:43:20.000000000 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-02-24 15:05:00.883592724 +0100
@@ -218,7 +218,7 @@ class PairAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
ExceptionState& exception_state) = 0;
};
@@ -260,7 +260,7 @@ class ValueAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
ExceptionState& exception_state) = 0;
};
diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
--- chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-02-24 15:05:00.882592705 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-02-24 15:12:27.742724849 +0100
@@ -211,7 +211,7 @@ class HTMLFastPathParser {
using Span = base::span<const Char>;
using USpan = base::span<const UChar>;
// 32 matches that used by HTMLToken::Attribute.
- typedef std::conditional<std::is_same_v<Char, UChar>,
+ typedef typename std::conditional<std::is_same_v<Char, UChar>,
UCharLiteralBuffer<32>,
LCharLiteralBuffer<32>>::type LiteralBufferType;
static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h
--- chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename 2024-02-22 22:43:21.000000000 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h 2024-02-24 15:05:00.883592724 +0100
@@ -272,8 +272,8 @@ class CORE_EXPORT ObjectPaintPropertiesS
NodeList& nodes,
NodeId node_id,
const ParentType& parent,
- NodeType::State&& state,
- const NodeType::AnimationState& animation_state =
+ typename NodeType::State&& state,
+ const typename NodeType::AnimationState& animation_state =
NodeType::AnimationState()) {
// First, check if we need to add a new node.
if (!nodes.HasField(node_id)) {
diff -up chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
--- chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me 2024-02-24 16:51:41.292310554 +0100
+++ chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-02-24 16:52:10.022896063 +0100
@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
// A class that meets C++ named requirements, Allocator.
template <typename T>
-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
std::size_t count) {
PA_CHECK(count <=
std::numeric_limits<std::size_t>::max() / sizeof(value_type));
diff -up chromium-122.0.6261.69/base/containers/heap_array.h.me chromium-122.0.6261.69/base/containers/heap_array.h
--- chromium-122.0.6261.69/base/containers/heap_array.h.me 2024-02-24 18:02:34.463921568 +0100
+++ chromium-122.0.6261.69/base/containers/heap_array.h 2024-02-24 18:04:01.922850571 +0100
@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
static_assert(!std::is_reference_v<T>,
"HeapArray cannot hold reference types");
- using iterator = base::span<T>::iterator;
- using const_iterator = base::span<const T>::iterator;
+ using iterator = typename base::span<T>::iterator;
+ using const_iterator = typename base::span<const T>::iterator;
// Allocates initialized memory capable of holding `size` elements. No memory
// is allocated for zero-sized arrays.
diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h
--- chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me 2024-02-24 18:51:06.957087464 +0100
+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h 2024-02-24 18:51:27.778488490 +0100
@@ -125,7 +125,7 @@ using VecValueType = typename Vec::value
template <typename Vec>
using VecPtrLikeUnderlyingValueType =
- std::pointer_traits<VecValueType<Vec>>::element_type;
+ typename std::pointer_traits<VecValueType<Vec>>::element_type;
} // namespace internal
diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h
--- chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me 2024-02-24 19:45:13.620934215 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h 2024-02-24 19:46:08.817940962 +0100
@@ -2005,7 +2005,7 @@ struct HashTableConstIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2057,7 +2057,7 @@ struct HashTableConstIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2111,7 +2111,7 @@ struct HashTableIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2159,7 +2159,7 @@ struct HashTableIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
diff -up chromium-122.0.6261.69/base/types/fixed_array.h.me chromium-122.0.6261.69/base/types/fixed_array.h
--- chromium-122.0.6261.69/base/types/fixed_array.h.me 2024-02-25 11:22:59.819590529 +0100
+++ chromium-122.0.6261.69/base/types/fixed_array.h 2024-02-25 11:24:12.424953031 +0100
@@ -27,8 +27,8 @@ template <typename T,
class FixedArray : public absl::FixedArray<T, N, A> {
public:
using absl::FixedArray<T, N, A>::FixedArray;
- explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
- const absl::FixedArray<T, N, A>::allocator_type& a =
+ explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
+ const typename absl::FixedArray<T, N, A>::allocator_type& a =
typename absl::FixedArray<T, N, A>::allocator_type())
: FixedArray(n, T(), a) {}
};
diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h
--- chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me 2024-02-25 15:04:56.775897713 +0100
+++ chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h 2024-02-25 15:05:34.884579279 +0100
@@ -121,7 +121,7 @@ class CommandBase { @@ -121,7 +121,7 @@ class CommandBase {
template <typename LockType> template <typename LockType>
class CommandWithLock : public CommandBase { class CommandWithLock : public CommandBase {
@ -250,9 +125,9 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/interna
explicit CommandWithLock(const std::string& name, explicit CommandWithLock(const std::string& name,
LockDescription initial_lock_request); LockDescription initial_lock_request);
diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h.me chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h
--- chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h.me 2024-02-25 15:05:46.885793828 +0100 --- chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename 2024-05-01 01:46:48.000000000 +0200
+++ chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h 2024-02-25 15:06:12.334248725 +0100 +++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h 2024-05-05 16:32:57.378654068 +0200
@@ -106,7 +106,7 @@ class WebAppLockManager; @@ -106,7 +106,7 @@ class WebAppLockManager;
template <typename LockType, typename... CallbackArgs> template <typename LockType, typename... CallbackArgs>
class WebAppCommand : public internal::CommandWithLock<LockType> { class WebAppCommand : public internal::CommandWithLock<LockType> {
@ -262,10 +137,10 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app
using CallbackType = base::OnceCallback<void(CallbackArgs...)>; using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>; using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h diff -up chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h
--- chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me 2024-02-25 15:06:17.896348149 +0100 --- chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename 2024-05-01 01:46:48.000000000 +0200
+++ chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h 2024-02-25 15:06:58.841076746 +0100 +++ chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h 2024-05-05 16:32:57.379654093 +0200
@@ -355,7 +355,7 @@ class WebAppCommandScheduler { @@ -369,7 +369,7 @@ class WebAppCommandScheduler {
// command system. // command system.
template <typename LockType> template <typename LockType>
void ScheduleCallback(const std::string& operation_name, void ScheduleCallback(const std::string& operation_name,
@ -274,7 +149,7 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_
CallbackCommand<LockType, void> callback, CallbackCommand<LockType, void> callback,
base::OnceClosure on_complete, base::OnceClosure on_complete,
const base::Location& location = FROM_HERE) { const base::Location& location = FROM_HERE) {
@@ -373,7 +373,7 @@ class WebAppCommandScheduler { @@ -387,7 +387,7 @@ class WebAppCommandScheduler {
typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>> typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>>
void ScheduleCallbackWithResult( void ScheduleCallbackWithResult(
const std::string& operation_name, const std::string& operation_name,
@ -283,48 +158,34 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_
CallbackCommand<LockType, CallbackReturnValue> callback, CallbackCommand<LockType, CallbackReturnValue> callback,
base::OnceCallback<void(CompletionCallbackArg)> on_complete, base::OnceCallback<void(CompletionCallbackArg)> on_complete,
CallbackReturnValue arg_for_shutdown, CallbackReturnValue arg_for_shutdown,
diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h
--- chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me 2024-02-25 15:12:53.835409392 +0100 --- chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-05-01 01:46:52.000000000 +0200
+++ chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h 2024-02-25 15:16:03.171931033 +0100 +++ chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h 2024-05-05 16:32:57.376654018 +0200
@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public @@ -26,7 +26,7 @@ void SetExecutionRequestTemplate(
RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
- void Start(ProtoFetcher<Response>::Callback callback) override { // Request is set by the feature and should always be typed.
+ void Start(typename ProtoFetcher<Response>::Callback callback) override { auto typed_request =
callback_ = std::move(callback); - static_cast<const FeatureType::Request&>(request_metadata);
Retry(); + static_cast<const typename FeatureType::Request&>(request_metadata);
} *(logging_data->mutable_request_data()) = typed_request;
@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public }
}
// Client callback.
- TypedProtoFetcher<Response>::Callback callback_;
+ typename TypedProtoFetcher<Response>::Callback callback_;
// Retry controls.
base::OneShotTimer timer_;
@@ -490,7 +490,7 @@ class ParallelFetchManager {
// Deferred fetcher is required because it should be started after it is
// stored internally.
using Fetcher = ProtoFetcher<Response>;
- using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
public: diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h
// Provides fresh instances of a deferred fetcher for each fetch. --- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-05-01 01:46:52.000000000 +0200
@@ -506,7 +506,7 @@ class ParallelFetchManager { +++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-05-05 16:32:57.376654018 +0200
@@ -33,7 +33,7 @@ class ModelQualityLogEntry {
}
// Starts the fetch. Underlying fetcher is stored internally, and will be template <typename FeatureType>
// cleaned up after finish or when this manager is destroyed. - FeatureType::Quality* quality_data() {
- void Fetch(const Request& request, Fetcher::Callback callback) { + typename FeatureType::Quality* quality_data() {
+ void Fetch(const Request& request, typename Fetcher::Callback callback) { return FeatureType::GetLoggingData(*log_ai_data_request_)
CHECK(callback) << "Use base::DoNothing() instead of empty callback."; ->mutable_quality_data();
KeyType key = requests_in_flight_.Add(MakeFetcher(request)); }
requests_in_flight_.Lookup(key)->Start( diff -up chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h
--- chromium-123.0.6312.46/components/optimization_guide/core/tflite_model_executor.h.orig 2024-03-13 20:35:44.000000000 +0100 --- chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename 2024-05-01 01:46:52.000000000 +0200
+++ chromium-123.0.6312.46/components/optimization_guide/core/tflite_model_executor.h 2024-03-15 15:45:47.067156826 +0100 +++ chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h 2024-05-05 16:32:57.379654093 +0200
@@ -242,7 +242,7 @@ @@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model
void SendForBatchExecution( void SendForBatchExecution(
BatchExecutionCallback callback_on_complete, BatchExecutionCallback callback_on_complete,
base::TimeTicks start_time, base::TimeTicks start_time,
@ -333,7 +194,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe
override { override {
DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -264,7 +264,7 @@ @@ -264,7 +264,7 @@ class TFLiteModelExecutor : public Model
// Starts the synchronous execution of the model. Returns model outputs. // Starts the synchronous execution of the model. Returns model outputs.
// Model needs to be loaded. Synchronous calls do not load or unload model. // Model needs to be loaded. Synchronous calls do not load or unload model.
std::vector<std::optional<OutputType>> SendForBatchExecutionSync( std::vector<std::optional<OutputType>> SendForBatchExecutionSync(
@ -342,7 +203,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe
override { override {
DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -422,7 +422,7 @@ @@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model
// executes it on the model execution thread. // executes it on the model execution thread.
void LoadModelFileAndBatchExecute( void LoadModelFileAndBatchExecute(
BatchExecutionCallback callback_on_complete, BatchExecutionCallback callback_on_complete,
@ -351,7 +212,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe
DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -439,7 +439,7 @@ @@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model
// Batch executes the loaded model for inputs. // Batch executes the loaded model for inputs.
void BatchExecuteLoadedModel( void BatchExecuteLoadedModel(
@ -360,7 +221,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe
std::vector<std::optional<OutputType>>* outputs) { std::vector<std::optional<OutputType>>* outputs) {
DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -499,7 +499,7 @@ @@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model
// Unloads the model if needed. // Unloads the model if needed.
void BatchExecuteLoadedModelAndRunCallback( void BatchExecuteLoadedModelAndRunCallback(
BatchExecutionCallback callback_on_complete, BatchExecutionCallback callback_on_complete,
@ -369,20 +230,93 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe
ExecutionStatus execution_status) { ExecutionStatus execution_status) {
DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
--- chromium-123.0.6312.46/base/functional/function_ref.h.orig 2024-03-15 15:43:32.329786974 +0100 diff -up chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h
+++ chromium-123.0.6312.46/base/functional/function_ref.h 2024-03-15 15:46:57.278813500 +0100 --- chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename 2024-05-01 01:46:54.000000000 +0200
@@ -64,7 +64,7 @@ +++ chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h 2024-05-05 16:32:57.379654093 +0200
template <typename R, typename... Args> @@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public
class FunctionRef<R(Args...)> { RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
template <typename Functor, RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
- typename RunType = internal::FunctorTraits<Functor>::RunType>
+ typename RunType = typename internal::FunctorTraits<Functor>::RunType> - void Start(ProtoFetcher<Response>::Callback callback) override {
static constexpr bool kCompatibleFunctor = + void Start(typename ProtoFetcher<Response>::Callback callback) override {
std::convertible_to<internal::ExtractReturnType<RunType>, R> && callback_ = std::move(callback);
std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>; Retry();
diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h }
--- chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me 2024-03-16 22:55:01.387265478 +0100 @@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public
+++ chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-03-16 22:55:18.752568310 +0100 }
// Client callback.
- TypedProtoFetcher<Response>::Callback callback_;
+ typename TypedProtoFetcher<Response>::Callback callback_;
// Retry controls.
base::OneShotTimer timer_;
@@ -490,7 +490,7 @@ class ParallelFetchManager {
// Deferred fetcher is required because it should be started after it is
// stored internally.
using Fetcher = ProtoFetcher<Response>;
- using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
public:
// Provides fresh instances of a deferred fetcher for each fetch.
@@ -506,7 +506,7 @@ class ParallelFetchManager {
// Starts the fetch. Underlying fetcher is stored internally, and will be
// cleaned up after finish or when this manager is destroyed.
- void Fetch(const Request& request, Fetcher::Callback callback) {
+ void Fetch(const Request& request, typename Fetcher::Callback callback) {
CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
KeyType key = requests_in_flight_.Add(MakeFetcher(request));
requests_in_flight_.Lookup(key)->Start(
diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h
--- chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename 2024-05-01 01:46:59.000000000 +0200
+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h 2024-05-05 16:32:57.376654018 +0200
@@ -90,7 +90,7 @@ template <typename Container>
{ c[i] } -> std::same_as<typename Container::reference>;
}
struct ArrayTraits<Container> {
- using Element = Container::value_type;
+ using Element = typename Container::value_type;
// vector-like containers have no built-in null.
static bool IsNull(const Container& c) { return false; }
diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h
--- chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename 2024-05-01 01:46:59.000000000 +0200
+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h 2024-05-05 16:32:57.377654043 +0200
@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value
template <typename Vec>
using VecPtrLikeUnderlyingValueType =
- std::pointer_traits<VecValueType<Vec>>::element_type;
+ typename std::pointer_traits<VecValueType<Vec>>::element_type;
} // namespace internal
diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h
--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-05-05 16:32:57.376654018 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-05-05 16:39:07.015158335 +0200
@@ -245,7 +245,7 @@ class PairAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
InitArgs... args,
ExceptionState& exception_state) = 0;
};
@@ -291,7 +291,7 @@ class ValueAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
InitArgs... args,
ExceptionState& exception_state) = 0;
};
diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename 2024-05-01 01:47:03.000000000 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-05-05 16:32:57.380654118 +0200
@@ -173,7 +173,7 @@ class ScriptPromiseProperty final @@ -173,7 +173,7 @@ class ScriptPromiseProperty final
template <typename T> template <typename T>
requires std::derived_from<T, bindings::EnumerationBase> requires std::derived_from<T, bindings::EnumerationBase>
@ -392,10 +326,10 @@ diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/scri
} }
State state_ = kPending; State state_ = kPending;
diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.me chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
--- chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.me 2024-03-16 22:41:50.634510019 +0100 --- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename 2024-05-01 01:47:03.000000000 +0200
+++ chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h 2024-03-16 22:54:51.215088087 +0100 +++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h 2024-05-05 16:32:57.380654118 +0200
@@ -477,7 +477,7 @@ class ScriptPromiseResolverTyped : publi @@ -389,7 +389,7 @@ class ScriptPromiseResolverTyped : publi
private: private:
using TypedResolver = using TypedResolver =
@ -404,3 +338,92 @@ diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/scri
}; };
} // namespace blink } // namespace blink
diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
--- chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-05-01 01:47:04.000000000 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-05-05 16:32:57.376654018 +0200
@@ -210,7 +210,7 @@ class HTMLFastPathParser {
using Span = base::span<const Char>;
using USpan = base::span<const UChar>;
// 32 matches that used by HTMLToken::Attribute.
- typedef std::conditional<std::is_same_v<Char, UChar>,
+ typedef typename std::conditional<std::is_same_v<Char, UChar>,
UCharLiteralBuffer<32>,
LCharLiteralBuffer<32>>::type LiteralBufferType;
static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
diff -up chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h
--- chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename 2024-05-01 01:47:05.000000000 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h 2024-05-05 16:32:57.378654068 +0200
@@ -2006,7 +2006,7 @@ struct HashTableConstIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2058,7 +2058,7 @@ struct HashTableConstIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2112,7 +2112,7 @@ struct HashTableIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2160,7 +2160,7 @@ struct HashTableIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
diff -up chromium-124.0.6367.118/base/containers/to_vector.h.me chromium-124.0.6367.118/base/containers/to_vector.h
--- chromium-124.0.6367.118/base/containers/to_vector.h.me 2024-05-06 12:39:58.312899455 +0200
+++ chromium-124.0.6367.118/base/containers/to_vector.h 2024-05-06 12:40:22.014635715 +0200
@@ -30,7 +30,7 @@ template <typename Range, typename Proj
std::indirectly_unary_invocable<Proj, ranges::iterator_t<Range>>
auto ToVector(Range&& range, Proj proj = {}) {
using ProjectedType =
- std::projected<ranges::iterator_t<Range>, Proj>::value_type;
+ typename std::projected<ranges::iterator_t<Range>, Proj>::value_type;
std::vector<ProjectedType> container;
container.reserve(std::size(range));
ranges::transform(std::forward<Range>(range), std::back_inserter(container),
diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h
--- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me 2024-05-06 20:13:29.067800309 +0200
+++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h 2024-05-06 20:13:44.671084222 +0200
@@ -19,7 +19,7 @@ proto::ModelExecutionFeature GetModelExe
// Helper method to get the quality_data from `log_ai_data_request` for
// different features.
template <typename FeatureType>
-FeatureType::Quality* GetModelQualityData(
+typename FeatureType::Quality* GetModelQualityData(
proto::LogAiDataRequest* log_ai_data_request) {
return FeatureType::GetLoggingData(*log_ai_data_request)
->mutable_quality_data();
diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h
--- chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me 2024-05-07 08:54:42.099316020 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h 2024-05-07 08:57:18.304022672 +0200
@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties
PaintPropertyChangeType Update(
NodeId node_id,
const ParentType& parent,
- NodeType::State&& state,
- const NodeType::AnimationState& animation_state =
+ typename NodeType::State&& state,
+ const typename NodeType::AnimationState& animation_state =
NodeType::AnimationState()) {
// First, check if we need to add a new node.
if (!nodes_.HasField(node_id)) {

@ -0,0 +1,78 @@
diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200
+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200
@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
void CdmPromiseAdapter::Clear(ClearReason reason) {
// Reject all outstanding promises.
DCHECK(thread_checker_.CalledOnValidThread());
- for (auto& [promise_id, promise] : promises_) {
+ for (auto& [p_i, p_e] : promises_) {
+ auto& promise_id = p_i;
+ auto& promise = p_e;
TRACE_EVENT_NESTABLE_ASYNC_END1(
"media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
"status", "cleared");
diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200
+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200
@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
return;
}
- auto [document_url, key, callback] = std::move(*request);
+ auto [d_u, key, callback] = std::move(*request);
+ auto document_url = d_u;
DCHECK(document_url.is_valid());
TRACE_EVENT1("ServiceWorker",
diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
--- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than 2023-12-19 17:57:56.205197246 +0100
+++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-19 18:10:13.778634531 +0100
@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
DCHECK(out_row_break_between);
const auto& container_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-
+ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
+ const auto& layout_data = l_d;
const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
const auto container_writing_direction =
container_space.GetWritingDirection();
@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
// TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
const auto& constraint_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-
+ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
+ const auto& grid_items = g_i;
+ const auto& layout_data = l_d;
const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
const auto container_writing_direction =
constraint_space.GetWritingDirection();
diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc
--- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me 2024-02-25 18:03:51.654579579 +0100
+++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc 2024-02-25 18:12:45.144287750 +0100
@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP
std::pair<url::Origin, GURL> origin_and_url;
std::swap(origin_and_url, queued_jobs_.front());
queued_jobs_.pop();
- const auto& [origin, url] = origin_and_url;
+ const auto& [origin, u] = origin_and_url;
+ const auto& url = u;
TRACE_EVENT_WITH_FLOW1(
"loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob",
TRACE_ID_LOCAL(this),
--- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200
+++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200
@@ -417,7 +417,8 @@
}
SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec());
- auto [read_result, read_buffer] = read_buffer_manager_->ReadData();
+ auto [r, read_buffer] = read_buffer_manager_->ReadData();
+ auto read_result = r;
TRACE_EVENT_WITH_FLOW2("ServiceWorker",
"ServiceWorkerRaceNetworkRequestURLLoaderClient::Read",
TRACE_ID_LOCAL(this),

@ -1,7 +1,7 @@
Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn Index: chromium-124.0.6367.118/third_party/skia/BUILD.gn
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/BUILD.gn --- chromium-124.0.6367.118.orig/third_party/skia/BUILD.gn
+++ chromium-124.0.6367.60/third_party/skia/BUILD.gn +++ chromium-124.0.6367.118/third_party/skia/BUILD.gn
@@ -191,6 +191,12 @@ opts("skx") { @@ -191,6 +191,12 @@ opts("skx") {
} }
} }
@ -35,10 +35,10 @@ Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn
sources = [] sources = []
sources += skia_pathops_sources sources += skia_pathops_sources
Index: chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn Index: chromium-124.0.6367.118/third_party/skia/gn/skia/BUILD.gn
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/gn/skia/BUILD.gn --- chromium-124.0.6367.118.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn +++ chromium-124.0.6367.118/third_party/skia/gn/skia/BUILD.gn
@@ -163,6 +163,8 @@ config("default") { @@ -163,6 +163,8 @@ config("default") {
"-mfpmath=sse", "-mfpmath=sse",
] ]
@ -48,10 +48,10 @@ Index: chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn
} }
if (malloc != "" && !is_win) { if (malloc != "" && !is_win) {
Index: chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h Index: chromium-124.0.6367.118/third_party/skia/include/core/SkTypes.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/include/core/SkTypes.h --- chromium-124.0.6367.118.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h +++ chromium-124.0.6367.118/third_party/skia/include/core/SkTypes.h
@@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI @@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI
*/ */
static constexpr uint32_t SK_InvalidUniqueID = 0; static constexpr uint32_t SK_InvalidUniqueID = 0;
@ -97,10 +97,10 @@ Index: chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h
+ +
#endif #endif
Index: chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp Index: chromium-124.0.6367.118/third_party/skia/src/base/SkSpinlock.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkSpinlock.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp +++ chromium-124.0.6367.118/third_party/skia/src/base/SkSpinlock.cpp
@@ -33,7 +33,8 @@ @@ -33,7 +33,8 @@
#endif #endif
@ -111,10 +111,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp
#include <emmintrin.h> #include <emmintrin.h>
static void do_pause() { _mm_pause(); } static void do_pause() { _mm_pause(); }
#else #else
Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkBitmapProcState_opts.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h --- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h +++ chromium-124.0.6367.118/third_party/skia/src/opts/SkBitmapProcState_opts.h
@@ -21,7 +21,13 @@ @@ -21,7 +21,13 @@
// The rest are scattershot at the moment but I want to get them // The rest are scattershot at the moment but I want to get them
// all migrated to be normal code inside SkBitmapProcState.cpp. // all migrated to be normal code inside SkBitmapProcState.cpp.
@ -130,10 +130,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h
#include <immintrin.h> #include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON) #elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h> #include <arm_neon.h>
Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkBlitRow_opts.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBlitRow_opts.h --- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h +++ chromium-124.0.6367.118/third_party/skia/src/opts/SkBlitRow_opts.h
@@ -69,7 +69,7 @@ @@ -69,7 +69,7 @@
#endif #endif
@ -143,10 +143,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h
static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) { static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
__m128i scale = _mm_sub_epi32(_mm_set1_epi32(256), __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkRasterPipeline_opts.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h --- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h +++ chromium-124.0.6367.118/third_party/skia/src/opts/SkRasterPipeline_opts.h
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
/* /*
* Copyright 2018 Google Inc. * Copyright 2018 Google Inc.
@ -227,7 +227,7 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
+ } + }
+ +
+ SI F mad(F f, F m, F a) { return vec_madd(f,m,a); } + SI F mad(F f, F m, F a) { return vec_madd(f,m,a); }
+ SI F nmad(F f, F m, F a) { return vec_msub(f,m,a); } + SI F nmad(F f, F m, F a) { return vec_nmsub(f,m,a); }
+ SI F floor_(F v) { return vec_floor(v); } + SI F floor_(F v) { return vec_floor(v); }
+ SI F ceil_(F v) { return vec_ceil(v); } + SI F ceil_(F v) { return vec_ceil(v); }
+ SI F sqrt_(F v) { return vec_sqrt(v); } + SI F sqrt_(F v) { return vec_sqrt(v); }
@ -524,10 +524,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
}; };
r = lerpY(topR, bottomR); r = lerpY(topR, bottomR);
Index: chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h Index: chromium-124.0.6367.118/third_party/skia/src/base/SkVx.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkVx.h --- chromium-124.0.6367.118.orig/third_party/skia/src/base/SkVx.h
+++ chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h +++ chromium-124.0.6367.118/third_party/skia/src/base/SkVx.h
@@ -42,7 +42,13 @@ @@ -42,7 +42,13 @@
#if SKVX_USE_SIMD #if SKVX_USE_SIMD
@ -543,10 +543,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h
#elif defined(SK_ARM_HAS_NEON) #elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h> #include <arm_neon.h>
#elif defined(__wasm_simd128__) #elif defined(__wasm_simd128__)
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
#include "src/core/SkBlitMask.h" #include "src/core/SkBlitMask.h"
#include "src/core/SkOptsTargets.h" #include "src/core/SkOptsTargets.h"
@ -556,10 +556,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cp
// The order of these includes is important: // The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
#include "src/core/SkOptsTargets.h" #include "src/core/SkOptsTargets.h"
#include "src/core/SkSwizzlePriv.h" #include "src/core/SkSwizzlePriv.h"
@ -569,10 +569,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cp
!defined(SK_ENABLE_OPTIMIZE_SIZE) && \ !defined(SK_ENABLE_OPTIMIZE_SIZE) && \
SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts { @@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() { static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE) #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -582,10 +582,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); } if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
#endif #endif
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts { @@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() { static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE) #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -595,10 +595,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.c
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); } if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
#endif #endif
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h Index: chromium-124.0.6367.118/third_party/skia/src/core/SkCpu.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkCpu.h --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h +++ chromium-124.0.6367.118/third_party/skia/src/core/SkCpu.h
@@ -55,7 +55,7 @@ inline bool SkCpu::Supports(uint32_t mas @@ -55,7 +55,7 @@ inline bool SkCpu::Supports(uint32_t mas
// If we mask in compile-time known lower limits, the compiler can // If we mask in compile-time known lower limits, the compiler can
@ -608,10 +608,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
features |= SSE1; features |= SSE1;
#endif #endif
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h" #include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h" #include "src/core/SkOptsTargets.h"
@ -621,10 +621,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_s
// The order of these includes is important: // The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h Index: chromium-124.0.6367.118/third_party/skia/include/private/base/SkFeatures.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/include/private/base/SkFeatures.h --- chromium-124.0.6367.118.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h +++ chromium-124.0.6367.118/third_party/skia/include/private/base/SkFeatures.h
@@ -63,6 +63,8 @@ @@ -63,6 +63,8 @@
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) #if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
@ -634,10 +634,10 @@ Index: chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h
#endif #endif
/** /**
Index: chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals.h Index: chromium-124.0.6367.118/third_party/skia/modules/skcms/src/skcms_internals.h
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/modules/skcms/src/skcms_internals.h --- chromium-124.0.6367.118.orig/third_party/skia/modules/skcms/src/skcms_internals.h
+++ chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals.h +++ chromium-124.0.6367.118/third_party/skia/modules/skcms/src/skcms_internals.h
@@ -47,6 +47,7 @@ extern "C" { @@ -47,6 +47,7 @@ extern "C" {
&& !defined(__EMSCRIPTEN__) \ && !defined(__EMSCRIPTEN__) \
&& !defined(__arm__) \ && !defined(__arm__) \
@ -646,10 +646,10 @@ Index: chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals
&& !defined(__loongarch__) \ && !defined(__loongarch__) \
&& !defined(_WIN32) && !defined(__SYMBIAN32__) && !defined(_WIN32) && !defined(__SYMBIAN32__)
#define SKCMS_HAS_MUSTTAIL 1 #define SKCMS_HAS_MUSTTAIL 1
Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkSwizzler_opts.inc
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkSwizzler_opts.inc --- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc +++ chromium-124.0.6367.118/third_party/skia/src/opts/SkSwizzler_opts.inc
@@ -14,7 +14,10 @@ @@ -14,7 +14,10 @@
#include <cmath> #include <cmath>
#include <utility> #include <utility>
@ -696,32 +696,24 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER)) #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
// -- SSE -- Harden against timing attacks -- MSVC is not supported. // -- SSE -- Harden against timing attacks -- MSVC is not supported.
using F4 = __m128; using F4 = __m128;
Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitter_ARGB32.cpp
=================================================================== ===================================================================
--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp --- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp +++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitter_ARGB32.cpp
@@ -372,7 +372,11 @@ static inline SkPMColor blend_lcd16_opaq @@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
// Load four destination pixels into dst_sse. #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
__m128i dst_sse = _mm_load_si128(d); #include <emmintrin.h>
// Load four 16-bit masks into lower half of mask_sse.
+#if defined(SK_CPU_PPC64)
+ __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(mask));
+#else
__m128i mask_sse = _mm_loadu_si64(mask);
+#endif
// Check whether masks are equal to 0 and get the highest bit
// of each byte of result, if masks are all zero, we will get
@@ -438,7 +442,12 @@ static inline SkPMColor blend_lcd16_opaq
// Load four destination pixels into dst_sse.
__m128i dst_sse = _mm_load_si128(d);
// Load four 16-bit masks into lower half of mask_sse.
+#if defined(SK_CPU_PPC64) +#if defined(SK_CPU_PPC64)
+ __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(mask)); + /* Load signed 64-bit integer from P into vector element 0. The address need not be 16-byte aligned. */
+#else + extern __inline __m128i
__m128i mask_sse = _mm_loadu_si64(mask); + __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadu_si64 (void const *__P)
+ {
+ return _mm_set_epi64((__m64)0LL, *(__m64 *)__P);
+ }
+#endif +#endif
+ +
// The following (left) shifts cause the top 5 bits of the mask components to
// Check whether masks are equal to 0 and get the highest bit // line up with the corresponding components in an SkPMColor.
// of each byte of result, if masks are all zero, we will get // Note that the mask's RGB16 order may differ from the SkPMColor order.

@ -87,7 +87,7 @@
%endif %endif
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
%global chromium_pybin /usr/bin/python3 %global chromium_pybin /opt/rh/rh-python38/root/usr/bin/python
%else %else
%if 0%{?rhel} == 8 %if 0%{?rhel} == 8
%global chromium_pybin /usr/bin/python3.9 %global chromium_pybin /usr/bin/python3.9
@ -204,13 +204,18 @@
%endif %endif
# enable qt backend # enable qt backend
%if 0%{?rhel} > 9 || 0%{?fedora}
%global use_qt6 0 %global use_qt6 0
%global use_qt 0
%if 0%{?rhel} > 9 || 0%{?fedora} > 39
%global use_qt6 1
%global use_qt 1 %global use_qt 1
%else %else
%if 0%{?rhel} == 8 || 0%{?rhel} == 9 || 0%{?fedora}
%global use_qt6 0 %global use_qt6 0
%global use_qt 1 %global use_qt 1
%endif %endif
%endif
# Chromium's fork of ICU is now something we can't unbundle. # Chromium's fork of ICU is now something we can't unbundle.
# This is left here to ease the change if that ever switches. # This is left here to ease the change if that ever switches.
@ -339,7 +344,7 @@
%endif %endif
Name: chromium%{chromium_channel} Name: chromium%{chromium_channel}
Version: 124.0.6367.118 Version: 124.0.6367.155
Release: 1%{?dist}.inferit Release: 1%{?dist}.inferit
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home Url: http://www.chromium.org/Home
@ -431,51 +436,53 @@ Patch108: chromium-118-el7_v4l2_quantization.patch
Patch109: chromium-114-wireless-el7.patch Patch109: chromium-114-wireless-el7.patch
Patch110: chromium-115-buildflag-el7.patch Patch110: chromium-115-buildflag-el7.patch
Patch111: chromium-116-constexpr.patch Patch111: chromium-116-constexpr.patch
# old clang on el7 Patch112: chromium-124-el7-powf.patch
Patch113: chromium-121-el7-clang-version-warning.patch Patch113: chromium-121-el7-clang-version-warning.patch
Patch114: chromium-123-el7-clang-build-failure.patch Patch114: chromium-123-el7-clang-build-failure.patch
Patch115: chromium-124-el7-size_t.patch
# fixes for old clang version in el7 (clang <= 15)
# compiler build errors, no matching constructor for initialization
Patch116: chromium-124-no_matching_constructor.patch
Patch117: chromium-115-compiler-SkColor4f.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
Patch118: chromium-124-workaround_clang_bug-structured_binding.patch
# missing typename
Patch119: chromium-124-typename.patch
# error: invalid operands to binary expression
Patch120: chromium-117-string-convert.patch
Patch121: chromium-119-assert.patch
Patch122: chromium-124-el7-constexpr.patch
# system ffmpeg # system ffmpeg
# need for old ffmpeg 5.x on epel9 # need for old ffmpeg 5.x on epel9
Patch115: chromium-107-ffmpeg-5.x-duration.patch Patch130: chromium-107-ffmpeg-5.x-duration.patch
# disable the check # disable the check
Patch116: chromium-107-proprietary-codecs.patch Patch131: chromium-107-proprietary-codecs.patch
# fix tab crash with SIGTRAP error when using system ffmpeg # fix tab crash with SIGTRAP error when using system ffmpeg
Patch117: chromium-118-sigtrap_system_ffmpeg.patch Patch132: chromium-118-sigtrap_system_ffmpeg.patch
# need for old ffmpeg 6.0/5.x on epel9 and fedora < 40 # need for old ffmpeg 6.0/5.x on epel9 and fedora < 40
Patch118: chromium-121-system-old-ffmpeg.patch Patch133: chromium-121-system-old-ffmpeg.patch
# revert AV1 VAAPI video encode due to old libva on el9 # revert AV1 VAAPI video encode due to old libva on el9
Patch130: chromium-122-revert-av1enc-el9.patch Patch140: chromium-122-revert-av1enc-el9.patch
# file conflict with old kernel on el8/el9 # file conflict with old kernel on el8/el9
Patch140: chromium-118-dma_buf_export_sync_file-conflict.patch Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch
# fixes for old clang version in fedora < 38 end epel < 8 (old clang <= 15)
# compiler build errors, no matching constructor for initialization
Patch300: chromium-123-no_matching_constructor.patch
Patch301: chromium-115-compiler-SkColor4f.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 # add correct path for Qt6Gui header and libs
Patch302: chromium-123-workaround_clang_bug-structured_binding.patch Patch150: chromium-124-qt6.patch
# missing typename
Patch303: chromium-123-typename.patch
# error: invalid operands to binary expression
Patch304: chromium-117-string-convert.patch
# disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver # disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver
# not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found # not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found
Patch305: chromium-124-arm64-memory_tagging.patch Patch305: chromium-124-arm64-memory_tagging.patch
Patch306: chromium-119-assert.patch
# revert it for old clang on rhel and f38 # revert it for old clang on rhel and f38
Patch307: chromium-121-v8-c++20-p1.patch Patch307: chromium-121-v8-c++20-p1.patch
Patch308: chromium-123-v8-c++20.patch Patch308: chromium-123-v8-c++20.patch
Patch309: chromium-123-constexpr.patch
# missing include header files # missing include header files
Patch310: chromium-123-missing-header-files.patch Patch310: chromium-123-missing-header-files.patch
@ -488,9 +495,6 @@ Patch313: chromium-123-rust-clap_lex.patch
Patch314: chromium-124-clang16-buildflags.patch Patch314: chromium-124-clang16-buildflags.patch
# assignment-expressions not suport in python < 3.8 on el 7/8
Patch315: chromium-124-python3-assignment-expressions.patch
# add -ftrivial-auto-var-init=zero and -fwrapv # add -ftrivial-auto-var-init=zero and -fwrapv
Patch316: chromium-122-clang-build-flags.patch Patch316: chromium-122-clang-build-flags.patch
@ -505,9 +509,6 @@ Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
# remove flag split-threshold-for-reg-with-hint, it' not supported in clang <= 17 # remove flag split-threshold-for-reg-with-hint, it' not supported in clang <= 17
Patch354: chromium-120-split-threshold-for-reg-with-hint.patch Patch354: chromium-120-split-threshold-for-reg-with-hint.patch
# error: unknown type name 'nullptr_t'
Patch355: chromium-121-nullptr_t-without-namespace-std.patch
# disable FFmpegAllowLists by default to allow external ffmpeg # disable FFmpegAllowLists by default to allow external ffmpeg
patch356: chromium-122-disable-FFmpegAllowLists.patch patch356: chromium-122-disable-FFmpegAllowLists.patch
@ -515,7 +516,7 @@ patch356: chromium-122-disable-FFmpegAllowLists.patch
Patch357: chromium-122-clang16-disable-auto-upgrade-debug-info.patch Patch357: chromium-122-clang16-disable-auto-upgrade-debug-info.patch
# set clang_lib path # set clang_lib path
Patch358: chromium-122-rust-clang_lib.patch Patch358: chromium-124-rust-clang_lib.patch
# ERROR Unresolved dependencies # ERROR Unresolved dependencies
Patch359: chromium-124-libavif-deps.patch Patch359: chromium-124-libavif-deps.patch
@ -640,6 +641,10 @@ Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuil
BuildRequires: golang-github-evanw-esbuild BuildRequires: golang-github-evanw-esbuild
%endif %endif
%if 0%{?rhel} == 7
BuildRequires: rh-python38
%endif
# Yandex logo # Yandex logo
Source50: https://upload.wikimedia.org/wikipedia/commons/f/f1/Yandex_logo_2021_Russian.svg Source50: https://upload.wikimedia.org/wikipedia/commons/f/f1/Yandex_logo_2021_Russian.svg
@ -1279,49 +1284,50 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P91 -p1 -b .system-opus %patch -P91 -p1 -b .system-opus
%endif %endif
#%%if ! %{bundleffmpegfree}
#%%if 0%{?rhel} == 9
#%%patch -P115 -p1 -b .ffmpeg-5.x-duration
#%%endif
#%%patch -P116 -p1 -b .prop-codecs
#%%patch -P117 -p1 -b .sigtrap_system_ffmpeg
#%%patch -P118 -p1 -b .system-old-ffmpeg
#%%endif
# EPEL specific patches # EPEL specific patches
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
%patch -P100 -p1 -b .el7-memfd-fcntl-include %patch -P100 -p1 -b .el7-memfd-fcntl-include
%patch -P101 -p1 -b .wayland-strndup-error %patch -P101 -p1 -b .wayland-strndup-error
#patch -P102 -p1 -b .default-constructor-involving-anonymous-union %patch -P102 -p1 -b .default-constructor-involving-anonymous-union
%patch -P103 -p1 -b .epel7-header-workarounds %patch -P103 -p1 -b .epel7-header-workarounds
%patch -P104 -p1 -b .el7cups %patch -P104 -p1 -b .el7cups
%patch -P105 -p1 -b .el7-old-libdrm %patch -P105 -p1 -b .el7-old-libdrm
%patch -P106 -p1 -b .el7-erase-fix %patch -P106 -p1 -b .el7-erase-fix
#patch -P107 -p1 -b .el7-extra-operator-equalequal %patch -P107 -p1 -b .el7-extra-operator-equalequal
%patch -P108 -p1 -b .el7_v4l2_quantization %patch -P108 -p1 -b .el7_v4l2_quantization
%patch -P109 -p1 -b .wireless %patch -P109 -p1 -b .wireless
%patch -P110 -p1 -b .buildflag-el7 %patch -P110 -p1 -b .buildflag-el7
#patch -P111 -p1 -b .constexpr %patch -P111 -p1 -b .inline-function-el7
%patch -P112 -p1 -b .el7-powf
%patch -P113 -p1 -b .el7-clang-version-warning %patch -P113 -p1 -b .el7-clang-version-warning
%patch -P114 -p1 -b .clang-build-failure %patch -P114 -p1 -b .clang-build-failure
%patch -P300 -p1 -b .no_matching_constructor %patch -P115 -p1 -b .el7-size_t
%patch -P301 -p1 -b .workaround_clang-SkColor4f %patch -P116 -p1 -b .no_matching_constructor
%patch -P302 -p1 -b .workaround_clang_bug-structured_binding %patch -P117 -p1 -b .workaround_clang-SkColor4f
%patch -P303 -p1 -b .typename %patch -P118 -p1 -b .workaround_clang_bug-structured_binding
%patch -P304 -p1 -b .string-convert %patch -P119 -p1 -b .typename
%patch -P306 -p1 -b .assert %patch -P120 -p1 -b .string-convert
%patch -P121 -p1 -b .assert
%patch -P122 -p1 -b .constexpr
%endif
%if 0%{?rhel} == 9
%patch -P140 -p1 -b .revert-av1enc
%endif %endif
%if 0%{?rhel} == 8 || 0%{?rhel} == 9 %if 0%{?rhel} == 8 || 0%{?rhel} == 9
%patch -P140 -p1 -b .dma_buf_export_sync_file-conflict %patch -P141 -p1 -b .dma_buf_export_sync_file-conflict
%endif %endif
%if 0%{?rhel} == 9 %if 0%{?rhel} == 9
%patch -P130 -p1 -b .revert-av1enc %patch -P130 -p1 -b .revert-av1enc
%endif %endif
%if 0%{?rhel} > 9 || 0%{?fedora} > 39
%patch -P150 -p1 -b .qt6
%endif
%if 0%{?rhel} && 0%{?rhel} <= 8 %if 0%{?rhel} && 0%{?rhel} <= 8
%patch -P315 -p1 -b .assignment-expressions
%ifarch aarch64 %ifarch aarch64
%patch -P305 -p1 -b .memory_tagging %patch -P305 -p1 -b .memory_tagging
%patch -P317 -p1 -b .libdav1d-aarch64 %patch -P317 -p1 -b .libdav1d-aarch64
@ -1350,9 +1356,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%endif %endif
%patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint %patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint
%if ! %{use_custom_libcxx}
%patch -P355 -p1 -b .nullptr_t-without-namespace-std
%endif
%patch -P356 -p1 -b .disable-FFmpegAllowLists %patch -P356 -p1 -b .disable-FFmpegAllowLists
%patch -P357 -p1 -b .clang16-disable-auto-upgrade-debug-info %patch -P357 -p1 -b .clang16-disable-auto-upgrade-debug-info
%patch -P358 -p1 -b .rust-clang_lib %patch -P358 -p1 -b .rust-clang_lib
@ -1511,11 +1514,6 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav
%endif %endif
%build %build
# utf8 issue on epel7, Internal parsing error 'ascii' codec can't
# decode byte 0xe2 in position 474: ordinal not in range(128)
%if 0%{?rhel} == 7
export LANG=en_US.UTF-8
%endif
# reduce warnings # reduce warnings
%if %{clang} %if %{clang}
@ -1568,6 +1566,7 @@ export RUSTFLAGS
# enable toolset on el7 # enable toolset on el7
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
. /opt/rh/rh-python38/enable
%if %{clang} %if %{clang}
. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable . /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable
%else %else
@ -2249,6 +2248,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif %endif
%changelog %changelog
* Thu May 09 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.155-1.inferit
- update to 124.0.6367.155
* High CVE-2024-4558: Use after free in ANGLE
* High CVE-2024-4559: Heap buffer overflow in WebAudio
* Thu May 02 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.118-1.inferit * Thu May 02 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.118-1.inferit
- update to 124.0.6367.118 - update to 124.0.6367.118
* High CVE-2024-4331: Use after free in Picture In Picture * High CVE-2024-4331: Use after free in Picture In Picture

Loading…
Cancel
Save