aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2023-10-18 20:43:29 +0800
committerTing-Wei Lan <lantw44@gmail.com>2023-10-18 20:43:29 +0800
commit578977e239f2054127b46b2e61e6f784078fbcee (patch)
tree753d4a1fc41366409ac6940d69f41fd1abc9a8fd
parent220f258ab2b8bd646c2fa7ea8365030972a20c6c (diff)
downloadcopr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar.gz
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar.bz2
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar.lz
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar.xz
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.tar.zst
copr-rpm-spec-578977e239f2054127b46b2e61e6f784078fbcee.zip
chromium: Chromium 117.0.5938.149 -> 118.0.5993.70
-rw-r--r--chromium/chromium/chromium-freetype-r1195323.patch102
-rw-r--r--chromium/chromium/chromium-gcc-12-r1181503.patch30
-rw-r--r--chromium/chromium/chromium-gcc-12-r1193203.patch42
-rw-r--r--chromium/chromium/chromium-gcc-12-r1196995.patch35
-rw-r--r--chromium/chromium/chromium-gcc-12-r1197890.patch126
-rw-r--r--chromium/chromium/chromium-gcc-12-r1204857.patch32
-rw-r--r--chromium/chromium/chromium-partition_root-gcc-12.patch133
-rw-r--r--chromium/chromium/chromium-stub-unrar-wrapper.patch49
-rw-r--r--chromium/chromium/chromium.spec15
9 files changed, 518 insertions, 46 deletions
diff --git a/chromium/chromium/chromium-freetype-r1195323.patch b/chromium/chromium/chromium-freetype-r1195323.patch
new file mode 100644
index 0000000..94720af
--- /dev/null
+++ b/chromium/chromium/chromium-freetype-r1195323.patch
@@ -0,0 +1,102 @@
+From ed354d00aeda84693611b14baa56a287557a26b5 Mon Sep 17 00:00:00 2001
+From: Munira Tursunova <moonira@google.com>
+Date: Tue, 12 Sep 2023 11:54:48 +0000
+Subject: [PATCH] Add check for use_system_freetype when importing private
+ freetype header
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In [0] the include of private freetype header was added, which caused
+build breakage when use_system_freetype=true, see [1].
+
+This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
+
+[0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
+[1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
+
+Bug: 1429581
+Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
+Commit-Queue: Munira Tursunova <moonira@google.com>
+Reviewed-by: Dominik Röttsches <drott@chromium.org>
+Reviewed-by: Rick Byers <rbyers@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1195323}
+---
+ third_party/BUILD.gn | 6 ++++++
+ third_party/blink/renderer/platform/BUILD.gn | 1 +
+ .../renderer/platform/fonts/simple_font_data.cc | 12 +++++++++++-
+ 3 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
+index 7b086f95413ff..4ce797ebad722 100644
+--- a/third_party/BUILD.gn
++++ b/third_party/BUILD.gn
+@@ -2,6 +2,7 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++import("//build/buildflag_header.gni")
+ import("//build/config/features.gni")
+ import("//build/config/freetype/freetype.gni")
+ import("//third_party/harfbuzz-ng/harfbuzz.gni")
+@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
+ public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
+ }
+ }
++
++buildflag_header("freetype_buildflags") {
++ header = "freetype_buildflags.h"
++ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
++}
+diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
+index 591d2f939605b..f6a2cd2168d1e 100644
+--- a/third_party/blink/renderer/platform/BUILD.gn
++++ b/third_party/blink/renderer/platform/BUILD.gn
+@@ -1717,6 +1717,7 @@ component("platform") {
+ "//services/viz/public/cpp/gpu",
+ "//skia",
+ "//skia:skcms",
++ "//third_party:freetype_buildflags",
+ "//third_party:freetype_harfbuzz",
+ "//third_party/abseil-cpp:absl",
+ "//third_party/blink/public:image_resources",
+diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
+index abe06f35c14a5..b2bfd88f0d85d 100644
+--- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
++++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
+@@ -48,7 +48,7 @@
+ #include "third_party/blink/renderer/platform/wtf/math_extras.h"
+ #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
+ #include "third_party/blink/renderer/platform/wtf/text/unicode.h"
+-#include "third_party/freetype/src/src/autofit/afws-decl.h"
++#include "third_party/freetype_buildflags.h"
+ #include "third_party/skia/include/core/SkFontMetrics.h"
+ #include "third_party/skia/include/core/SkPath.h"
+ #include "third_party/skia/include/core/SkTypeface.h"
+@@ -57,12 +57,22 @@
+ #include "ui/gfx/geometry/skia_conversions.h"
+ #include "v8/include/v8.h"
+
++#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
++#include "third_party/freetype/src/src/autofit/afws-decl.h"
++#endif
++
+ namespace blink {
+
+ constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
+ constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
++
++#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
+ constexpr int32_t kFontObjectsMemoryConsumption =
+ std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
++#else
++// sizeof(AF_LatinMetricsRec) = 2128
++constexpr int32_t kFontObjectsMemoryConsumption = 2128;
++#endif
+
+ SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
+ scoped_refptr<CustomFontData> custom_data,
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-gcc-12-r1181503.patch b/chromium/chromium/chromium-gcc-12-r1181503.patch
deleted file mode 100644
index de097cf..0000000
--- a/chromium/chromium/chromium-gcc-12-r1181503.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 5a8dfcaf84b5af5aeb738702651e98bfc43d6d45 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Wed, 9 Aug 2023 15:36:26 +0000
-Subject: [PATCH] IWYU: add memory for std::unique_ptr in //third_party/ipcz
-
-Bug: 957519
-Change-Id: I600f415a59206da283046b638a4f68eda0892ac7
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4754274
-Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
-Reviewed-by: Robert Sesek <rsesek@chromium.org>
-Cr-Commit-Position: refs/heads/main@{#1181503}
----
- third_party/ipcz/src/ipcz/router_link.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/third_party/ipcz/src/ipcz/router_link.h b/third_party/ipcz/src/ipcz/router_link.h
-index 09bc5626d9956..619638cc7f18b 100644
---- a/third_party/ipcz/src/ipcz/router_link.h
-+++ b/third_party/ipcz/src/ipcz/router_link.h
-@@ -7,6 +7,7 @@
-
- #include <cstddef>
- #include <functional>
-+#include <memory>
- #include <string>
- #include <utility>
-
---
-2.41.0
-
diff --git a/chromium/chromium/chromium-gcc-12-r1193203.patch b/chromium/chromium/chromium-gcc-12-r1193203.patch
new file mode 100644
index 0000000..20779f3
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1193203.patch
@@ -0,0 +1,42 @@
+From e3cec7e4af731f27b39773671a9951ebcb97a0d1 Mon Sep 17 00:00:00 2001
+From: Ivan Murashov <ivan.murashov@lge.com>
+Date: Wed, 6 Sep 2023 19:40:47 +0000
+Subject: [PATCH] IWYU: Add includes for size_t and int64_t usage into
+ sensor_reading.h
+
+Otherwise build fails when building with use_custom_libcxx=false.
+The errors example:
+services/device/public/cpp/generic_sensor/sensor_reading.h:17:40:
+error: use of undeclared identifier 'int64_t'
+services/device/public/cpp/generic_sensor/sensor_reading.h:35:5:
+error: unknown type name 'int64_t'
+services/device/public/cpp/generic_sensor/sensor_reading.h:58:20:
+error: unknown type name 'size_t'; did you mean 'std::size_t'?
+
+Bug: 957519
+Change-Id: Iec9bb821eb6284cf38d93c1cec90846e2f615fab
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4838935
+Reviewed-by: Reilly Grant <reillyg@chromium.org>
+Commit-Queue: Ivan Murashov <ivan.murashov@lge.com>
+Cr-Commit-Position: refs/heads/main@{#1193203}
+---
+ services/device/public/cpp/generic_sensor/sensor_reading.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/services/device/public/cpp/generic_sensor/sensor_reading.h b/services/device/public/cpp/generic_sensor/sensor_reading.h
+index 7df8278649a23..c653bec632cc6 100644
+--- a/services/device/public/cpp/generic_sensor/sensor_reading.h
++++ b/services/device/public/cpp/generic_sensor/sensor_reading.h
+@@ -5,6 +5,9 @@
+ #ifndef SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
+ #define SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include <type_traits>
+
+ namespace device {
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-gcc-12-r1196995.patch b/chromium/chromium/chromium-gcc-12-r1196995.patch
new file mode 100644
index 0000000..bc8fc9f
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1196995.patch
@@ -0,0 +1,35 @@
+From ef7513096d041e9278edda3fd7515921ae378d72 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Fri, 15 Sep 2023 06:46:15 +0000
+Subject: [PATCH] IWYU: usage of std::atomic requires include in
+ lightweight_detector.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Bug: 957519
+Change-Id: Ib6e3b67b9e741af58c78c924c5756b80d37c3e67
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4866063
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+Reviewed-by: Jonathan Metzman <metzman@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1196995}
+---
+ components/gwp_asan/client/lightweight_detector.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/components/gwp_asan/client/lightweight_detector.h b/components/gwp_asan/client/lightweight_detector.h
+index 5caf14bc54c29..f1d125ff9626c 100644
+--- a/components/gwp_asan/client/lightweight_detector.h
++++ b/components/gwp_asan/client/lightweight_detector.h
+@@ -5,6 +5,8 @@
+ #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
+ #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
+
++#include <atomic>
++
+ #include "base/gtest_prod_util.h"
+ #include "components/gwp_asan/client/export.h"
+ #include "components/gwp_asan/common/lightweight_detector_state.h"
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-gcc-12-r1197890.patch b/chromium/chromium/chromium-gcc-12-r1197890.patch
new file mode 100644
index 0000000..59152ea
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1197890.patch
@@ -0,0 +1,126 @@
+From 3a05767c2bbba5ee75c9adf0a5971258405520a8 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Mon, 18 Sep 2023 17:18:31 +0000
+Subject: [PATCH] GCC: workaround constexpr and raw_ptr issues in autofill
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+First, we workaround the problem with some constexpr destructors
+declared to use default implementation, that are not properly
+resolved when used.
+
+Then, apparently GCC cannot resolve raw_ptr to a constexpr.
+
+Bug: 819294
+Change-Id: I7746e059a288a3250e8126b87bde5f96c3832199
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4866025
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+Reviewed-by: Dominic Battre <battre@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1197890}
+---
+ ...tofill_i18n_parsing_expression_components.h | 18 +++++++++++++-----
+ .../autofill_i18n_parsing_expressions.h | 2 +-
+ 2 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/components/autofill/core/browser/data_model/autofill_i18n_parsing_expression_components.h b/components/autofill/core/browser/data_model/autofill_i18n_parsing_expression_components.h
+index fcc3f168bf231..2609de2f4284f 100644
+--- a/components/autofill/core/browser/data_model/autofill_i18n_parsing_expression_components.h
++++ b/components/autofill/core/browser/data_model/autofill_i18n_parsing_expression_components.h
+@@ -39,7 +39,7 @@ class AutofillParsingProcess {
+ AutofillParsingProcess(const AutofillParsingProcess& other) = delete;
+ AutofillParsingProcess& operator=(const AutofillParsingProcess& right) =
+ delete;
+- virtual ~AutofillParsingProcess() = default;
++ virtual constexpr ~AutofillParsingProcess() = default;
+
+ // Parses `value` and returns the extracted field type matches.
+ virtual ValueParsingResults Parse(std::string_view value) const = 0;
+@@ -60,7 +60,7 @@ class Decomposition : public AutofillParsingProcess {
+ anchor_end_(anchor_end) {}
+ Decomposition(const Decomposition&) = delete;
+ Decomposition& operator=(const Decomposition&) = delete;
+- ~Decomposition() override = default;
++ constexpr ~Decomposition() override;
+
+ ValueParsingResults Parse(std::string_view value) const override;
+
+@@ -70,6 +70,8 @@ class Decomposition : public AutofillParsingProcess {
+ const bool anchor_end_ = true;
+ };
+
++constexpr Decomposition::~Decomposition() = default;
++
+ // A DecompositionCascade enables us to try one Decomposition after the next
+ // until we have found a match. It can be fitted with a condition to only use it
+ // in case the condition is fulfilled. The lack of a condition is expressed by
+@@ -84,7 +86,7 @@ class DecompositionCascade : public AutofillParsingProcess {
+ : condition_regex_(condition_regex), alternatives_(alternatives) {}
+ DecompositionCascade(const DecompositionCascade&) = delete;
+ DecompositionCascade& operator=(const DecompositionCascade&) = delete;
+- ~DecompositionCascade() override = default;
++ constexpr ~DecompositionCascade() override;
+
+ ValueParsingResults Parse(std::string_view value) const override;
+
+@@ -93,6 +95,8 @@ class DecompositionCascade : public AutofillParsingProcess {
+ const base::span<const AutofillParsingProcess* const> alternatives_;
+ };
+
++constexpr DecompositionCascade::~DecompositionCascade() = default;
++
+ // An ExtractPart parsing process attempts to match a string to a
+ // parsing expression, and then extracts the captured field type values. It can
+ // be fitted with a condition to only use it in case the condition is fulfilled.
+@@ -110,7 +114,7 @@ class ExtractPart : public AutofillParsingProcess {
+
+ ExtractPart(const ExtractPart&) = delete;
+ ExtractPart& operator=(const ExtractPart&) = delete;
+- ~ExtractPart() override = default;
++ constexpr ~ExtractPart() override;
+
+ ValueParsingResults Parse(std::string_view value) const override;
+
+@@ -119,6 +123,8 @@ class ExtractPart : public AutofillParsingProcess {
+ const std::string_view parsing_regex_;
+ };
+
++constexpr ExtractPart::~ExtractPart() = default;
++
+ // Unlike for a DecompositionCascade, ExtractParts does not follow the "the
+ // first match wins" principle but applies all matching attempts in sequence so
+ // the last match wins. This also enables extracting different data (e.g. an
+@@ -134,7 +140,7 @@ class ExtractParts : public AutofillParsingProcess {
+ : condition_regex_(condition_regex), pieces_(pieces) {}
+ ExtractParts(const ExtractParts&) = delete;
+ ExtractParts& operator=(const ExtractParts&) = delete;
+- ~ExtractParts() override = default;
++ constexpr ~ExtractParts() override;
+
+ ValueParsingResults Parse(std::string_view value) const override;
+
+@@ -143,6 +149,8 @@ class ExtractParts : public AutofillParsingProcess {
+ const base::span<const ExtractPart* const> pieces_;
+ };
+
++constexpr ExtractParts::~ExtractParts() = default;
++
+ } // namespace autofill::i18n_model_definition
+
+ #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_DATA_MODEL_AUTOFILL_I18N_PARSING_EXPRESSION_COMPONENTS_H_
+diff --git a/components/autofill/core/browser/data_model/autofill_i18n_parsing_expressions.h b/components/autofill/core/browser/data_model/autofill_i18n_parsing_expressions.h
+index af0c4b0e90866..02b1a240ec9d5 100644
+--- a/components/autofill/core/browser/data_model/autofill_i18n_parsing_expressions.h
++++ b/components/autofill/core/browser/data_model/autofill_i18n_parsing_expressions.h
+@@ -174,7 +174,7 @@ constexpr ExtractParts kExtractParts_7 = ExtractParts("", kExtractParts_7_Pieces
+
+ // A lookup map for parsing expressions for countries and field types.
+ constexpr auto kAutofillParsingRulesMap =
+- base::MakeFixedFlatMap<CountryAndFieldType, raw_ptr<const AutofillParsingProcess>>({
++ base::MakeFixedFlatMap<CountryAndFieldType, const AutofillParsingProcess*>({
+ {{"BR", NAME_FULL}, &kDecompositionCascade_3},
+ {{"BR", ADDRESS_HOME_STREET_LOCATION}, &kDecompositionList[8]},
+ {{"BR", ADDRESS_HOME_SUBPREMISE}, &kExtractParts_0},
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-gcc-12-r1204857.patch b/chromium/chromium/chromium-gcc-12-r1204857.patch
new file mode 100644
index 0000000..e64f0b7
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1204857.patch
@@ -0,0 +1,32 @@
+From 90240a9448babf3b6c6c12a85ee25f47cdebe009 Mon Sep 17 00:00:00 2001
+From: Elly <ellyjones@chromium.org>
+Date: Tue, 3 Oct 2023 21:07:39 +0000
+Subject: [PATCH] gwp-asan: iwyu of <memory> for unique_ptr
+
+Bug: None
+Change-Id: Ifa1ac8a782878b8d1c4a4784d45068fcae506e6d
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4909748
+Auto-Submit: Elly FJ <ellyjones@chromium.org>
+Commit-Queue: Matthew Denton <mpdenton@chromium.org>
+Commit-Queue: Elly FJ <ellyjones@chromium.org>
+Reviewed-by: Matthew Denton <mpdenton@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1204857}
+---
+ components/gwp_asan/client/lightweight_detector.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/components/gwp_asan/client/lightweight_detector.h b/components/gwp_asan/client/lightweight_detector.h
+index f1d125ff9626c..658462e7b107f 100644
+--- a/components/gwp_asan/client/lightweight_detector.h
++++ b/components/gwp_asan/client/lightweight_detector.h
+@@ -6,6 +6,7 @@
+ #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_
+
+ #include <atomic>
++#include <memory>
+
+ #include "base/gtest_prod_util.h"
+ #include "components/gwp_asan/client/export.h"
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-partition_root-gcc-12.patch b/chromium/chromium/chromium-partition_root-gcc-12.patch
new file mode 100644
index 0000000..4f4917b
--- /dev/null
+++ b/chromium/chromium/chromium-partition_root-gcc-12.patch
@@ -0,0 +1,133 @@
+From 3c2c77cff5f7965d6ef3b55a18400533f640b0e1 Mon Sep 17 00:00:00 2001
+From: Ivan Murashov <ivan.murashov@lge.com>
+Date: Fri, 08 Sep 2023 15:43:18 +0000
+Subject: [PATCH] GCC: Put attributes before function name in partition_root.h
+
+By GCC attributes are not allowed to be placed after function name
+in a function definition. This breaks compilation in GCC.
+
+The error example:
+base/allocator/partition_allocator/partition_alloc_forward.h:80:27:
+error: attributes are not allowed on a function-definition
+base/allocator/partition_allocator/partition_root.h:467:7:
+note: in expansion of macro 'PA_MALLOC_ALIGNED'
+
+Bug: 819294
+Change-Id: Ife233d6fe7c2bab0cd503dad5c284879d896936d
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4853717
+Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
+Commit-Queue: Ivan Murashov <ivan.murashov@lge.com>
+Cr-Commit-Position: refs/heads/main@{#1194132}
+
+(rebased to M118)
+---
+
+diff --git a/base/allocator/partition_allocator/partition_root.h b/base/allocator/partition_allocator/partition_root.h
+index d5c4e07..886ed71 100644
+--- a/base/allocator/partition_allocator/partition_root.h
++++ b/base/allocator/partition_allocator/partition_root.h
+@@ -462,15 +462,15 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot {
+ // increasing cache footprint). Set PA_NOINLINE on the "basic" top-level
+ // functions to mitigate that for "vanilla" callers.
+ template <unsigned int flags = 0>
+- PA_NOINLINE PA_MALLOC_FN void* Alloc(size_t requested_size,
+- const char* type_name)
+- PA_MALLOC_ALIGNED {
++ PA_NOINLINE PA_MALLOC_FN PA_MALLOC_ALIGNED void* Alloc(
++ size_t requested_size,
++ const char* type_name) {
+ return AllocInline<flags>(requested_size, type_name);
+ }
+ template <unsigned int flags = 0>
+- PA_ALWAYS_INLINE PA_MALLOC_FN void* AllocInline(size_t requested_size,
+- const char* type_name)
+- PA_MALLOC_ALIGNED {
++ PA_ALWAYS_INLINE PA_MALLOC_FN PA_MALLOC_ALIGNED void* AllocInline(
++ size_t requested_size,
++ const char* type_name) {
+ static_assert((flags & AllocFlags::kNoHooks) == 0); // Internal only.
+ return AllocInternal<flags>(requested_size, internal::PartitionPageSize(),
+ type_name);
+@@ -482,10 +482,10 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot {
+ // alignment, otherwise a sub-optimal allocation strategy is used to
+ // guarantee the higher-order alignment.
+ template <unsigned int flags>
+- PA_ALWAYS_INLINE PA_MALLOC_FN void* AllocInternal(size_t requested_size,
+- size_t slot_span_alignment,
+- const char* type_name)
+- PA_MALLOC_ALIGNED;
++ PA_ALWAYS_INLINE PA_MALLOC_FN PA_MALLOC_ALIGNED void* AllocInternal(
++ size_t requested_size,
++ size_t slot_span_alignment,
++ const char* type_name);
+ // Same as |Alloc()|, but bypasses the allocator hooks.
+ //
+ // This is separate from Alloc() because other callers of
+@@ -496,15 +496,15 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot {
+ // for the malloc() case, the compiler correctly removes the branch, since
+ // this is marked |PA_ALWAYS_INLINE|.
+ template <unsigned int flags = 0>
+- PA_ALWAYS_INLINE PA_MALLOC_FN void* AllocNoHooks(size_t requested_size,
+- size_t slot_span_alignment)
+- PA_MALLOC_ALIGNED;
++ PA_ALWAYS_INLINE PA_MALLOC_FN PA_MALLOC_ALIGNED void* AllocNoHooks(
++ size_t requested_size,
++ size_t slot_span_alignment);
+ // Deprecated compatibility method.
+ // TODO(mikt): remove this once all third party usage is gone.
+- PA_ALWAYS_INLINE PA_MALLOC_FN void* AllocWithFlags(unsigned int flags,
+- size_t requested_size,
+- const char* type_name)
+- PA_MALLOC_ALIGNED {
++ PA_ALWAYS_INLINE PA_MALLOC_FN PA_MALLOC_ALIGNED void* AllocWithFlags(
++ unsigned int flags,
++ size_t requested_size,
++ const char* type_name) {
+ // These conditional branching should be optimized away.
+ if (flags == (AllocFlags::kReturnNull)) {
+ return AllocInline<AllocFlags::kReturnNull>(requested_size, type_name);
+@@ -520,28 +520,28 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot {
+ }
+
+ template <unsigned int flags = 0>
+- PA_NOINLINE void* Realloc(void* ptr,
+- size_t new_size,
+- const char* type_name) PA_MALLOC_ALIGNED {
++ PA_NOINLINE PA_MALLOC_ALIGNED void* Realloc(void* ptr,
++ size_t new_size,
++ const char* type_name) {
+ return ReallocInline<flags>(ptr, new_size, type_name);
+ }
+ template <unsigned int flags = 0>
+- PA_ALWAYS_INLINE void* ReallocInline(void* ptr,
+- size_t new_size,
+- const char* type_name) PA_MALLOC_ALIGNED;
++ PA_ALWAYS_INLINE PA_MALLOC_ALIGNED void* ReallocInline(void* ptr,
++ size_t new_size,
++ const char* type_name);
+ // Overload that may return nullptr if reallocation isn't possible. In this
+ // case, |ptr| remains valid.
+- PA_NOINLINE void* TryRealloc(void* ptr,
+- size_t new_size,
+- const char* type_name) PA_MALLOC_ALIGNED {
++ PA_NOINLINE PA_MALLOC_ALIGNED void* TryRealloc(void* ptr,
++ size_t new_size,
++ const char* type_name) {
+ return ReallocInline<AllocFlags::kReturnNull>(ptr, new_size, type_name);
+ }
+ // Deprecated compatibility method.
+ // TODO(mikt): remove this once all third party usage is gone.
+- PA_NOINLINE void* ReallocWithFlags(unsigned int flags,
+- void* ptr,
+- size_t new_size,
+- const char* type_name) PA_MALLOC_ALIGNED {
++ PA_NOINLINE PA_MALLOC_ALIGNED void* ReallocWithFlags(unsigned int flags,
++ void* ptr,
++ size_t new_size,
++ const char* type_name) {
+ PA_CHECK(flags == AllocFlags::kReturnNull);
+ return ReallocInline<AllocFlags::kReturnNull>(ptr, new_size, type_name);
+ }
+--
+2.41.0
+
diff --git a/chromium/chromium/chromium-stub-unrar-wrapper.patch b/chromium/chromium/chromium-stub-unrar-wrapper.patch
index e97e47c..9a31d31 100644
--- a/chromium/chromium/chromium-stub-unrar-wrapper.patch
+++ b/chromium/chromium/chromium-stub-unrar-wrapper.patch
@@ -57,25 +57,35 @@ index 97f4e0460ad7c..0d665e199e4b4 100644
if (is_win) {
sources += [ "src/isnt.cpp" ]
diff --git a/third_party/unrar/google/unrar_wrapper.cc b/third_party/unrar/google/unrar_wrapper.cc
-index 1b777d2275099..135ba83abbedd 100644
+index a76b497b6ea7d..2f2f159d08071 100644
--- a/third_party/unrar/google/unrar_wrapper.cc
+++ b/third_party/unrar/google/unrar_wrapper.cc
-@@ -9,7 +9,6 @@
- #include "base/files/file_path.h"
+@@ -10,7 +10,6 @@
#include "base/metrics/histogram_macros.h"
+ #include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
-#include "third_party/unrar/src/rar.hpp"
namespace third_party_unrar {
-@@ -18,75 +17,10 @@ RarReader::RarReader() {}
+@@ -19,84 +18,10 @@ RarReader::RarReader() {}
RarReader::~RarReader() {}
bool RarReader::Open(base::File rar_file, base::File temp_file) {
- rar_file_ = std::move(rar_file);
- temp_file_ = std::move(temp_file);
-
-- archive_ = std::make_unique<Archive>();
+- command_ = std::make_unique<CommandData>();
+- // Unrar forbids empty passwords, but requires that a password be provided for
+- // encrypted archives. In order to support metadata encryption, we must
+- // provide some password when opening the file.
+- std::wstring password_flag =
+- L"-p" + (password_.empty() ? L"x" : base::UTF8ToWide(password_));
+- command_->ParseArg(password_flag.data());
+- command_->ParseArg(const_cast<wchar_t*>(L"x"));
+- command_->ParseDone();
+-
+- archive_ = std::make_unique<Archive>(command_.get());
- archive_->SetFileHandle(rar_file_.GetPlatformFile());
- archive_->SetTempFileHandle(temp_file_.GetPlatformFile());
-
@@ -87,11 +97,6 @@ index 1b777d2275099..135ba83abbedd 100644
- if (!is_valid_archive)
- return false;
-
-- command_ = std::make_unique<CommandData>();
-- command_->ParseArg(const_cast<wchar_t*>(L"-p"));
-- command_->ParseArg(const_cast<wchar_t*>(L"x"));
-- command_->ParseDone();
--
- extractor_ = std::make_unique<CmdExtract>(command_.get());
- extractor_->ExtractArchiveInit(*archive_);
-
@@ -121,14 +126,18 @@ index 1b777d2275099..135ba83abbedd 100644
- current_entry_.is_encrypted = archive_->FileHead.Encrypted;
- current_entry_.file_size =
- current_entry_.is_directory ? 0 : extractor_->GetCurrentFileSize();
+- current_entry_.contents_valid =
+- success && ErrHandler.GetErrorCode() == RARX_SUCCESS;
+- ErrHandler.Clean();
-
- if (success) {
- return true;
- }
-
- if (archive_->FileHead.Encrypted) {
-- // Since Chromium doesn't have the password, manually skip over the
-- // encrypted data and fill in the metadata we do have.
+- // Since Chromium doesn't have the password or the password was
+- // incorrect, manually skip over the encrypted data and fill in the
+- // metadata we do have.
- archive_->SeekToNext();
- return true;
- }
@@ -145,8 +154,22 @@ index 1b777d2275099..135ba83abbedd 100644
return false;
}
+@@ -105,11 +30,11 @@ void RarReader::SetPassword(const std::string& password) {
+ }
+
+ bool RarReader::HeadersEncrypted() const {
+- return archive_->Encrypted;
++ return false;
+ }
+
+ bool RarReader::HeaderDecryptionFailed() const {
+- return archive_->FailedHeaderDecryption;
++ return true;
+ }
+
+ } // namespace third_party_unrar
diff --git a/third_party/unrar/google/unrar_wrapper.h b/third_party/unrar/google/unrar_wrapper.h
-index 9e5a08bf092b0..01a1f7b023e4c 100644
+index a0724520f0aac..765a7142a962c 100644
--- a/third_party/unrar/google/unrar_wrapper.h
+++ b/third_party/unrar/google/unrar_wrapper.h
@@ -12,9 +12,9 @@
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index 2108b36..0ee000d 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -71,7 +71,7 @@
%bcond_with fedora_compilation_flags
Name: chromium
-Version: 117.0.5938.149
+Version: 118.0.5993.70
Release: 100%{?dist}
Summary: A WebKit (Blink) powered web browser
@@ -119,8 +119,12 @@ Patch1: chromium-gn-no-static-libstdc++-allow-warnings.patch
Patch2: chromium-python3.patch
# Pull upstream patches
-Patch10: chromium-gcc-12-r1181503.patch
-Patch11: chromium-vulkan_memory_allocator-gcc-13.patch
+Patch10: chromium-vulkan_memory_allocator-gcc-13.patch
+Patch11: chromium-gcc-12-r1193203.patch
+Patch12: chromium-gcc-12-r1196995.patch
+Patch13: chromium-gcc-12-r1197890.patch
+Patch14: chromium-gcc-12-r1204857.patch
+Patch15: chromium-freetype-r1195323.patch
# Fix missing includes
Patch20: chromium-maldoca-cstdint.patch
@@ -129,8 +133,10 @@ Patch21: chromium-ruy-string.patch
# Pull patches from Matt.Jolly
# https://gitlab.com/Matt.Jolly/chromium-patches/-/commit/9f0846cc290d5d11
# https://gitlab.com/Matt.Jolly/chromium-patches/-/commit/55f31e3ac9880a09
+# https://gitlab.com/Matt.Jolly/chromium-patches/-/commit/6a043280ed6f56ab
Patch30: chromium-use-system-zstd.patch
Patch31: chromium-material_color_utilities-cmath.patch
+Patch32: chromium-partition_root-gcc-12.patch
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
@@ -769,6 +775,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Wed Oct 18 2023 - Ting-Wei Lan <lantw44@gmail.com> - 118.0.5993.70-100
+- Update to 118.0.5993.70
+
* Thu Oct 05 2023 - Ting-Wei Lan <lantw44@gmail.com> - 117.0.5938.149-100
- Update to 117.0.5938.149