Chromium 143.0.7499.40 boo#1254429 #18

Manually merged
AndreasStieger merged 219 commits from AndreasStieger/chromium:leap-16.0 into leap-16.0 2025-12-04 13:50:09 +01:00
13 changed files with 11716 additions and 11493 deletions

View File

@@ -10,9 +10,9 @@ author: Andres Salomon <dilinger@debian.org>
34 | .strict = true};
| ~~~~~~~~~~~~~~~
--- a/services/network/shared_dictionary/simple_url_pattern_matcher.cc
+++ b/services/network/shared_dictionary/simple_url_pattern_matcher.cc
@@ -28,17 +28,17 @@ namespace network {
--- a/components/url_pattern/simple_url_pattern_matcher.cc
+++ b/components/url_pattern/simple_url_pattern_matcher.cc
@@ -29,17 +29,17 @@
namespace {
// https://urlpattern.spec.whatwg.org/#default-options

View File

@@ -8,7 +8,7 @@ Index: chromium-142.0.7444.3/build/rust/allocator/lib.rs
+ // TODO(crbug.com/422538133) Remove after rolling past
+ // https://github.com/rust-lang/rust/pull/141061
+ #[no_mangle]
+ #[unsafe(no_mangle)]
+ #[linkage = "weak"]
+ static __rust_no_alloc_shim_is_unstable: u8 = 0;
+

View File

@@ -1,27 +0,0 @@
From 8dab9f289a5e4aef4731b67fa14fa5d51172c704 Mon Sep 17 00:00:00 2001
From: Matt Jolly <kangie@gentoo.org>
Date: Sun, 21 Sep 2025 10:41:35 +1000
Subject: [PATCH] IWYU form_field_data.h
8ff2584bb5e7bceb0958561f97fcfd431f6fa6a6 migrated parsing to use
FormFieldData, and provided a forward decl. This is causing issues when
not building with C++ modules or PCH (i.e. downstream linux distro
build), so just include the header.
Signed-off-by: Matt Jolly <kangie@gentoo.org>
--- a/components/autofill/core/browser/form_parsing/autofill_scanner.h
+++ b/components/autofill/core/browser/form_parsing/autofill_scanner.h
@@ -11,9 +11,9 @@
#include "base/containers/span.h"
#include "base/memory/raw_span.h"
-namespace autofill {
+#include "components/autofill/core/common/form_field_data.h"
-class FormFieldData;
+namespace autofill {
// A helper class for parsing a stream of |FormFieldData|'s with lookahead.
class AutofillScanner {
--
2.50.1

Binary file not shown.

View File

@@ -0,0 +1,29 @@
--- chromium-143.0.7499.4/net/cookies/cookie_util.cc 2025/11/06 13:24:15 1.1
+++ chromium-143.0.7499.4/net/cookies/cookie_util.cc 2025/11/06 13:27:33
@@ -841,7 +841,7 @@
void ParseRequestCookieLine(std::string_view header_value,
ParsedRequestCookies* parsed_cookies) {
- std::string::const_iterator i = header_value.begin();
+ std::string_view::const_iterator i = header_value.begin();
while (i != header_value.end()) {
// Here we are at the beginning of a cookie.
@@ -850,7 +850,7 @@
if (i == header_value.end()) return;
// Find cookie name.
- std::string::const_iterator cookie_name_beginning = i;
+ std::string_view::const_iterator cookie_name_beginning = i;
while (i != header_value.end() && *i != '=') ++i;
auto cookie_name = std::string_view(cookie_name_beginning, i);
@@ -859,7 +859,7 @@
// Cookies may have no value, in this case '=' may or may not be there.
if (i != header_value.end() && i + 1 != header_value.end()) {
++i; // Skip '='.
- std::string::const_iterator cookie_value_beginning = i;
+ std::string_view::const_iterator cookie_value_beginning = i;
if (*i == '"') {
++i; // Skip '"'.
while (i != header_value.end() && *i != '"') ++i;

View File

@@ -0,0 +1,62 @@
--- chromium-143.0.7489.0/testing/libfuzzer/fuzzers/BUILD.gn 2025/10/27 00:01:26 1.1
+++ chromium-143.0.7489.0/testing/libfuzzer/fuzzers/BUILD.gn 2025/10/27 00:01:40
@@ -103,7 +103,7 @@
sources = [ "libpng_read_fuzzer.cc" ]
deps = [
"//base",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
]
dict = "dicts/png.dict"
seed_corpuses = libpng_seed_corpuses
--- chromium-143.0.7489.0/tools/imagediff/BUILD.gn 2025/10/27 12:14:26 1.1
+++ chromium-143.0.7489.0/tools/imagediff/BUILD.gn 2025/10/27 12:15:39
@@ -48,7 +48,7 @@
deps = [
"//base",
"//build/win:default_exe_manifest",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
"//third_party/zlib",
]
}
--- chromium-143.0.7489.0/chrome/test/BUILD.gn 2025/10/27 13:35:00 1.1
+++ chromium-143.0.7489.0/chrome/test/BUILD.gn 2025/10/27 13:35:18
@@ -11167,7 +11167,7 @@
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
"//ui/base:test_support",
"//ui/events:test_support",
"//ui/ozone",
@@ -11532,7 +11532,7 @@
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
"//ui/base:base_interactive_ui_tests",
"//ui/base:ozone_buildflags",
"//ui/base:test_support",
@@ -12492,7 +12492,7 @@
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
"//ui/base:test_support",
"//ui/resources:ui_test_pak",
"//ui/views",
--- chromium-143.0.7489.0/ui/gfx/BUILD.gn 2025/10/27 13:34:40 1.1
+++ chromium-143.0.7489.0/ui/gfx/BUILD.gn 2025/10/27 13:34:52
@@ -902,7 +902,7 @@
"//skia:skcms",
"//testing/gtest",
"//third_party/icu:icuuc",
- "//third_party/libpng:libpng_for_testonly",
+ "//third_party/libpng",
"//third_party/zlib",
"//ui/base",
"//ui/gfx/animation",

View File

@@ -0,0 +1,66 @@
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/grammar.rs 2025/11/10 11:00:20 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/grammar.rs 2025/11/10 11:00:44
@@ -1322,7 +1322,7 @@
outp.rhs_elements.push(CSymIdx::NULL);
outp.rhs_params.push(ParamExpr::Null);
}
- while !outp.rhs_elements.len().is_multiple_of(1 << RULE_SHIFT) {
+ while outp.rhs_elements.len() % (1 << RULE_SHIFT) != 0 {
outp.rhs_elements.push(CSymIdx::NULL);
outp.rhs_params.push(ParamExpr::Null);
}
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/parser.rs 2025/11/10 11:00:52 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/parser.rs 2025/11/10 11:01:10
@@ -132,7 +132,7 @@
}
pub fn one_in(&mut self, n: u32) -> bool {
- self.next().is_multiple_of(n)
+ self.next() % n == 0
}
pub fn next_alt(&mut self) -> u32 {
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/regexvec.rs 2025/11/10 11:01:31 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/regexvec.rs 2025/11/10 11:01:45
@@ -674,7 +674,7 @@
// if lst.len() == 0 {
// return StateID::DEAD;
// }
- assert!(lst.len().is_multiple_of(2));
+ assert!(lst.len() % 2 == 0);
let id = StateID::new(self.rx_sets.insert(&lst));
if id.as_usize() >= self.state_descs.len() {
let state_desc = self.compute_state_desc(id);
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/json/numeric.rs 2025/11/10 11:01:57 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/json/numeric.rs 2025/11/10 11:02:20
@@ -19,7 +19,7 @@
// reduce to simplest form
let mut coef = coef;
let mut exp = exp;
- while exp > 0 && coef.is_multiple_of(10) {
+ while exp > 0 && coef % 10 == 0 {
coef /= 10;
exp -= 1;
}
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/toktrie-v1/src/bytes.rs 2025/11/10 11:03:57 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/toktrie-v1/src/bytes.rs 2025/11/10 11:04:11
@@ -14,7 +14,7 @@
}
pub fn vec_from_bytes<T: PodTrait>(bytes: &[u8]) -> Vec<T> {
- if !bytes.len().is_multiple_of(size_of::<T>()) {
+ if bytes.len() % size_of::<T>() != 0 {
panic!(
"vecT: got {} bytes, needed multiple of {}",
bytes.len(),
--- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/perf.rs 2025/11/10 23:43:20 1.1
+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/perf.rs 2025/11/10 23:43:28
@@ -140,7 +140,7 @@
for (i, c) in s.chars().enumerate() {
// Insert a comma once we've passed 'offset' and every 3 digits after that.
- if i != 0 && i >= offset && (i - offset).is_multiple_of(3) {
+ if i != 0 && i >= offset && (i - offset) % 3 == 0 {
result.push(',');
}
result.push(c);

Binary file not shown.

View File

@@ -1,3 +1,45 @@
-------------------------------------------------------------------
Tue Dec 2 18:49:57 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Chromium 143.0.7499.40 (boo#1254429):
* CVE-2025-13630: Type Confusion in V8
* CVE-2025-13631: Inappropriate implementation in Google Updater
* CVE-2025-13632: Inappropriate implementation in DevTools
* CVE-2025-13633: Use after free in Digital Credentials
* CVE-2025-13634: Inappropriate implementation in Downloads
* CVE-2025-13720: Bad cast in Loader
* CVE-2025-13721: Race in v8
* CVE-2025-13635: Inappropriate implementation in Downloads
* CVE-2025-13636: Inappropriate implementation in Split View
* CVE-2025-13637: Inappropriate implementation in Downloads
* CVE-2025-13638: Use after free in Media Stream
* CVE-2025-13639: Inappropriate implementation in WebRTC
* CVE-2025-13640: Inappropriate implementation in Passwords
- added patches:
chromium-143-libpng-unbundle.patch
(workaround broken libpng unbundle)
chromium-143-cookie_string_view.patch
(use string_view also for the const_iterator after type change)
chromium-143-revert_rust_is_multiple_of.patch
(revert added calls to is_multiple_of rejected as unstable feature)
- modified patches:
gcc-enable-lto.patch (updated context)
chromium-127-constexpr.patch (file moved)
chromium-140-keep-__rust_no_alloc_shim_is_unstable.patch (add unsafe)
ppc-fedora-fix-clang-selection.patch (updated context)
ppc-fedora-0002-regenerate-xnn-buildgn.patch (reduced to stub,
will need updating)
- dropped patches:
chromium-142-iwyu-field-form-data.patch (upstream)
- bump buildrequires for rust-bindgen to 0.71 minimum as we need
the unsafe_extern_blocks
- updated ppc-fedora-0002-regenerate-xnn-buildgn.patch
-------------------------------------------------------------------
Sun Nov 23 23:30:00 CET 2025 - Stanislav Brabec <sbrabec@suse.com>
- Remove unused BuildRequires: update-desktop-files.
-------------------------------------------------------------------
Mon Nov 17 23:40:26 CET 2025 - ro@suse.de

View File

@@ -118,7 +118,7 @@
%global official_build 1
Name: chromium%{n_suffix}
Version: 142.0.7444.175
Version: 143.0.7499.40
Release: 0
Summary: Google's open source browser project
License: BSD-3-Clause AND LGPL-2.1-or-later
@@ -151,7 +151,6 @@ Patch9: system-libdrm.patch
# gentoo/fedora/arch patchset
Patch15: chromium-125-compiler.patch
Patch98: chromium-102-regex_pattern-array.patch
Patch99: chromium-142-iwyu-field-form-data.patch
# PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding
Patch202: chromium-prop-codecs.patch
Patch240: chromium-117-string-convert.patch
@@ -174,6 +173,9 @@ Patch381: chromium-141-csss_style_sheet.patch
Patch382: chromium-141-no_cxx_modules.patch
Patch383: chromium-142-rust-revert_should_panic.patch
Patch385: chromium-142-rust_no_sanitize.patch
Patch386: chromium-143-libpng-unbundle.patch
Patch387: chromium-143-cookie_string_view.patch
Patch389: chromium-143-revert_rust_is_multiple_of.patch
# conditionally applied patches ppc64le only
Patch401: ppc-fedora-add-ppc64-architecture-string.patch
Patch402: ppc-fedora-0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch
@@ -279,7 +281,6 @@ BuildRequires: python311-setuptools
BuildRequires: python311-six
%endif
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: util-linux
BuildRequires: wdiff
BuildRequires: perl(Switch)
@@ -365,7 +366,7 @@ BuildRequires: pkgconfig(xtst)
BuildRequires: cargo%{rust_version}
BuildRequires: rust%{rust_version}
# END add rust BR
BuildRequires: rust-bindgen
BuildRequires: rust-bindgen >= 0.71
Requires: xdg-utils
Requires(pre): permissions
Recommends: noto-coloremoji-fonts

View File

@@ -57,8 +57,8 @@ Index: chromium-120.0.6099.18/base/BUILD.gn
===================================================================
--- chromium-120.0.6099.18.orig/base/BUILD.gn
+++ chromium-120.0.6099.18/base/BUILD.gn
@@ -3561,6 +3561,10 @@
sources += [ "location_unittest.cc" ]
@@ -3749,6 +3749,10 @@
sources += [ "immediate_crash_unittest.cc" ]
}
+ if (gcc_lto) {

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,10 @@
Index: chromium-128.0.6613.113/build/config/BUILDCONFIG.gn
===================================================================
--- chromium-128.0.6613.113.orig/build/config/BUILDCONFIG.gn
+++ chromium-128.0.6613.113/build/config/BUILDCONFIG.gn
@@ -138,7 +138,6 @@ declare_args() {
--- chromium-143.0.7499.17/build/config/BUILDCONFIG.gn 2025/11/10 11:36:45 1.1
+++ chromium-143.0.7499.17/build/config/BUILDCONFIG.gn 2025/11/10 11:37:11
@@ -138,7 +138,6 @@
# Set to true when compiling with the Clang compiler.
is_clang = current_os != "linux" ||
(current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64" &&
current_cpu != "riscv64")
current_cpu != "mips" && current_cpu != "mips64")
# Allows the path to a custom target toolchain to be injected as a single