Update package version to 153.0.8010.52
This commit is contained in:
12 files changed
+702
-94
No files matched your search
@@ -1,6 +1,6 @@
|
||||
name: chromium
|
||||
description: A safe, fast and stable open-source browser project
|
||||
version: 151.0.7922.173
|
||||
version: 153.0.8010.52
|
||||
revision: 1
|
||||
url: https://www.chromium.org/Home/
|
||||
license: BSD-3-License
|
||||
@@ -11,6 +11,7 @@ type: source
|
||||
depends:
|
||||
- alsa-lib
|
||||
- brotli
|
||||
- dav1d
|
||||
- dbus
|
||||
- desktop-file-utils
|
||||
- flac
|
||||
@@ -19,7 +20,9 @@ depends:
|
||||
- gtk3
|
||||
- harfbuzz
|
||||
- hicolor-icon-theme
|
||||
- highway
|
||||
- libcups
|
||||
- libdrm
|
||||
- libffi
|
||||
- libgcrypt
|
||||
- libjpeg-turbo
|
||||
@@ -31,15 +34,19 @@ depends:
|
||||
- libxscrnsaver
|
||||
- minizip
|
||||
- nss
|
||||
- openh264
|
||||
- opus
|
||||
- pciutils
|
||||
- xdg-utils
|
||||
- zlib
|
||||
- zstd
|
||||
optional_depends:
|
||||
- gtk4
|
||||
- kdialog
|
||||
- kwallet
|
||||
- pipewire
|
||||
- upower
|
||||
- gtk4:For GTK4 support using --gtk-version=4
|
||||
- kdialog:For native plasma dialogs
|
||||
- secrets:For a password storage backend
|
||||
- pipewire:For WebRTC desktop sharing under Wayland
|
||||
- qt6-base:For Qt support
|
||||
- upower:For battery status API support
|
||||
make_depends:
|
||||
- clang
|
||||
- compiler-rt
|
||||
@@ -55,8 +62,9 @@ make_depends:
|
||||
- rsync
|
||||
- rustc
|
||||
- rust-bindgen
|
||||
- typescript
|
||||
downloads:
|
||||
- url: https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${BPM_PKG_VERSION}/chromium-${BPM_PKG_VERSION}-linux.tar.xz
|
||||
extract_to: ${BPM_SOURCE}
|
||||
extract_strip_components: 1
|
||||
checksum: 083eb4a98003f5b34d9fe7b3912478ef14f2ed0a16c7c2d932549b9e62aabcc4
|
||||
checksum: 3233497c752d44bf1c6ee654bc85ed506d75638e386309439730f62424c29a1b
|
||||
@@ -2,49 +2,75 @@
|
||||
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
||||
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
||||
|
||||
_patch() {
|
||||
echo "Patching $1..."
|
||||
patch -Np1 -i "$BPM_WORKDIR"/"$1"
|
||||
}
|
||||
|
||||
# The prepare function is executed in the root of the temp directory
|
||||
# This function is used for putting downloaded files to the correct location or applying patches
|
||||
prepare() {
|
||||
cd "$BPM_SOURCE"
|
||||
|
||||
# Most of these patches and fixes have been borrowed from Arch Linux
|
||||
|
||||
# Use the --oauth2-client-id= and --oauth2-client-secret= switches for
|
||||
# setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at
|
||||
# runtime -- this allows signing into Chromium without baked-in values
|
||||
patch -Np1 -i "$BPM_WORKDIR"/use-oauth2-client-switches-as-default.patch
|
||||
_patch use-oauth2-client-switches-as-default.patch
|
||||
|
||||
# Fixes from Gentoo
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-138-nodejs-version-check.patch
|
||||
_patch chromium-138-nodejs-version-check.patch
|
||||
|
||||
# Increase _FORTIFY_SOURCE level
|
||||
patch -Np1 -i "$BPM_WORKDIR"/increase-fortify-level.patch
|
||||
_patch increase-fortify-level.patch
|
||||
|
||||
# Fix issue about missing compiler flag. Can be fixed by upgrading to LLVM 23
|
||||
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-149-drop-unknown-clang-flag.patch
|
||||
_patch chromium-149-drop-unknown-clang-flag.patch
|
||||
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-147-rust-1.95-bytemuck.patch
|
||||
_patch chromium-147-rust-1.95-bytemuck.patch
|
||||
|
||||
# Fixes unknown argument error
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-147-revert-clang-no-lifetime-dse-flag.patch
|
||||
_patch chromium-147-revert-clang-no-lifetime-dse-flag.patch
|
||||
|
||||
# https://crbug.com/456218403
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-145-fix-SYS_SECCOMP.patch
|
||||
_patch chromium-145-fix-SYS_SECCOMP.patch
|
||||
|
||||
patch -Np1 -i "$BPM_WORKDIR"/ungoogled-chromium-145-build-with-wasm-rollup.patch
|
||||
_patch ungoogled-chromium-145-build-with-wasm-rollup.patch
|
||||
|
||||
patch -Np1 -i "$BPM_WORKDIR"/dont_require_profiler_builtins.rlib.patch
|
||||
_patch dont_require_profiler_builtins.rlib.patch
|
||||
|
||||
# Chromium bundles a patched minizip with extra features.
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-149-unbundle-minizip-undo-unicode.patch
|
||||
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-149-use-of-undeclared-identifier-ERROR.patch
|
||||
|
||||
# Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3883
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-151-dont-depends-on-histograms.xml-if-it-is-not-git-checkout.patch
|
||||
_patch chromium-149-use-of-undeclared-identifier-ERROR.patch
|
||||
|
||||
# Fix issue about missing AVX functions
|
||||
# Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837
|
||||
patch -Np1 -i "$BPM_WORKDIR"/chromium-150-revert-avx-flag-change.patch
|
||||
_patch chromium-150-revert-avx-flag-change.patch
|
||||
|
||||
pushd third_party/devtools-frontend/src
|
||||
_patch chromium-152-fix-gn-no-public_inputs.patch
|
||||
popd
|
||||
|
||||
_patch chromium-152-unbundle-minizip-undo-unicode.patch
|
||||
|
||||
_patch chromium-152-unbundle-opus-devtools.patch
|
||||
|
||||
# Use system python3 instead of the hermetic cpython3 interpreter
|
||||
# https://github.com/ungoogled-software/ungoogled-chromium/pull/3946
|
||||
_patch chromium-153-hermetic-python.patch
|
||||
|
||||
# third_party/iamf_tools includes vendored Opus via relative "include/opus.h"
|
||||
# paths that only resolve against a real bundled Opus checkout; fix them up
|
||||
# for the unbundled system Opus build
|
||||
_patch chromium-153-iamf-tools-unbundled-opus.patch
|
||||
|
||||
# Work around TypeScript becoming a build dependency: disable tsgo for the
|
||||
# WebUI and point devtools at the system tsc binary
|
||||
# https://github.com/ungoogled-software/ungoogled-chromium/pull/3946
|
||||
_patch chromium-153-typescript.patch
|
||||
|
||||
_patch chromium-153-crubit.patch
|
||||
|
||||
|
||||
# Allow building against system libraries in official builds
|
||||
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
|
||||
@@ -66,16 +92,21 @@ prepare() {
|
||||
|
||||
local _system_libs=(
|
||||
brotli
|
||||
dav1d
|
||||
flac
|
||||
fontconfig
|
||||
freetype
|
||||
harfbuzz
|
||||
highway
|
||||
libdrm
|
||||
libjpeg
|
||||
libwebp
|
||||
libxml
|
||||
libxslt
|
||||
openh264
|
||||
opus
|
||||
zlib
|
||||
zstd
|
||||
)
|
||||
|
||||
# Remove bundled libraries for which we will use the system copies; this
|
||||
|
||||
@@ -11,21 +11,20 @@ index 7df3e18c4c..1d253318a6 100644
|
||||
} else {
|
||||
# Combine after https://github.com/llvm/llvm-project/pull/192241
|
||||
cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ]
|
||||
@@ -1578,7 +1578,7 @@ config("clang_warning_suppression") {
|
||||
@@ -1590,7 +1590,7 @@ config("clang_warning_suppression") {
|
||||
# See also: https://crbug.com/40891132#comment10
|
||||
ubsan_hardening("c_array_bounds") {
|
||||
sanitizer = "array-bounds"
|
||||
- condition = !(is_asan && target_cpu == "x86") && !is_wasm
|
||||
- condition = !(is_asan && target_cpu == "x86")
|
||||
+ condition = false
|
||||
|
||||
|
||||
# Because we've enabled array-bounds sanitizing we also want to suppress
|
||||
# the related warning about "unsafe-buffer-usage-in-static-sized-array",
|
||||
@@ -1592,7 +1592,7 @@ ubsan_hardening("c_array_bounds") {
|
||||
@@ -1604,6 +1604,7 @@ ubsan_hardening("c_array_bounds") {
|
||||
# `NOTREACHED()` at the end of such functions.
|
||||
ubsan_hardening("return") {
|
||||
sanitizer = "return"
|
||||
- condition = !is_wasm
|
||||
+ condition = false
|
||||
}
|
||||
|
||||
|
||||
config("rustc_revision") {
|
||||
@@ -1,27 +0,0 @@
|
||||
From cb758be9a99d13cfa903432fae0864a1656e2c49 Mon Sep 17 00:00:00 2001
|
||||
From: LN Liberda <[email protected]>
|
||||
Date: Thu, 7 May 2026 09:45:32 +0200
|
||||
Subject: [PATCH] unbundle/minizip: Ignore Unicode Path Extra Field
|
||||
|
||||
The fields come from chromium's patches on minizip
|
||||
---
|
||||
third_party/zlib/google/zip_reader.cc | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/third_party/zlib/google/zip_reader.cc b/third_party/zlib/google/zip_reader.cc
|
||||
index 002a1e3ed01d3..88f075ec7739a 100644
|
||||
--- a/third_party/zlib/google/zip_reader.cc
|
||||
+++ b/third_party/zlib/google/zip_reader.cc
|
||||
@@ -307,12 +307,6 @@ bool ZipReader::OpenEntry() {
|
||||
DCHECK(path_in_zip[info.size_filename] == '\0');
|
||||
entry_.path_in_original_encoding = path_in_zip.data();
|
||||
|
||||
- if (info.size_utf8_filename > 0) {
|
||||
- // Use the Info-ZIP Unicode Path Extra Field if present.
|
||||
- DCHECK(info.utf8_filename[info.size_utf8_filename] == '\0');
|
||||
- entry_.path_in_original_encoding = info.utf8_filename;
|
||||
- }
|
||||
-
|
||||
// Convert path from original encoding to Unicode.
|
||||
std::u16string path_in_utf16;
|
||||
const char* const encoding = encoding_.empty() ? "UTF-8" : encoding_.c_str();
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
From 27f8690db999f6e56f0af7a9ea3d28a019ed72ca Mon Sep 17 00:00:00 2001
|
||||
From: Fumitoshi Ukai <[email protected]>
|
||||
Date: Tue, 30 Jun 2026 18:32:03 -0700
|
||||
Subject: [PATCH] don't depends on histograms.xml if it is not git checkout
|
||||
|
||||
histograms.xml is only generated on git checkout.
|
||||
|
||||
Bug: 329080012
|
||||
Change-Id: Iea4484f8af4cf9ef25e25ea1df2c616fbe46ed5c
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8019063
|
||||
Reviewed-by: Jesse McKenna <[email protected]>
|
||||
Commit-Queue: Fumitoshi Ukai <[email protected]>
|
||||
Auto-Submit: Fumitoshi Ukai <[email protected]>
|
||||
Cr-Commit-Position: refs/heads/main@{#1655184}
|
||||
---
|
||||
|
||||
diff --git a/tools/metrics/BUILD.gn b/tools/metrics/BUILD.gn
|
||||
index c826e97..23799c7 100644
|
||||
--- a/tools/metrics/BUILD.gn
|
||||
+++ b/tools/metrics/BUILD.gn
|
||||
@@ -41,11 +41,11 @@
|
||||
]
|
||||
|
||||
# Only include histograms_xml if we have access to dirmd data, which
|
||||
- # is used to populate ownership information. This is only set to false
|
||||
- # for non-git checkouts.
|
||||
- # TODO(crbug.com/329080012): Remove this once dirmd works in non-git
|
||||
- # checkouts.
|
||||
- if (generate_location_tags) {
|
||||
+ # is used to populate ownership information. This is disabled
|
||||
+ # for non-git checkouts, as dirmd doesn't work on non-git checkout.
|
||||
+ # TODO(crbug.com/329080012): Remove this condition once dirmd works
|
||||
+ # in non-git checkouts.
|
||||
+ if (path_exists("//.git")) {
|
||||
deps += [ ":histograms_xml" ]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
From 8dab8b761385b7946588232e4e2a8c116f9293c3 Mon Sep 17 00:00:00 2001
|
||||
From: Philip Pfaffe <[email protected]>
|
||||
Date: Thu, 09 Jul 2026 05:06:16 -0700
|
||||
Subject: [PATCH] Revert "Expose TypeScript files to dependent targets"
|
||||
|
||||
This reverts commit 9482fa06243e2941e1b7797ac9f9773f86500453.
|
||||
|
||||
Reason for revert: Getting `copy.gni:29:21: Assignment had no effect` in local builds on tip of tree.
|
||||
|
||||
Failure Link: N/A
|
||||
|
||||
Original change's description:
|
||||
> Expose TypeScript files to dependent targets
|
||||
>
|
||||
> Use `public_inputs` in GN build templates to propagate `.ts` files to
|
||||
> dependent targets. This ensures that remote execution environments for
|
||||
> TypeScript compilations have access to all necessary directly or
|
||||
> indirectly imported source files.
|
||||
>
|
||||
> Specific changes include:
|
||||
> * Filtering and exposing `*.ts` files in `copy.gni` and
|
||||
> `devtools_pre_built.gni`.
|
||||
> * Exposing the entrypoint file in `devtools_entrypoint.gni`.
|
||||
> * Filtering and exposing `*.ts` and specific legacy `.js` files
|
||||
> (`ahem.js`, `ARIAProperties.js`, `SupportedCSSProperties.js`) in
|
||||
> `typescript.gni`.
|
||||
> * Applying minor formatting fixes to `forward_variables_from` calls.
|
||||
>
|
||||
> Ref: https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#var_public_inputs
|
||||
> Bug: 513105742
|
||||
> Change-Id: Ibe4e0be27ea0d9d7c3e8309219f0f822a55b9bb5
|
||||
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/8064364
|
||||
> Reviewed-by: Simon Zünd <[email protected]>
|
||||
> Commit-Queue: Takuto Ikuta <[email protected]>
|
||||
> Reviewed-by: Michael Achenbach <[email protected]>
|
||||
|
||||
Bug: 513105742
|
||||
No-Presubmit: true
|
||||
No-Tree-Checks: true
|
||||
No-Try: true
|
||||
Change-Id: Ia4882d1ae1bb5e45aaef4bb831cd2a10eda1ac69
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/8069251
|
||||
Auto-Submit: Philip Pfaffe <[email protected]>
|
||||
Commit-Queue: Michael Achenbach <[email protected]>
|
||||
Reviewed-by: Michael Achenbach <[email protected]>
|
||||
---
|
||||
|
||||
diff --git a/scripts/build/ninja/copy.gni b/scripts/build/ninja/copy.gni
|
||||
index d6d71a6..a03d647 100644
|
||||
--- a/scripts/build/ninja/copy.gni
|
||||
+++ b/scripts/build/ninja/copy.gni
|
||||
@@ -25,9 +25,6 @@
|
||||
string_join(",", sources),
|
||||
]
|
||||
|
||||
- # Expose ts files to dependent targets.
|
||||
- public_inputs = filter_include(sources, [ "*.ts" ])
|
||||
-
|
||||
outputs = []
|
||||
foreach(_input, sources) {
|
||||
outputs += [ "$target_gen_dir/$_input" ]
|
||||
diff --git a/scripts/build/ninja/devtools_entrypoint.gni b/scripts/build/ninja/devtools_entrypoint.gni
|
||||
index 6bee3ef..cedcbb4 100644
|
||||
--- a/scripts/build/ninja/devtools_entrypoint.gni
|
||||
+++ b/scripts/build/ninja/devtools_entrypoint.gni
|
||||
@@ -35,13 +35,7 @@
|
||||
_ts_library_target_name = _entrypoint_target_name + "-typescript"
|
||||
|
||||
ts_library(_ts_library_target_name) {
|
||||
- forward_variables_from(invoker,
|
||||
- [
|
||||
- "deps",
|
||||
- "es_target",
|
||||
- "es_libs",
|
||||
- "inputs",
|
||||
- ])
|
||||
+ forward_variables_from(invoker, ["deps", "es_target", "es_libs", "inputs"])
|
||||
|
||||
sources = [ invoker.entrypoint ]
|
||||
}
|
||||
@@ -110,19 +104,14 @@
|
||||
}
|
||||
|
||||
ts_library(_prebundle_target_name) {
|
||||
- forward_variables_from(invoker,
|
||||
- [
|
||||
- "deps",
|
||||
- "es_target",
|
||||
- "es_libs",
|
||||
- "inputs",
|
||||
- ])
|
||||
+ forward_variables_from(invoker, ["deps", "es_target", "es_libs", "inputs"])
|
||||
|
||||
sources = [ _copy_output_file_name ]
|
||||
|
||||
rootdir = target_gen_dir
|
||||
|
||||
public_deps = [ ":$_copy_target_name" ]
|
||||
+
|
||||
}
|
||||
|
||||
bundle(_bundle_target_name) {
|
||||
@@ -197,9 +186,6 @@
|
||||
node_action(target_name) {
|
||||
script = "scripts/build/ninja/generate-tsconfig.js"
|
||||
|
||||
- # Expose ts files to dependent targets.
|
||||
- public_inputs = [ invoker.entrypoint ]
|
||||
-
|
||||
args = [
|
||||
rebase_path(_generated_tsconfig_location, root_build_dir),
|
||||
rebase_path(invoker.entrypoint, root_build_dir),
|
||||
diff --git a/scripts/build/ninja/devtools_pre_built.gni b/scripts/build/ninja/devtools_pre_built.gni
|
||||
index 1f38b18..3d76a75 100644
|
||||
--- a/scripts/build/ninja/devtools_pre_built.gni
|
||||
+++ b/scripts/build/ninja/devtools_pre_built.gni
|
||||
@@ -17,9 +17,6 @@
|
||||
|
||||
public_deps = invoker.deps
|
||||
|
||||
- # Expose ts files to dependent targets.
|
||||
- public_inputs = filter_include(sources, [ "*.ts" ])
|
||||
-
|
||||
_copy_src = rebase_path(get_path_info(target_name, "dir"), root_build_dir)
|
||||
_copy_dest = rebase_path(target_gen_dir, root_build_dir)
|
||||
|
||||
diff --git a/scripts/build/typescript/typescript.gni b/scripts/build/typescript/typescript.gni
|
||||
index b0d1367..a6f4c04 100644
|
||||
--- a/scripts/build/typescript/typescript.gni
|
||||
+++ b/scripts/build/typescript/typescript.gni
|
||||
@@ -207,17 +207,6 @@
|
||||
output_files = [ "$target_gen_dir/$target_name-tsconfig.json" ]
|
||||
|
||||
if (defined(sources)) {
|
||||
- # Expose ts files to dependent targets.
|
||||
- public_inputs =
|
||||
- filter_include(sources,
|
||||
- [
|
||||
- "*.ts",
|
||||
-
|
||||
- # TODO: Migrate the files below to TypeScript
|
||||
- # and remove them from this list.
|
||||
- "*ahem.js",
|
||||
- ])
|
||||
-
|
||||
args += [ "--sources" ] + rebase_path(sources, root_build_dir)
|
||||
|
||||
foreach(src, sources) {
|
||||
@@ -0,0 +1,62 @@
|
||||
From 5ebe0b53a5f4a33faf138191b254a7d4a5285a5f Mon Sep 17 00:00:00 2001
|
||||
From: LN Liberda <[email protected]>
|
||||
Date: Thu, 27 Aug 2026 08:13:35 +0200
|
||||
Subject: [PATCH] unbundle/minizip: Ignore Unicode Path Extra Field
|
||||
|
||||
The fields come from chromium's patches on minizip
|
||||
---
|
||||
third_party/zlib/google/zip_reader.cc | 34 +--------------------------
|
||||
1 file changed, 1 insertion(+), 33 deletions(-)
|
||||
|
||||
diff --git a/third_party/zlib/google/zip_reader.cc b/third_party/zlib/google/zip_reader.cc
|
||||
index 7b5b28967cfbb..2054e3c09e419 100644
|
||||
--- a/third_party/zlib/google/zip_reader.cc
|
||||
+++ b/third_party/zlib/google/zip_reader.cc
|
||||
@@ -314,32 +314,6 @@ bool ZipReader::OpenEntry() {
|
||||
bool physical_path_is_directory = false;
|
||||
bool physical_path_is_unsafe = false;
|
||||
|
||||
- // If an Info-ZIP Unicode Path Extra Field is present, the physical Central
|
||||
- // Directory path is about to be overridden. Decode and normalize it now into
|
||||
- // `entry_.physical_path` so consumers (e.g. Safe Browsing) can still see the
|
||||
- // name that other tools (e.g. Windows Explorer) would use for extraction.
|
||||
- if (info.size_utf8_filename > 0) {
|
||||
- std::u16string physical_path_in_utf16;
|
||||
- if (!base::CodepageToUTF16(entry_.path_in_original_encoding,
|
||||
- configured_encoding,
|
||||
- base::OnStringConversionError::SUBSTITUTE,
|
||||
- &physical_path_in_utf16)) {
|
||||
- LOG(ERROR) << "Cannot convert path from encoding " << configured_encoding;
|
||||
- return false;
|
||||
- }
|
||||
- // Normalize() stores the normalized result in entry_.path; copy it before
|
||||
- // applying the Unicode Path Extra Field below.
|
||||
- Normalize(physical_path_in_utf16);
|
||||
- entry_.physical_path = entry_.path;
|
||||
- physical_path_is_directory = entry_.is_directory;
|
||||
- physical_path_is_unsafe = entry_.is_unsafe;
|
||||
-
|
||||
- // Use the Info-ZIP Unicode Path Extra Field if present.
|
||||
- DCHECK(info.utf8_filename[info.size_utf8_filename] == '\0');
|
||||
- entry_.path_in_original_encoding = info.utf8_filename;
|
||||
- entry_path_encoding = base::kCodepageUTF8;
|
||||
- }
|
||||
-
|
||||
// Convert path from original encoding to Unicode.
|
||||
std::u16string path_in_utf16;
|
||||
if (!base::CodepageToUTF16(entry_.path_in_original_encoding,
|
||||
@@ -353,13 +327,7 @@ bool ZipReader::OpenEntry() {
|
||||
// Normalize path.
|
||||
Normalize(path_in_utf16);
|
||||
|
||||
- if (info.size_utf8_filename > 0) {
|
||||
- // Treat an entry as a directory only if both names are directories;
|
||||
- // otherwise callers that analyze file entries should inspect it as a file.
|
||||
- entry_.is_directory = entry_.is_directory && physical_path_is_directory;
|
||||
- // Treat an entry as unsafe if either name is unsafe.
|
||||
- entry_.is_unsafe = entry_.is_unsafe || physical_path_is_unsafe;
|
||||
- } else {
|
||||
+ {
|
||||
// In the common case (no Unicode Path Extra Field) the physical path
|
||||
// matches the effective path.
|
||||
entry_.physical_path = entry_.path;
|
||||
@@ -0,0 +1,22 @@
|
||||
From 47459e81cbfc542aca5a4493dba8457fe11f7108 Mon Sep 17 00:00:00 2001
|
||||
From: LN Liberda <[email protected]>
|
||||
Date: Thu, 27 Aug 2026 20:27:03 +0200
|
||||
Subject: [PATCH] unbundle/opus: add missing dep on opus in
|
||||
devtools_media_encoding_service
|
||||
|
||||
---
|
||||
content/services/devtools_media_encoding_service/BUILD.gn | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/content/services/devtools_media_encoding_service/BUILD.gn b/content/services/devtools_media_encoding_service/BUILD.gn
|
||||
index ce2b615256d36..ef222ca3597c2 100644
|
||||
--- a/content/services/devtools_media_encoding_service/BUILD.gn
|
||||
+++ b/content/services/devtools_media_encoding_service/BUILD.gn
|
||||
@@ -18,6 +18,7 @@ source_set("devtools_media_encoding_service") {
|
||||
"//media/mojo/common",
|
||||
"//media/mojo/mojom",
|
||||
"//mojo/public/cpp/bindings",
|
||||
+ "//third_party/opus",
|
||||
"//ui/gfx/geometry",
|
||||
]
|
||||
|
||||
@@ -0,0 +1,278 @@
|
||||
--- a/components/cbor/BUILD.gn
|
||||
+++ b/components/cbor/BUILD.gn
|
||||
@@ -12,7 +12,7 @@
|
||||
# TODO(crbug.com/535682335): Remove `USE_CBOR_RUST` buildflag entirely,
|
||||
# unconditionally enable Rust CBOR parser, and drop `is_cronet_build` check
|
||||
# once Cronet supports Crubit dependencies.
|
||||
- flags = [ "USE_CBOR_RUST=!$is_cronet_build" ]
|
||||
+ flags = [ "USE_CBOR_RUST=$enable_cpp_api_from_rust" ]
|
||||
}
|
||||
|
||||
component("cbor") {
|
||||
@@ -37,7 +37,7 @@
|
||||
"//base",
|
||||
]
|
||||
|
||||
- if (!is_cronet_build) {
|
||||
+ if (enable_cpp_api_from_rust) {
|
||||
public_deps = [
|
||||
"//build/rust/crubit",
|
||||
"//components/cbor/rust:cbor_rust_bindings",
|
||||
@@ -63,7 +63,7 @@
|
||||
"//testing/gtest",
|
||||
"//third_party/fuzztest",
|
||||
]
|
||||
- if (!is_cronet_build) {
|
||||
+ if (enable_cpp_api_from_rust) {
|
||||
deps += [ "//components/cbor/rust:cbor_rust_unittests" ]
|
||||
}
|
||||
|
||||
|
||||
--- b/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ a/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -186,6 +186,18 @@
|
||||
]
|
||||
}
|
||||
|
||||
+rust_static_library("font_format_check") {
|
||||
+ allow_unsafe = true # Needed for FFI that underpins the `cxx` crate.
|
||||
+ crate_root = "fonts/opentype/format_check.rs"
|
||||
+ sources = [ crate_root ]
|
||||
+ cxx_bindings = [ crate_root ]
|
||||
+ deps = [
|
||||
+ "//third_party/rust/font_types/v0_12:lib",
|
||||
+ "//third_party/rust/read_fonts/v0_41:lib",
|
||||
+ "//third_party/rust/skrifa/v0_44:lib",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
rust_static_library("rustfft_ffi") {
|
||||
allow_unsafe = true # Needed for FFI that underpins the `cxx` crate.
|
||||
crate_root = "audio/rustfft_ffi.rs"
|
||||
@@ -1794,7 +1806,6 @@
|
||||
":allow_discouraged_type",
|
||||
":blink_platform_public_deps",
|
||||
":platform_export",
|
||||
- "//build/rust/crubit",
|
||||
"//gpu/command_buffer/client:raster_interface",
|
||||
"//media/capture:capture_lib",
|
||||
"//mojo/public/cpp/base",
|
||||
@@ -1821,8 +1832,8 @@
|
||||
"//ui/native_theme/features",
|
||||
]
|
||||
deps = [
|
||||
+ ":font_format_check",
|
||||
":rustfft_ffi",
|
||||
- "fonts:font_format_bindings",
|
||||
"//base:base_static",
|
||||
"//base/allocator:buildflags",
|
||||
"//build:chromecast_buildflags",
|
||||
--- b/third_party/blink/renderer/platform/fonts/BUILD.gn
|
||||
+++ /dev/null
|
||||
@@ -1,19 +0,0 @@
|
||||
-# Copyright 2026 The Chromium Authors
|
||||
-# Use of this source code is governed by a BSD-style license that can be
|
||||
-# found in the LICENSE file.
|
||||
-
|
||||
-import("//build/rust/rust_static_library.gni")
|
||||
-
|
||||
-rust_static_library("font_format") {
|
||||
- crate_root = "opentype/format_check.rs"
|
||||
- sources = [ crate_root ]
|
||||
- cpp_api_from_rust = {
|
||||
- target_name = "font_format_bindings"
|
||||
- cpp_namespace = "font_format"
|
||||
- }
|
||||
- deps = [
|
||||
- "//third_party/rust/font_types/v0_12:lib",
|
||||
- "//third_party/rust/read_fonts/v0_41:lib",
|
||||
- "//third_party/rust/skrifa/v0_44:lib",
|
||||
- ]
|
||||
-}
|
||||
--- b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
|
||||
+++ a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "base/containers/span.h"
|
||||
#include "base/containers/span_rust.h"
|
||||
#include "base/numerics/byte_conversions.h"
|
||||
+#include "third_party/blink/renderer/platform/fonts/opentype/format_check.rs.h"
|
||||
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/vector.h"
|
||||
#include "third_party/skia/include/core/SkTypeface.h"
|
||||
@@ -14,37 +15,35 @@
|
||||
namespace blink {
|
||||
|
||||
FontFormatCheck::FontFormatCheck(sk_sp<SkData> sk_data)
|
||||
+ : format_info_(font_format_check::get_font_format_info(
|
||||
- : format_info_(font_format::get_font_format_info(
|
||||
base::SpanToRustSlice(sk_data->byteSpan()))) {}
|
||||
|
||||
-FontFormatCheck::~FontFormatCheck() = default;
|
||||
-
|
||||
bool FontFormatCheck::IsVariableFont() const {
|
||||
+ return font_format_check::is_variable(*format_info_);
|
||||
- return font_format::is_variable(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsCbdtCblcColorFont() const {
|
||||
+ return font_format_check::is_cbdt_cblc(*format_info_);
|
||||
- return font_format::is_cbdt_cblc(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsEbdtEblcMonochromeFont() const {
|
||||
+ return font_format_check::is_ebdt_eblc(*format_info_);
|
||||
- return font_format::is_ebdt_eblc(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsColrCpalColorFontV0() const {
|
||||
+ return font_format_check::is_colrv0(*format_info_);
|
||||
- return font_format::is_colrv0(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsColrCpalColorFontV1() const {
|
||||
+ return font_format_check::is_colrv1(*format_info_);
|
||||
- return font_format::is_colrv1(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsSbixColorFont() const {
|
||||
+ return font_format_check::is_sbix(*format_info_);
|
||||
- return font_format::is_sbix(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsCff2OutlineFont() const {
|
||||
+ return font_format_check::is_cff2(*format_info_);
|
||||
- return font_format::is_cff2(format_info_);
|
||||
}
|
||||
|
||||
bool FontFormatCheck::IsVariableColrV0Font() const {
|
||||
@@ -58,7 +57,7 @@
|
||||
|
||||
bool FontFormatCheck::IsAvar2Font() const {
|
||||
return RuntimeEnabledFeatures::FontFormatAvar2Enabled() &&
|
||||
+ font_format_check::is_avar2(*format_info_);
|
||||
- font_format::is_avar2(format_info_);
|
||||
}
|
||||
|
||||
FontFormatCheck::VariableFontSubType FontFormatCheck::ProbeVariableFont(
|
||||
--- b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.h
|
||||
+++ a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.h
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_OPENTYPE_FONT_FORMAT_CHECK_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_OPENTYPE_FONT_FORMAT_CHECK_H_
|
||||
|
||||
+#include "third_party/blink/renderer/platform/fonts/opentype/format_check.rs.h"
|
||||
-#include "third_party/blink/renderer/platform/fonts/font_format.h"
|
||||
#include "third_party/blink/renderer/platform/platform_export.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
|
||||
#include "third_party/skia/include/core/SkData.h"
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
public:
|
||||
explicit FontFormatCheck(sk_sp<SkData>);
|
||||
+ virtual ~FontFormatCheck() = default;
|
||||
- virtual ~FontFormatCheck();
|
||||
virtual bool IsVariableFont() const;
|
||||
virtual bool IsCbdtCblcColorFont() const;
|
||||
virtual bool IsEbdtEblcMonochromeFont() const;
|
||||
@@ -46,7 +46,7 @@
|
||||
enum class COLRVersion { kCOLRV0, kCOLRV1, kNoCOLR };
|
||||
|
||||
private:
|
||||
+ rust::Box<font_format_check::FontFormatInfo> format_info_;
|
||||
- font_format::FontFormatInfo format_info_;
|
||||
};
|
||||
|
||||
} // namespace blink
|
||||
--- b/third_party/blink/renderer/platform/fonts/opentype/format_check.rs
|
||||
+++ a/third_party/blink/renderer/platform/fonts/opentype/format_check.rs
|
||||
@@ -23,7 +23,7 @@
|
||||
format_flags: Option<FontFormatFlags>,
|
||||
}
|
||||
|
||||
+pub fn get_font_format_info(font_bytes: &[u8]) -> Box<FontFormatInfo> {
|
||||
-pub fn get_font_format_info(font_bytes: &[u8]) -> FontFormatInfo {
|
||||
let file_ref = make_font_ref_internal(font_bytes, 0);
|
||||
|
||||
match file_ref {
|
||||
@@ -32,11 +32,11 @@
|
||||
font.table_directory().table_records().iter().map(|e| e.tag()).collect();
|
||||
let color_version = get_colr_version(&font);
|
||||
let avar_version = get_avar_version(&font);
|
||||
+ Box::new(FontFormatInfo {
|
||||
- FontFormatInfo {
|
||||
format_flags: Some(FontFormatFlags { table_tags, color_version, avar_version }),
|
||||
+ })
|
||||
- }
|
||||
}
|
||||
+ _ => Box::new(FontFormatInfo::default()),
|
||||
- _ => FontFormatInfo::default(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
Some(font_ref.colr().ok()?.version())
|
||||
}
|
||||
|
||||
+fn is_colrv1(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_colrv1(format_info: &FontFormatInfo) -> bool {
|
||||
matches!(&format_info.format_flags, Some(FontFormatFlags { color_version: Some(1), .. }),)
|
||||
}
|
||||
+fn is_colrv0(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_colrv0(format_info: &FontFormatInfo) -> bool {
|
||||
matches!(&format_info.format_flags, Some(FontFormatFlags { color_version: Some(0), .. }),)
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
Some((version.major, version.minor))
|
||||
}
|
||||
|
||||
+fn is_avar2(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_avar2(format_info: &FontFormatInfo) -> bool {
|
||||
matches!(&format_info.format_flags, Some(FontFormatFlags { avar_version: Some((2, _)), .. }),)
|
||||
}
|
||||
|
||||
@@ -69,22 +69,39 @@
|
||||
}
|
||||
}
|
||||
|
||||
+fn is_variable(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_variable(format_info: &FontFormatInfo) -> bool {
|
||||
has_tags(format_info, &[Tag::new(b"fvar")])
|
||||
}
|
||||
|
||||
+fn is_sbix(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_sbix(format_info: &FontFormatInfo) -> bool {
|
||||
has_tags(format_info, &[Tag::new(b"sbix")])
|
||||
}
|
||||
|
||||
+fn is_cbdt_cblc(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_cbdt_cblc(format_info: &FontFormatInfo) -> bool {
|
||||
has_tags(format_info, &[Tag::new(b"CBDT"), Tag::new(b"CBLC")])
|
||||
}
|
||||
|
||||
+fn is_ebdt_eblc(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_ebdt_eblc(format_info: &FontFormatInfo) -> bool {
|
||||
has_tags(format_info, &[Tag::new(b"EBDT"), Tag::new(b"EBLC")])
|
||||
}
|
||||
|
||||
+fn is_cff2(format_info: &FontFormatInfo) -> bool {
|
||||
-pub fn is_cff2(format_info: &FontFormatInfo) -> bool {
|
||||
has_tags(format_info, &[Tag::new(b"CFF2")])
|
||||
}
|
||||
+
|
||||
+#[cxx::bridge(namespace = "font_format_check")]
|
||||
+pub mod ffi {
|
||||
+ extern "Rust" {
|
||||
+ type FontFormatInfo;
|
||||
+
|
||||
+ fn get_font_format_info(font_bytes: &[u8]) -> Box<FontFormatInfo>;
|
||||
+ fn is_colrv1(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_colrv0(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_cbdt_cblc(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_ebdt_eblc(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_variable(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_sbix(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_cff2(format_info: &FontFormatInfo) -> bool;
|
||||
+ fn is_avar2(format_info: &FontFormatInfo) -> bool;
|
||||
+ }
|
||||
+}
|
||||
@@ -0,0 +1,17 @@
|
||||
Use the system python3 instead of the hermetic cpython3 interpreter, which
|
||||
is not shipped in the tarball and is not needed when building against system
|
||||
tools.
|
||||
|
||||
Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3946
|
||||
|
||||
--- a/.gn
|
||||
+++ b/.gn
|
||||
@@ -9,7 +9,7 @@
|
||||
buildconfig = "//build/config/BUILDCONFIG.gn"
|
||||
|
||||
# The hermetic Python interpreter to use by default.
|
||||
-script_executable = "//third_party/cpython3/host/bin/python3"
|
||||
+script_executable = "python3"
|
||||
|
||||
# These arguments override the default values for items in a declare_args
|
||||
# block. "gn args" in turn can override these.
|
||||
@@ -0,0 +1,76 @@
|
||||
third_party/iamf_tools (new in 153) includes the vendored copy of Opus via
|
||||
relative "include/opus.h"-style paths that only resolve when
|
||||
//third_party/opus/src is the real bundled Opus checkout. With Opus
|
||||
unbundled (system libopus via build/linux/unbundle/opus.gn's shim_headers
|
||||
target), that directory doesn't contain a real "include/" subtree, so the
|
||||
compile fails with:
|
||||
|
||||
fatal error: 'include/opus.h' file not found
|
||||
|
||||
Use the same full "third_party/opus/src/include/..." style path that other
|
||||
in-tree consumers (e.g. third_party/opus/tests/opus_benchmark.cc) use, which
|
||||
resolves correctly against both the shim headers and a real bundled Opus
|
||||
checkout, since root src is always on the include path.
|
||||
|
||||
--- a/third_party/iamf_tools/src/iamf/cli/codec/opus_decoder.cc
|
||||
+++ b/third_party/iamf_tools/src/iamf/cli/codec/opus_decoder.cc
|
||||
@@ -30,8 +30,8 @@
|
||||
#include "iamf/obu/decoder_config/opus_decoder_config.h"
|
||||
#include "iamf/obu/substream_channel_count.h"
|
||||
#include "iamf/obu/types.h"
|
||||
-#include "include/opus.h"
|
||||
-#include "include/opus_types.h"
|
||||
+#include "third_party/opus/src/include/opus.h"
|
||||
+#include "third_party/opus/src/include/opus_types.h"
|
||||
|
||||
namespace iamf_tools {
|
||||
|
||||
--- a/third_party/iamf_tools/src/iamf/cli/codec/opus_decoder.h
|
||||
+++ b/third_party/iamf_tools/src/iamf/cli/codec/opus_decoder.h
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "iamf/cli/codec/decoder_base.h"
|
||||
#include "iamf/obu/decoder_config/opus_decoder_config.h"
|
||||
#include "iamf/obu/substream_channel_count.h"
|
||||
-#include "include/opus.h"
|
||||
+#include "third_party/opus/src/include/opus.h"
|
||||
|
||||
namespace iamf_tools {
|
||||
|
||||
--- a/third_party/iamf_tools/src/iamf/cli/codec/opus_encoder.cc
|
||||
+++ b/third_party/iamf_tools/src/iamf/cli/codec/opus_encoder.cc
|
||||
@@ -32,9 +32,9 @@
|
||||
#include "iamf/common/utils/validation_utils.h"
|
||||
#include "iamf/obu/decoder_config/opus_decoder_config.h"
|
||||
#include "iamf/obu/substream_channel_count.h"
|
||||
-#include "include/opus.h"
|
||||
-#include "include/opus_defines.h"
|
||||
-#include "include/opus_types.h"
|
||||
+#include "third_party/opus/src/include/opus.h"
|
||||
+#include "third_party/opus/src/include/opus_defines.h"
|
||||
+#include "third_party/opus/src/include/opus_types.h"
|
||||
|
||||
namespace iamf_tools {
|
||||
|
||||
--- a/third_party/iamf_tools/src/iamf/cli/codec/opus_encoder.h
|
||||
+++ b/third_party/iamf_tools/src/iamf/cli/codec/opus_encoder.h
|
||||
@@ -22,8 +22,8 @@
|
||||
#include "iamf/obu/codec_config.h"
|
||||
#include "iamf/obu/decoder_config/opus_decoder_config.h"
|
||||
#include "iamf/obu/substream_channel_count.h"
|
||||
-#include "include/opus.h"
|
||||
-#include "include/opus_defines.h"
|
||||
+#include "third_party/opus/src/include/opus.h"
|
||||
+#include "third_party/opus/src/include/opus_defines.h"
|
||||
|
||||
namespace iamf_tools {
|
||||
|
||||
--- a/third_party/iamf_tools/src/iamf/cli/codec/opus_utils.cc
|
||||
+++ b/third_party/iamf_tools/src/iamf/cli/codec/opus_utils.cc
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "absl/status/status.h"
|
||||
#include "absl/strings/str_cat.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
-#include "include/opus_defines.h"
|
||||
+#include "third_party/opus/src/include/opus_defines.h"
|
||||
|
||||
namespace iamf_tools {
|
||||
@@ -0,0 +1,31 @@
|
||||
TypeScript became a build dependency (added in crrev.com/c/7861311, enabled in
|
||||
crrev.com/c/8104602). Work around it for a system build:
|
||||
|
||||
* Disable the native TypeScript compiler (tsgo) for the WebUI; the JS-based
|
||||
compiler bundled with the checkout still works.
|
||||
* DevTools already removed that flag (crrev.com/c/8193297), so point its
|
||||
typescript.py helper at the system tsc binary (from the 'typescript' package).
|
||||
|
||||
Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3946
|
||||
|
||||
--- a/ui/webui/webui_features.gni
|
||||
+++ b/ui/webui/webui_features.gni
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
# Enable the native TypeScript compiler (tsgo) instead of the JS-based one.
|
||||
# TODO(crbug.com/423789047): Remove this flag once fully committed to v7.
|
||||
- use_typescript_go = true
|
||||
+ use_typescript_go = false
|
||||
}
|
||||
|
||||
if (enable_cast_receiver || is_cast_android || is_castos) {
|
||||
--- a/third_party/devtools-frontend/src/third_party/typescript/typescript.py
|
||||
+++ b/third_party/devtools-frontend/src/third_party/typescript/typescript.py
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
|
||||
def GetBinaryPath():
|
||||
+ return "/usr/bin/tsc"
|
||||
if platform.machine() == 'arm64':
|
||||
darwin_path = 'mac-arm64'
|
||||
else:
|
||||
Reference in new issue
Block a user